@charset "utf-8";

/* ------------------------------
 リンク
------------------------------ */
a.cms_link, .cms_link a,
a.cms_inner_blank, .cms_inner_blank a,
a.cms_pdf, .cms_pdf a {
	color: #0f8970;
}
.cms_text > a {
	color: #0f8970;
	text-decoration: underline;
	margin-right: 10px;
}
p.cms_link:not(.btn) > a,
a.cms_pdf, .cms_pdf a,
.cms_text > a[target="_blank"].link {
	display: inline-block;
	font-weight: bold;
    margin-left: 27px;
    text-indent: -27px;
	text-decoration: none;
}
p.cms_link:not(.btn) > a::before,
p.cms_pdf > a::before,
.cms_text > a[target="_blank"].link::before {
	content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
	background: url(../img/icon_link.svg) no-repeat center / cover;
    margin-right: 10px;
    vertical-align: middle;
    margin-bottom: 4px;
}
.cms_pdf a[target="_blank"]::after,
a.cms_pdf::after {
	content: "";
    display: inline-block;
    width: 18px;
    height: 20px;
	vertical-align: middle;
    background: url(../img/icon_pdf.svg) no-repeat;
	margin-left: 5px;
    margin-bottom: 2px;
}
.cms_block > p + p:not(.fl, .fr) {
    margin-top: 5px;
}
.cms_block > p + p.btn:not(.fl, .fr) {
    margin-top: 15px;
}
a[target="_blank"]::after {
	content: "";
	display: inline-block;
	width: 11px;
	height: 10px;
	vertical-align: middle;
	background: url(../img/icon_blank_g.svg) no-repeat;
	margin-left: 5px;
}
.cms_text > a[target="_blank"].link {
	text-decoration: none;
}
/* ------------------------------
 スマホ用コード
------------------------------ */
@media screen and (max-width: 767px) {
	a::before {
		width: 19px;
		height: 19px;
	}
    p.cms_link:not(.btn) > a::before,
    p.cms_pdf > a::before {
        margin-right: 5px;
    }
	p.cms_link:not(.btn) > a, a.cms_pdf, .cms_pdf a {
		text-indent: -22px;
		margin-left: 22px;
	}
}

a.cms_doc,
.cms_doc a {
	color: #0f8970;
}
.cms_ppt {
	color: #0f8970;
}
.cms_xls {
	color: #0f8970;
}

.cms_pdf a.cms_blank ,
.cms_doc a.cms_blank ,
.cms_ppt a.cms_blank ,
.cms_xls a.cms_blank {
    background: none;
}

.cms_inner_blank:after,
.cms_blank:after,
.cms_menu_blank:after {
}
br + .cms_inner_blank.cms_link,
br + .cms_blank.cms_link {
	padding-left: 0;
}
br + .cms_inner_blank.cms_link:before,
br + .cms_blank.cms_link:before {
	display: none;
}
/* ----------------------------------------------
	■回り込み
------------------------------------------------- */

* + .cms_cf,
.cms_block:after,
.cms_clear_before {
    display: block;
    clear: both;
    content: '';
}

.cms_cf:after {
    display: block;
    clear: both;
    content: '';
}

.cms_clear {
    clear: both;
}

.cms_clear_block {
    font-size: 0 !important;
    line-height: 0 !important;
    clear: both !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

/* ----------------------------------------------
	■マージン
------------------------------------------------- */
.cms_block {
	margin-bottom: 80px;
	margin-left: auto;
	margin-right: auto;
}

.cms_block:last-child,
.cms_text:last-child,
.cms_image:last-child  {
	margin-bottom: 0;
}

.cms_image {
	margin-bottom: 40px;
}

.cms_text {
	margin-bottom: 40px;
	/* overflow: hidden; */
}

.cms_fl {
	margin-right: 24px;
	float: left;
}
.cms_fr {
	margin-left: 24px;
	float: right;
}

.cms_caption_t {
	margin-bottom: 10px;
}

.cms_caption_b {
	margin-top: 10px;
}

.fl+
.fr,
.cms_fl+
.cms_fr {
    margin-left: 0;
}
.cms_cf+
.cms_cf {
    margin-top: -.75em;
}

.cms_text p + p {
    margin-top: .8em;
}


/* ----------------------------------------------
	■配置
------------------------------------------------- */
.cms_center {
    text-align: center;
}
.cms_left {
    text-align: left;
}
.cms_right {
    text-align: right;
}

.cms_center .cms_caption_b,
.tal .cms_caption_b {
    text-align: left;
}
.tac .cms_caption_b {
    text-align: center !important;
}
.tar .cms_caption_b {
    text-align: right !important;
}


/* ----------------------------------------------
	■PDFダウンロード
------------------------------------------------- */
.adobebox {
    padding: 25px 28px;
    border: solid 1px #dcdcdc;
}

.adobebox .tleft {
    overflow: hidden;
    /*
	width: 495px;
	float: left;
*/
}
.adobebox .imgright {
    float: right;
    width: 115px;
    margin-left: 10px;
}

/* -------------------------------------------
	■now loading
---------------------------------------------- */
#now_loading {
    z-index: 9998;
    width: 60px;
    height: 60px;
    padding: 10px;
    padding: 10px;
    opacity: .75;
    border-radius: 15px;
    background-color: #e0e0e0;
}

#now_loading img {
    width: 100%;
    height: 100%;
}


/* ------------------------------
 タブレット・スマホ用コード
------------------------------ */

@media screen and (max-width: 767px) {
	.cms_block {
		margin-bottom: 40px;
		z-index: 2;
	}
	
	.cms_image {
		text-align: center;
		margin-bottom: 25px;
	}

	.cms_text {
		margin-bottom: 25px;
	}
	.cms_fl {
	    float: none !important;
	    margin-right: 0;
	    margin-bottom: 15px;
	}
	.cms_fr {
	    float: none !important;
	    margin-bottom: 15px;
	    margin-left: 0;
	}
	#now_loading {
	    width: 40px;
	    height: 40px;
	}
}

@media screen and (max-width:640px) {
    #now_loading img {
        margin-left: 0 !important;
    }

    #now_loading {
        position: fixed;
        top: 50%;
        left: 50%;
        z-index: 9998;
        width: 75px;
        height: 75px;
        margin: 0 0 0 -13%;
        padding-top: 10px;
        padding-right: 7px;
        padding-left: 7px !important;
        opacity: .5;
        border-radius: 15px;
        background-color: #e0e0e0;
    }
}
