@charset "utf-8";



/*//////////////////

#top・wp・contact構築時に欲しいパーツ集

必要最低限なパーツのみ残しています。
下層展開構築時のパーツは適宜チップスから取得し追加してください。

//////////////////*/


.txtlink{ font-size: 2.4rem; padding-right: 45px; position: relative; display: inline-block; color: #0053a4; letter-spacing: 0.1em; font-weight: bold; line-height: 1.6; }
.txtlink::before{ content: ""; background: url(../img/common/arr_blue.svg) no-repeat; background-size: contain; width: 34px; height: 34px; display: inline-block; position: absolute; top: -5px; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; transition: .4s; }
.txtlink:hover{ letter-spacing: 0.2em }
.txtlink::after { content: ""; height: 2px; font-size: 0; background: #0053a4; width: 0; text-align: center; display: inline-block; position: absolute; left: 50%; bottom: -10px; transition: 0.4s;}
.txtlink:hover::after { width: 100%; left: 0; }
.txtlink._white{ color: #fff; }
.txtlink._white::before{ background: url(../img/common/arr_white.svg) no-repeat; background-size: contain; }
.txtlink._white::after{ background: #fff; }
@media screen and (max-width: 1040px){
	.txtlink{ font-size: 2rem; padding-right: 40px; }
	.txtlink::before{ width: 30px; height: 30px; }
}
@media screen and (max-width: 767px){
	.txtlink::before{ width: 32px; height: 32px; top: -3px; }
	.txtlink:hover::after { display:none; }
}
@media screen and (max-width: 380px){
	.txtlink{ letter-spacing: 0.1em; }
}


.topsectitle{ line-height: 1.6; margin-bottom: 30px; text-align: center; }
.topsectitle .en{ font-size: 6rem; color: #0053a4; letter-spacing: 0.2em; font-weight: bold; }
.topsectitle .jn{ font-weight: bold; font-size: 1.8rem; margin-top: -15px; }
#about .topsectitle,
#service .topsectitle{ margin-bottom: 50px; }
@media screen and (max-width: 1040px){
	.topsectitle .en{ font-size: 5rem; }
}
@media screen and (max-width: 767px){
	#about .topsectitle,
	#service .topsectitle{ margin-bottom: 30px; }
	.topsectitle .en{ font-size: 4rem; line-height: 1; }
	.topsectitle .jn{ font-size: 1.6rem; margin-top: 5px; }
}
@media screen and (max-width: 500px){
	.topsectitle .en{ font-size: 3rem; letter-spacing: .1em; }
}

.copy{ font-weight: bold; font-size: 2.4rem; color: #0053a4; line-height: 1.6; margin-bottom: 15px; letter-spacing: .2em;}
.boxtitle{ font-weight: bold; font-size: 3.6rem; color: #0053a4; line-height: 1.8; margin-bottom: 15px; }
body:not(#index) .boxtitle{ margin-bottom: 30px; line-height: 1.4; letter-spacing: .2em;}
@media screen and (max-width: 1200px){
	.boxtitle{ font-size: 3.4rem; }
}
@media screen and (max-width: 1040px){
	.boxtitle{ font-size: 2.8rem; }
}
@media screen and (max-width: 767px){
	.copy{ font-size: 2rem; margin-bottom: 20px; text-align: justify;letter-spacing: .2em;}
	.boxtitle{ font-size: 2.4rem; }
}
@media screen and (max-width: 500px){
	.boxtitle{ font-size: 2rem; }
}

.newslist li{ position: relative; }
.newslist li dl{ display: flex; flex-direction: row; }
.newslist li dl>dd{ flex-shrink: 0; width: 120px; padding-top: 2px }
.date{ letter-spacing: 0.2em; color: #0053a4; font-weight: bold;  }
.newslist li dl>dt>a{ text-decoration: none; }
.newslist li dl>dt>a:hover{ color: #0053a4 }

.undernewslist{ border-top: 1px solid #0053a4; position: relative; }
.undernewslist:before{ content: ""; display: inline-block; background: #0053a4; width: 110px; height: 2px; position: absolute; top: -2px; left: 0; }
.undernewslist li{ position: relative;  padding-top: 25px; padding-bottom: 25px; border-bottom: 1px solid #0053a4; }
.undernewslist li:before{ content: ""; display: inline-block; background: #0053a4; width: 110px; height: 2px; position: absolute; bottom: -1px; left: 0; }
.undernewslist li dl{ display: flex; flex-direction: row; }
.undernewslist li dl>dd{ flex-shrink: 0; width: 120px; padding-top: 2px }
.undernewslist li dl>dt>a{ text-decoration: none; }
.undernewslist li dl>dt>a:hover{ color: #0053a4 }
@media screen and (max-width: 1040px){
	.newslist li{ margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #0053a4; }
	.newslist li:last-child{ margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
	.newslist li dl{ display: block; }
	.newslist li dl>dd{  width: 100%; padding-top: 0; }
}
@media screen and (max-width: 767px){
	.undernewslist:before,
	.undernewslist li:before{ width: 100px; }
	.undernewslist li{ padding-top: 20px; padding-bottom: 20px; }
	.undernewslist li dl{ display: block; }
	.undernewslist li dl>dd{ width: 100%; padding-top: 0 }
}

.notelist{ overflow: hidden; }
.notelist>ul{ display: flex; flex-direction: row; flex-wrap: wrap; margin-left: -25px; margin-bottom: -20px; }
.notelist>ul>li{ margin-left: 30px; margin-bottom: 20px; width: calc(33.33% - 30px); }
.notelist>ul>li>.inwrap{ display: flex; flex-direction: row; min-height: 150px; height: 100%; }
.notelist>ul>li>.inwrap .imgbox{ flex-shrink: 0; max-width: 150px; width: 40%; margin-right: 25px; position: relative; overflow: hidden; }
.notelist>ul>li>.inwrap .imgbox:before{ content: ""; display: block; padding-top: 100%; }
.notelist>ul>li>.inwrap .imgbox img{ transition: .4s; transform: scale(1);position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover; }
.notelist>ul>li>.inwrap .txtbox{ padding-top: 15px; padding-bottom: 15px; display: flex; flex-direction: column; justify-content: center; }
.notelist>ul>li>.inwrap .txtbox .title{ line-height: 1.8; text-align: left; transition: .4s; }
.notelist>ul>li>.inwrap .txtbox .cat{ color: #999; font-size: 1.4rem; margin-top: 5px; }
.notelist>ul>li>.inwrap:hover .imgbox img{ transform: scale(1.04); }
.notelist>ul>li>.inwrap:hover .txtbox .title{ color: #0053a4; }
body:not(#index) .notelist>ul{ display: block; margin-left: 0;  }
body:not(#index) .notelist>ul>li{ margin-left: 0; width: 100%; }
body:not(#index) .notelist>ul>li>.inwrap .txtbox{ padding-top: 5px; padding-bottom: 5px; }
@media screen and (max-width: 1500px){
	.notelist>ul>li{ width: calc(50% - 30px); }
}
@media screen and (max-width: 767px){
	.notelist>ul>li>.inwrap .txtbox{ padding-top: 5px; padding-bottom: 5px; }
}
@media screen and (max-width: 639px){
	.notelist>ul{ display: block; margin-left: 0;  }
	.notelist>ul>li{ margin-left: 0; width: 100%; }
}
@media screen and (max-width: 500px){
}

.keywordbox{ max-width: 600px; width: 100%; margin-left: auto; margin-right: auto; }
.keywordbox .taglist{ font-size: 1.8rem; }
.taglist{ text-align: center; margin-left: -20px;  }
.taglist>li{ display: inline-block; vertical-align: middle; margin-left: 20px; }
.taglist>li::before{ content: "#"; }
.taglist>li a:hover{ opacity: 0.7; }
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	.keywordbox .taglist{ font-size: 1.4rem; }
}
@media screen and (max-width: 500px){
}

.singleinfo{ margin-left: -20px; text-align: left; }
.singleinfo .date,
.singleinfo .cat,
.singleinfo .taglist{ display: inline-block; margin-left: 20px; }
.singleinfo .cat,
.singleinfo .taglist{ font-size: 1.4rem; color: #999; }
.singleinfo .taglist{ margin-left: 10px; }
.singleinfo .taglist li{ margin-left: 10px; }


.contactframe{ display: flex; flex-direction: row; }
.contactframe>li{ display: flex; flex-direction: column; padding: 100px 150px 70px; width: 50%; color: #fff; text-align: center; }
.contactframe>li:nth-child(1){ background: #0053a4; }
.contactframe>li:nth-child(2){ background: #0097d7; }
.contactframe>li .txt{ margin-bottom: 20px; }
.contactframe>li .title{ font-weight: bold; font-size: 2rem; margin-bottom: 15px; line-height: 1.8; }
.contactframe>li .boxtitle{ margin-bottom: 10px; }
.contactframe>li a.tel:hover{ color: #fff; }
@media screen and (max-width: 1350px){
	.contactframe>li{ padding: 100px 100px 70px; }
	.contactframe>li:nth-child(1){ width: 48%; flex-shrink: 0; }
	.contactframe>li:nth-child(2){ width: 100%; padding-right: 150px; }
}
@media screen and (max-width: 1200px){
	.contactframe>li{ padding: 90px 8% 80px; }
	.contactframe>li:nth-child(1){ width: 50%; flex-shrink: 0; }
	.contactframe>li:nth-child(2){ width: 50%; padding-right: 8%; }
}
@media screen and (max-width: 1040px){
	.contactframe{ display: block; }
	.contactframe>li{ display: block; width: 100%; padding: 70px 8% 60px }
	.contactframe>li:nth-child(1){ width: 100%; }
	.contactframe>li:nth-child(2){ width: 100%; }
	.contactframe>li .title{ font-size: 1.8rem; }
}
@media screen and (max-width: 767px){
	/*.contactframe>li .txt{ margin-bottom: 30px; }*/
}
@media screen and (max-width: 500px){
	.contactframe>li{ padding: 70px 8% 50px }
	.contactframe>li .txt { text-align: left; }
	.contactframe>li .txt br { display: none; }
	.contactframe>li .txt .inb{ display: inline; }
}

.contactlist>li{ margin-bottom: 20px; display: flex; justify-content: center; }
.contactlist>li:last-child{ margin-bottom: 0; }
.contactlist>li>.inwrap{ display: flex; flex-direction: row; justify-content: center; line-height: 1.8; }
.contactlist>li .icon{ flex-shrink: 0; padding-top: 8px; }
.contactlist>li .telbox .open{ margin-top: -10px; text-align: center; padding-right: 18px; }
.contactlist>li .contacttitle{ font-size: 3.6rem; letter-spacing: 0.2em; line-height: 1.4; text-align: left; padding-left: 20px; }
.contactlist>li>.tel .icon{ padding-top: 0px; }
.contactlist>li._tel .icon{ width: 42px; height: 42px; }
.contactlist>li._contact .icon{ width: 40px; height: 32px; padding-top: 3px; }
.contactlist>li._contact .mail_cls_1.cls_1{ transition: .4s; }
.contactlist>li._contact>a.inwrap:hover{ color: #0097d7; }
.contactlist>li._contact>a.inwrap:hover .mail_cls_1.cls_1{fill:#0097d7}
.contactlist>li._headmike .icon{ width: 60px; height: 58px;}
.contactlist>li._headmike .telbox .open{ margin-left: -10px; }
.contactlist._blue>li._contact>a.inwrap{ color: #0053a4; }
.contactlist._blue>li._contact .mail_cls_1.cls_1{ fill: #0053a4 }
.contactlist._blue>li._contact>a.inwrap:hover{ color: #0097d7; }
.contactlist._blue>li._contact>a.inwrap:hover .mail_cls_1.cls_1{fill:#0097d7}
@media screen and (max-width: 1200px){
	.contactlist>li .contacttitle{ font-size: 3.4rem; }
}
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	.contactlist>li{ margin-bottom: 20px; }
	.contactlist>li:last-child{ margin-bottom: 0; }
	.contactlist>li .contacttitle{ font-size: 3rem; padding-left: 15px; line-height: 1; }
	.contactlist>li._tel .icon{ width: 36px; height: 36px; }
	.contactlist>li._contact .icon{ width: 38px; height: 30px; padding-top: 0; }
	.contactlist>li._headmike .icon{ width: 54px; height: 52px;}
	.contactlist>li._headmike .telbox{ padding-top: 5px; }
}
@media screen and (max-width: 500px){
	.contactlist>li .contacttitle{ font-size: 2.6rem; padding-left: 10px; padding-top: 6px; }
	.contactlist>li._tel .icon{ width: 34px; height: 34px; }
	.contactlist>li._contact .icon{ width: 36px; height: 28px; }
	.contactlist>li._headmike .icon{ width: 52px; height: 64px;}
	.contactlist>li .telbox .open{ font-size: 1.2rem; margin-top: 0; }
}


.contactnumlist>.inwrap{ display: flex; flex-direction: row; overflow: hidden; }
.contactnumlist>.inwrap>li{ padding-left: 70px; width: calc(33.33% + 46.66px); position: relative; }
.contactnumlist>.inwrap>li::before{ content: ""; background: url(../img/common/arr_flow.svg) no-repeat; background-size: contain; width: 36px; height: 36px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 20px; transition: .4s; transform: rotate(-90deg); }
.contactnumlist>.inwrap>li:first-child{ padding-left: 0; }
.contactnumlist>.inwrap>li:first-child::before{ content:none; }
.contactnumlist>.inwrap>li>.inwrap{ background: #f7f7f7; padding: 30px 30px; box-sizing: border-box; display: flex; flex-direction: row; justify-content: center; align-items: center; color: #0053a4; line-height: 1.2; border: 1px solid #f7f7f7; }
.contactnumlist>.inwrap>li>.inwrap .num{ font-size: 3.6rem; padding-right: 45px; position: relative; letter-spacing: 0;display: flex; justify-content: center;padding-top: 10px;letter-spacing: 0.1em;font-weight: bold;}
.contactnumlist>.inwrap>li>.inwrap .num:after{ content: ""; background: #0053a4; width: 1px; height: 35px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 25px; }
.contactnumlist>.inwrap>li>.inwrap .title{ font-size: 1.8rem; font-weight: bold; }
.contactnumlist>.inwrap>li.current>.inwrap{ border: 1px solid #0053a4; background: #fff; }
@media screen and (max-width: 1400px){
	.contactnumlist>.inwrap>li>.inwrap{ padding: 20px 20px; }
	.contactnumlist>.inwrap>li>.inwrap .num{ font-size: 3rem; padding-right: 35px; }
	.contactnumlist>.inwrap>li>.inwrap .title{ font-size: 2rem; }
	.contactnumlist>.inwrap>li>.inwrap .num:after{ right: 18px; height: 25px; }
}
@media screen and (max-width: 1300px){
	.contactnumlist>.inwrap{ display: block; }
	.contactnumlist>.inwrap>li{ padding-left: 0; padding-top: 15px; width: 100%;}
	.contactnumlist>.inwrap>li>.inwrap{ padding-right: 30px; }
	.contactnumlist>.inwrap>li:first-child{ padding-top: 0; }
	.contactnumlist>.inwrap>li::before{ width: 32px; height: 32px; top: -8px; bottom: auto; left: 0; right: 0; margin-left: auto; margin-right: auto; transform: rotate(0); }
}
@media screen and (max-width: 767px){
	.contactnumlist>.inwrap>li>.inwrap .num{ font-size: 2.4rem; padding-right: 35px; }
	.contactnumlist>.inwrap>li>.inwrap .title{ font-size: 1.8rem; }
}
@media screen and (max-width: 500px){
}


form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="password"] { background: #f7f7f7 !important; line-height: 2; padding: 30px 30px; font-size: 100%; height: 100%; width: 100%; transition: 0.3s; border: 1px solid #f7f7f7; }
form input[type="text"]:focus,
form input[type="tel"]:focus,
form input[type="email"]:focus,
form input[type="password"]:focus { border: 1px solid #0053a4!important; }
form input[type="text"]:read-only,
form input[type="tel"]:read-only,
form input[type="email"]:read-only,
form input[type="password"]:read-only { background: #ccc!important; }

form input[type="file"] { padding: 3px 5px; font-size: 100%; height: 30px; }
form input[type="file"]:read-only { background: #eee; }

form input[type="checkbox"] { width: 16px; height: 16px; background-color: #fff!important; cursor: pointer; vertical-align: -2px; border:1px solid #000; background-size: 16px 16px!important; font-size: 0; transition: 0.3s; margin-right: 5px; }
form input[type="checkbox"].checked,
form input[type="checkbox"]:checked { background-color: #0053a4!important; border:1px solid #0053a4; }
form input[type="checkbox"].checked:before,
form input[type="checkbox"]:checked:before,
form input[type="checkbox"].checked:after,
form input[type="checkbox"]:checked:after { content:none!important; }

form input[type="radio"] { width: 18px; height: 18px; border-radius: 50%; background-color: #fff!important; cursor: pointer; vertical-align: -3px; border:1px solid #000; background-size: 18px 18px!important; font-size: 0; transition: 0.3s; margin-right: 5px; }
form input[type="radio"].checked,
form input[type="radio"]:checked { background-color: #000!important; border:1px solid #000; }
form input[type="radio"].checked:before,
form input[type="radio"]:checked:before,
form input[type="radio"].checked:after,
form input[type="radio"]:checked:after { content:none!important; }


form select { font-size: 100%; height: 100%; padding: 30px 30px; background: url("../img/common/selectarr.svg") no-repeat 96% center, #f7f7f7; border: none !important; background-size:14px 12px; width: 100%; color: #000; }
/* form select.readonly { background: url("../img/common/selectarr.svg") no-repeat 100% center, #eee; } */

form textarea { background: #f7f7f7!important; padding: 15px 15px; font-size: 100%; height: 450px; width: 100%; resize: vertical; display: block; transition: 0.3s; font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;border: 1px solid #f7f7f7;}
form textarea:focus { border: 1px solid #0053a4!important; }
form textarea:read-only { background: #ccc; }

@media screen and (max-width: 1040px) {
	form input[type="text"],
	form input[type="tel"],
	form input[type="email"],
	form input[type="password"] { padding: 18px 15px; height: 60px; }
	form select{ height: 60px; padding-left: 15px; padding-right: 15px; padding-top: 18px; padding-bottom: 18px; font-size: 16px; }
	form textarea{ height: 250px; }
}

/* common */
form .formbox>ul>li { margin-bottom: 20px; }
form .formbox>ul>li:last-child { margin-bottom: 0; }
form .formbox>ul>li dl { display: flex; justify-content: space-between;  }
form .formbox>ul>li dl>dt { width: 280px; flex-shrink: 0; background: #0053a4; padding: 40px 30px; padding-left: 20px; letter-spacing: 0.1em; color: #fff;  font-weight: bold; font-size: 1.8rem; }
form .formbox>ul>li dl>dt .title{ margin-left: 10px; }
form .formbox>ul>li dl>dt .icon{ line-height: 1; display: inline-block; background: #fff; color: #0053a4; padding: 7px 12px 6px; font-size: 1.6rem; margin-left: 10px; letter-spacing: 0.2em; }
form .formbox>ul>li dl>dd {width: 100%;display: flex;flex-direction: column;}
form .formbox>ul>li dl>dd .ermsg{ flex-shrink: 0; padding: 0 25px 5px; line-height: 1.8; }
form .formbox.check>ul>li dl>dd{ padding: 40px 30px; background: #fff; justify-content: center; }
@media screen and (max-width: 1040px) {
	form .formbox>ul>li dl { display: block; }
	form .formbox>ul>li dl>dt { width: 100%; padding: 10px 15px; padding-left: 5px; text-align: left; font-size: 1.6rem; }
	form .formbox>ul>li dl>dt .icon{ font-size: 1.4rem; }
	form .formbox>ul>li dl>dd .ermsg{ flex-shrink: 0; padding: 5px 15px 5px; }
	form .formbox.check>ul>li dl>dd{  padding: 20px 15px; }
}
@media screen and (max-width: 767px) {
}

.privacycheck{ text-align: center; margin-top: 45px; }
.privacycheck a{ text-decoration: underline; }



.btnarea{ margin-top: 30px; }
.btnarea>ul{ margin-left: -20px; overflow: hidden; text-align: center; margin-bottom: -15px; }
.btnarea>ul>li{ margin-left: 20px; margin-bottom: 15px; display: inline-block; vertical-align: middle; max-width: 500px; width: 100%; }
.btnarea>ul>li .btnlink{ width: 100%; }
form .formbox.check~.btnarea>ul>li{ width: calc(50% - 30px); }
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	form .formbox.check~.btnarea>ul>li{ width: 100%; }
}
@media screen and (max-width: 500px){
}


.btnlink{ display: inline-block; color: #fff; background: #0053a4; padding: 40px 8%; max-width: 100%; }
.btnlink>.inwrap{ font-weight: bold; position: relative; display: inline-block;  font-size: 2.4rem; line-height: 1.8; padding-right: 40px; letter-spacing: 0.1em; }
.btnlink>.inwrap::before{ content: ""; background: url(../img/common/arr_white.svg) no-repeat; background-size: contain; width: 36px; height: 36px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 0; transition: 0.3s; }
.btnlink:hover>.inwrap::before{ right: -4px; }
.btnlink.submit{ background: #0053a4; }
.btnlink.reset{ background: #ccc; }
@media screen and (max-width: 1040px){
	.btnlink{ padding-top: 35px; padding-bottom: 35px; }
	.btnlink>.inwrap{ padding-right: 40px; }
}
@media screen and (max-width: 767px){
	.btnlink{ padding-top: 25px; padding-bottom: 25px; }
	.btnlink>.inwrap{ font-size: 2rem; letter-spacing: 0.1em; padding-right: 40px; }
	.btnlink>.inwrap::before{ width: 30px; height: 30px; }
}
@media screen and (max-width: 500px){
	.btnlink>.inwrap{ font-size: 1.8rem; padding-right: 36px; }
	.btnlink>.inwrap::before{ width: 32px; height: 32px; }
}


.strengthlist > li { display : flex; flex-direction : row-reverse; }
.strengthlist > li .txtbox { width : 100%; position : relative; background : #ffffff; padding : 60px 8% 50px; z-index : 2; display : flex; flex-direction : column; justify-content : center; }
.strengthlist > li .txtbox .en { position : absolute; top : 0; bottom : 0; margin-top : auto; margin-bottom : auto; z-index : 10; right : calc(100% - 15px); display : flex; height: 50px; }
.strengthlist > li .txtbox .en >.num{ display : flex; align-items: center; justify-content: center; line-height : 1; color : #ffffff; font-size : 3.6rem; letter-spacing : .2em; font-weight : 500; background : #cccccc; min-width: 86px; padding-top: 12px; text-indent: .2em; }
.strengthlist > li .txtbox .en > .inwrap { display : flex; align-items: center; justify-content: center; line-height : 1; padding : 5px 20px; padding-top: 12px; color : #ffffff; font-size : 2.4rem; letter-spacing : .2em; text-indent: .2em; font-weight : 500; background : #174980; background : linear-gradient(90deg, #174980 0%, #004f98 56%, #008dcd 100%); min-width: 170px; box-sizing: border-box; }
.strengthlist > li .txtbox .list2 { margin-left : -10px; margin-top : 5px; text-align : left; }
.strengthlist > li .txtbox .list2 > li { display : inline-block; vertical-align : middle; margin-left : 10px; }
.strengthlist > li .txtbox .list2 > li:before { content : ""; width : 8px; height : 8px; display : inline-block; background-color : #191919; border-radius : 50%; vertical-align : middle; margin-right : 5px; }
.strengthlist > li .imgbox { flex-shrink : 0; width : 50%; position : relative; z-index : 1; }
.strengthlist > li:nth-child(even) { flex-direction : row; color : #ffffff; }
.strengthlist > li:nth-child(even) .txtbox { background : #0097d7; }
.strengthlist > li:nth-child(even) .txtbox .list2 > li::before { background : #ffffff; }
.strengthlist > li:nth-child(even) .txtbox .en { left : auto; left : calc(100% - 15px); }
.strengthlist._reverse > li:nth-child(odd){ flex-direction: row; }
.strengthlist._reverse > li:nth-child(even) { flex-direction : row-reverse; color : inherit; }
.strengthlist._reverse > li:nth-child(even) .txtbox { background : transparent; }
.strengthlist._reverse > li:nth-child(odd) .txtbox .en { right : auto; left : calc(100% - 15px); flex-direction: row; }
.strengthlist._reverse > li:nth-child(even) .txtbox .en { left : auto; right : calc(100% - 15px); flex-direction: row-reverse; }
body#index .strengthlist > li .txtbox .copy{ margin-bottom: 10px; }
@media screen and (max-width: 1200px) {
	.strengthlist > li .txtbox .en { height: 45px; }
	.strengthlist > li .txtbox .en >.num{ font-size: 3rem; min-width: 76px;  }
	.strengthlist > li .txtbox .en > .inwrap { font-size : 2rem; min-width: 160px; }
}
@media screen and (max-width: 1040px) {
	.strengthlist > li { flex-direction: column-reverse!important; }
	.strengthlist > li .txtbox { display : block; padding : 60px 6% 55px; }
	body#strength .strengthlist > li:last-child .txtbox{ padding-bottom: 0; }
	.strengthlist > li .txtbox .en { left : 6% !important; right : auto !important; top : -20px; bottom : auto !important; margin-bottom : 20px; height: 40px; }
	.strengthlist > li .txtbox .en >.num{ font-size: 2.6rem; }
	.strengthlist > li .imgbox { width : 100%; height: 50vw; }
	.strengthlist._reverse > li:nth-child(even) .txtbox .en { flex-direction: row; }
	.strengthlist > li .txtbox .en { right : 0 !important; margin-left : auto; margin-right : auto; left : 0 !important; justify-content : center; text-align : center; height: 38px; padding-left: 8%; padding-right: 8%; }
	.strengthlist > li .txtbox .copy,
	.strengthlist > li .txtbox .boxtitle  { text-align : center; }
	.strengthlist > li .txtbox .en >.num{ padding-top: 10px; }
	.strengthlist > li .txtbox .en > .inwrap { padding-top: 13px; }
	.strengthlist > li .imgbox { height: 300px; }
}
@media screen and (max-width: 767px) {
	.strengthlist > li .txtbox { padding : 45px 8% 35px; }
	.strengthlist > li .imgbox { height: 250px; }
}
@media screen and (max-width: 500px) {
}




.flowlist>li{ background: #f7f7f7; padding: 35px 50px; margin-bottom: 20px; position: relative; }
.flowlist>li::before{ content: ""; background: url(../img/common/arr_flow.svg) no-repeat; background-size: contain; width: 36px; height: 36px; display: inline-block; position: absolute; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -28px; z-index: 1; }
.flowlist>li:last-child{ margin-bottom: 0; }
.flowlist>li:last-child::before{ content: none; }
.flowlist>li>dl{ display: flex; flex-direction: row; }
.flowlist>li>dl>dt{ font-weight: bold; font-size: 2rem; width: 220px; flex-shrink: 0; display: flex; align-items: center; padding-right: 20px; }
@media screen and (max-width: 1040px) {
	.flowlist>li{ padding: 35px 8%!important; }
	.flowlist>li>dl{ display: block; }
	.flowlist>li>dl>dt{ font-size: 1.8rem; width: 100%; display: block; padding-right: 0; margin-bottom: 10px; text-align: center; }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 500px) {
}


.dllist{ border-top: 1px solid #0053a4; position: relative; }
.dllist:before{ content: ""; display: inline-block; background: #0053a4; width: 155px; height: 2px; position: absolute; top: -1px; left: 0; }
.dllist li{ position: relative;  padding-top: 25px; padding-bottom: 25px; border-bottom: 1px solid #0053a4; }
.dllist li:before{ content: ""; display: inline-block; background: #0053a4; width: 155px; height: 2px; position: absolute; bottom: -1px; left: 0; }
.dllist li dl{ display: flex; flex-direction: row; }
.dllist li dl>dt{ flex-shrink: 0; width: 180px; }
.dllist li dl>dd{ width: 100%; }
@media screen and (max-width: 1040px){
}
@media screen and (max-width: 767px){
	.dllist:before,
	.dllist li:before{ width: 100px; }
	.dllist li{ padding-top: 20px; padding-bottom: 20px; }
	.dllist li dl{ display: block; }
	.dllist li dl>dt{ width: 100%; font-weight: bold; }
}


.instalink{ padding: 6px; display: block;background: rgb(255,255,255); background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,226,167,1) 7%, rgba(255,182,2,1) 22%, rgba(255,19,110,1) 50%, rgba(128,43,228,1) 100%, rgba(156,187,215,1) 7692%); max-width: 622px; width: 100%; margin-left: auto; margin-right: auto; }
.instalink>.inwrap {background: #fff;display: flex;position: relative;padding: 30px 8% 30px;box-sizing: border-box;width: 100%;align-items: center;justify-content: center;transition: .4s;}
.instalink>.inwrap img{ width: 148px; height: 70px; position: absolute; top: 0; bottom: 15px; margin-top: auto; margin-bottom: auto; left: -50px; }
.instalink>.inwrap>.inwrap{ padding-left: 110px; position: relative; text-align: center; }
.instalink>.inwrap>.inwrap:before{ content: ""; width: 78px; height: 78px; display: inline-block; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; left: 0; transition: .4s; background: url(../img/common/instagram.svg) no-repeat; background-size: contain; }
.instalink>.inwrap>.inwrap .subtitle{ font-weight: bold; }
.instalink>.inwrap>.inwrap .title{font-size: 4rem;line-height: 1.2;letter-spacing: 0.3em;overflow: hidden; margin-top: 5px;}
.instalink>.inwrap svg{ position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 20px; width: 36px; height: 36px; }
.instalink>.inwrap .arr_cls_1.cls_1{fill:#191919;}
.instalink:hover>.inwrap{ background: #F2F2F2; }
@media screen and (max-width: 1300px) {
	.instalink>.inwrap img{bottom: auto;top: -25px;left: -25px;transform: rotate(10deg);}
}
@media screen and (max-width: 1040px) {
	.instalink>.inwrap{ padding: 30px 8% 25px 6%; }
	.instalink>.inwrap img{ width: 138px; height: 60px;}
	.instalink>.inwrap>.inwrap{ padding-left: 90px; }
	.instalink>.inwrap>.inwrap:before{ width: 68px; height: 68px; }
	.instalink>.inwrap>.inwrap .title{font-size: 2.6rem;}
}
@media screen and (max-width: 767px) { 
	.instalink>.inwrap{ padding: 30px 10% 25px 4%; }
	.instalink>.inwrap>.inwrap{ padding-left: 80px; box-sizing: border-box; margin-left: auto; margin-right: auto; }
	.instalink>.inwrap>.inwrap:before{ width: 63px; height: 63px; }
	.instalink>.inwrap img{ display: none; }
	.instalink>.inwrap svg { display: none; }
}
@media screen and (max-width: 639px) { 
}
@media screen and (max-width: 500px) { 
	.instalink>.inwrap {display: block;}
	.instalink>.inwrap{ padding: 25px 6% 25px 8%; }
	.instalink>.inwrap>.inwrap{ padding-left: 0; }
	.instalink>.inwrap>.inwrap:before{ position: static; display: block; margin-left: auto; margin-right: auto; margin-bottom: 20px; }
	/*.instalink>.inwrap svg{  right: 10px; width: 26px; height: 26px; }*/
	.instalink>.inwrap .account.lts4{ letter-spacing: 0.2em; }
}



.ouchiimg{ margin-top: 40px; }
.ouchiimg>.inwrap{ background: #f7f7f7; display: inline-block; max-width: 500px; padding: 37px 8%; width: 88%; }
.ouchiimg>.inwrap img{ max-width: 274px; width: 100%; }
@media screen and (max-width: 500px) {
	.ouchiimg>.inwrap{ width: 100%; }
}
