@charset "UTF-8";

#index #mainv.index { min-height : 860px; height : calc(100vh - 140px); margin-top : 125px; position : relative; }
@media screen and (max-width: 1350px) { #index #mainv.index { height : calc(100vh - 130px); margin-top : 130px; min-height : inherit; } }
@media screen and (max-width: 1200px) { #index #mainv.index { height : calc(100vh - 100px); margin-top : 100px; } }
@media screen and (max-width: 1040px) { #index #mainv.index { height : calc(100vh - 90px); margin-top : 90px; } }
@media screen and (max-width: 500px) { #index #mainv.index { height : calc(100vh - 80px); margin-top : 80px; } }

#index #mainv.index #mainvtabs .tab_item { width : 50%; display : block; float : left; text-align : center; transition : all .2s ease; position : relative; box-sizing : border-box; z-index : 2; }
#index #mainv.index #mainvtabs input#strength + .tab_item { display : flex; justify-content : flex-end; padding-right : 10px; }
#index #mainv.index #mainvtabs input#service + .tab_item { display : flex; justify-content : flex-start; padding-left : 10px; }
#index #mainv.index #mainvtabs .tab_item > .inwrap { background-color : #0053a4; text-align : center; color : #ffffff; font-size : 2.2rem; line-height : 1.6; letter-spacing : .1em; padding : 15px 20px; display : flex; align-items : center; justify-content : center; position : relative; height : 81px; max-width : 364px; width : 100%; }
#index #mainv.index #mainvtabs input#strength + .tab_item > .inwrap { background-color : #0097d7; }
#index #mainv.index #mainvtabs .tab_item:hover { opacity : .9; }
#index #mainv.index #mainvtabs input[name=tab_item] { display : none; }
#index #mainv.index #mainvtabs .tab_content { opacity : 0; clear : both; overflow : hidden; transition : .6s; }
#index #mainv.index #mainvtabs #strength:checked ~ #strength_content , #index #mainv.index #mainvtabs #service:checked ~ #service_content { opacity : 1; }
#index #mainv.index #mainvtabs #strength_content .mainbox > .inwrap > .inwrap:hover > svg .arr_cls_1.cls_1 { fill : #0097d7; }
#index #mainv.index #mainvtabs #service_content .mainbox > .inwrap > .inwrap:hover > svg .arr_cls_1.cls_1 { fill : #0053a4; }
#index #mainv.index #mainvtabs input:checked + .tab_item > .inwrap { height : 97px; }
#index #mainv.index #mainvtabs input#strength:checked + .tab_item > .inwrap:after { content : ""; display : inline-block; width : 0; height : 0; border-style : solid; border-width : 10px 6.5px 0 6.5px; border-color : #0097d7 transparent transparent transparent; position : absolute; bottom : -10px; left : 0; right : 0; margin-left : auto; margin-right : auto; }
#index #mainv.index #mainvtabs input#service:checked + .tab_item > .inwrap:after { content : ""; display : inline-block; width : 0; height : 0; border-style : solid; border-width : 10px 6.5px 0 6.5px; border-color : #0053a4 transparent transparent transparent; position : absolute; bottom : -10px; left : 0; right : 0; margin-left : auto; margin-right : auto; }
@media screen and (max-width: 1350px) {
	#index #mainv.index #mainvtabs .tab_item > .inwrap { padding : 10px 20px; height : 71px; }
	#index #mainv.index #mainvtabs input:checked + .tab_item > .inwrap { height : 87px; }
}
@media screen and (max-width: 1200px) {
	#index #mainv.index #mainvtabs .tab_item > .inwrap { font-size : 2rem; padding : 8px 20px; height : 60px; max-width : 340px; }
	#index #mainv.index #mainvtabs input:checked + .tab_item > .inwrap { height : 65px; }
}
@media screen and (max-width: 1040px) { #index #mainv.index #mainvtabs .tab_item > .inwrap { font-size : 1.6rem; max-width : 300px; } }
@media screen and (max-width: 767px) { #index #mainv.index #mainvtabs .tab_item > .inwrap { font-size : 1.4rem; max-width : 240px; line-height: 1.2; } }
@media screen and (max-width: 500px) {
	#index #mainv.index #mainvtabs .tab_item > .inwrap { max-width : 100%; }
	#index #mainv.index #mainvtabs input#strength + .tab_item { padding-right : 0; }
	#index #mainv.index #mainvtabs input#service + .tab_item { padding-left : 0; }
}

#index #mainv.index #mainvtabs .tab_content { position : absolute; top : 0; bottom : 0; left : 0; right : 0; width : 100%; height : 100%; padding-top : 110px; padding-left : 140px; padding-right : 140px; }
@media screen and (max-width: 1200px) { #index #mainv.index #mainvtabs .tab_content { padding-left : 0; padding-right : 0; } }
@media screen and (max-width: 1040px) { #index #mainv.index #mainvtabs .tab_content { padding-top : 0; } }
@media screen and (max-width: 767px) { #index #mainv.index #mainvtabs .tab_content { padding-top : 55px; } }

#index #mainv.index #mainvtabs .tab_content .bg { position : absolute; top : 0; bottom : 0; left : 0; right : 0; width : 100%; height : 100%; z-index : 1; }
#index #mainv.index #mainvtabs .tab_content .mainbox { height : 100%; text-align : center; display : flex; align-items : center; justify-content : center; }
#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap { display : inline-block; max-width: 100%; }
#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap { display : flex; flex-direction : row; justify-content : center; color : #ffffff; position : relative; padding : 0 150px 0 0; z-index : 2; }
#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap > svg { width : 56px; height : 56px; position : absolute; top : 0; bottom : 0; margin-top : auto; margin-bottom : auto; right : 30px; z-index : 3; transition : .6s; }
#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap:hover > svg { right : 20px; }
#index #mainv.index #mainvtabs .tab_content .mainbox .en { font-size: 8.8rem; line-height : 1.2; letter-spacing : .2em; display : flex; flex-direction : column; justify-content : center; text-align : center; flex-shrink : 0; margin-top: 0.2em;}
#index #mainv.index #mainvtabs .tab_content .mainbox .en img { width : 342px; }
#index #mainv.index #mainvtabs .tab_content .mainbox .ja { font-weight : bold; display : flex; flex-direction : column; justify-content : center; margin-left : 90px; text-align : left; width : 60%; }
#index #mainv.index #mainvtabs .tab_content .mainbox .ja .title { font-size: 4.8rem; line-height : 1.6; letter-spacing: .25em; margin-bottom : 10px; font-feature-settings: "palt"; }
#index #mainv.index #mainvtabs .tab_content .mainbox .ja .txt { font-size: 2.2rem; letter-spacing: .18em; font-feature-settings: "palt"; }
@media screen and (max-width: 1400px) {
	#index #mainv.index #mainvtabs .tab_content .mainbox .en img { width : 322px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja { margin-left : 80px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .title { font-size : 4rem; margin-bottom : 20px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .txt { font-size : 2rem; }
}
@media screen and (max-width: 1300px) { #index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap { padding : 0 100px 0 0; } }
@media screen and (max-width: 1200px) {
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap { max-width : 950px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap { padding : 0 100px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap > svg { width : 40px; height : 40px; right : 34px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap:hover > svg { right : 30px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en { font-size : 8rem; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en img { width : 240px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja { margin-left : 80px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .title { font-size : 3rem; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .txt { font-size: 1.6rem; }
}
@media screen and (max-width: 1040px) {
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap { max-width: inherit; width : auto; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap { display : block; padding : 0 0; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap > svg { width : 30px; height : 30px; right : 6px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap:hover > svg { right : 0; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en { font-size : 6.6rem; display : block; text-align: center; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en img { width : 235px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja { margin-left : 0; width : 100%; flex-shrink : 0; display : block; text-align: center; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .title { font-size: 2.4rem; }
}
@media screen and (max-width: 767px) {
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap { display : block; width : 100%; max-width : 100%; text-align : center; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en { font-size : 5rem; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja { text-align : center; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap > svg {  right : 19px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox > .inwrap > .inwrap:hover > svg { right : 15px; }
}
@media screen and (max-width: 500px) {
	#index #mainv.index #mainvtabs .tab_content .mainbox .en { font-size: 3.8rem; letter-spacing: 5px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en img { width: 200px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .en .txt1 { line-height: 1.2; padding-bottom: 10px; }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .title { font-size: 2rem;  margin-bottom : 10px;  }
	#index #mainv.index #mainvtabs .tab_content .mainbox .ja .txt { padding: 0 6% 0; }
}

#index #mainv.index #scrolldown { position : absolute; bottom : 0; right : 40px; text-align : center; color : #ffffff; z-index : 20; -ms-writing-mode : tb-rl; writing-mode : vertical-rl; line-height : 1.4; }
#index #mainv.index #scrolldown .txt { letter-spacing : .3em; margin-bottom : 15px; margin-right : 0; display : inline-block; }
#index #mainv.index #scrolldown .arr { position : relative; width : 1px; height : 80px; display : inline-block; }
#index #mainv.index #scrolldown .arr::before { content : ""; background : #ffffff; width : 100%; height : 100%; position : absolute; left : 0; right : 0; margin-left : auto; margin-right : auto; top : 0; -webkit-animation : sdl 2s cubic-bezier(1, 0, 0, 1) infinite; animation : sdl 2s cubic-bezier(1, 0, 0, 1) infinite; }
@-webkit-keyframes sdl { 0% { transform : scale(1, 0); transform-origin : 0 0; }
	50% { transform : scale(1, 1); transform-origin : 0 0; }
	50.1% { transform : scale(1, 1); transform-origin : 0 100%; }
	100% { transform : scale(1, 0); transform-origin : 0 100%; } }
@keyframes sdl { 0% { transform : scale(1, 0); transform-origin : 0 0; }
	50% { transform : scale(1, 1); transform-origin : 0 0; }
	50.1% { transform : scale(1, 1); transform-origin : 0 100%; }
	100% { transform : scale(1, 0); transform-origin : 0 100%; } }
@media screen and (max-width: 1200px) {#index #mainv.index #scrolldown { display : none; } }

#index #s1_insec1 { display : flex; flex-direction : row; height : 120px; padding-right: 100px; }
#index #s1_insec1 .mainbox { box-sizing : border-box; display : flex; align-items : center; position : relative; box-sizing : border-box; width : 100%; height : 100%; }
#index #s1_insec1 .mainbox .title { letter-spacing : .4em; flex-shrink : 0; width : 140px; margin-bottom : 0; align-items: center; display: flex; padding-top: 4px; }
#index #s1_insec1 .mainbox .newslistbox { width : calc(100% - 140px); box-sizing : border-box; padding-right: 45px; overflow : hidden; position : relative; display : flex; align-items : center; }
#index #s1_insec1 .mainbox .newslistbox .newslist { position : static; width : 100%; }
#index #s1_insec1 .mainbox .newslistbox .newslist > li { display : none; }
#index #s1_insec1 .mainbox .newslistbox .newslist .slick-list,
#index #s1_insec1 .mainbox .newslistbox .newslist .slick-track,
#index #s1_insec1 .mainbox .newslistbox .newslist .slick-slide{ display: flex; }
#index #s1_insec1 .mainbox .newslistbox .newslist li dl>dt,
#index #s1_insec1 .mainbox .newslistbox .newslist li dl>dd{ display: flex; justify-content: center; flex-direction: column; }
#index #s1_insec1 .mainbox .newslistbox .slick-prev.slick-arrow , #index #s1_insec1 .mainbox .newslistbox .slick-next.slick-arrow { font-size : 0; width : 8px; height : 10px; position : absolute; top : 0; bottom : 0; margin-top : auto; padding : 0; margin-bottom : auto; z-index : 10; transition : .4s; }
#index #s1_insec1 .mainbox .newslistbox .slick-prev.slick-arrow:hover , #index #s1_insec1 .mainbox .newslistbox .slick-next.slick-arrow:hover { opacity : .8; }
#index #s1_insec1 .mainbox .newslistbox .slick-prev.slick-arrow { background : linear-gradient(to right bottom, transparent 50%, #0053a4 52%) right top/100% 50% no-repeat, linear-gradient(to right top, transparent 50%, #0053a4 52%) left bottom/100% 50% no-repeat; right : 30px; }
#index #s1_insec1 .mainbox .newslistbox .slick-next.slick-arrow { background : linear-gradient(to left bottom, transparent 50%, #0053a4 52%) right top/100% 50% no-repeat, linear-gradient(to left top, transparent 50%, #0053a4 52%) left bottom/100% 50% no-repeat; right : 5px; }
@media screen and (max-width: 1040px) {
	#index #s1_insec1 { display : block; height : auto; padding-top : 50px; padding-bottom : 70px; padding-right: 0; }
	#index #s1_insec1 .mainbox { display : block; height : auto; }
	#index #s1_insec1 .mainbox .title { width : 100%; margin-bottom : 5px; text-align : center; display: block; font-size: 2.8rem; }
	#index #s1_insec1 .mainbox .newslistbox { width : 100%; padding-right : 0; display : block; }
	#index #s1_insec1 .mainbox .newslistbox .newslist > li,
	#index #s1_insec1 .mainbox .newslistbox .newslist .slick-list,
	#index #s1_insec1 .mainbox .newslistbox .newslist .slick-track,
	#index #s1_insec1 .mainbox .newslistbox .newslist .slick-slide{ display: block; }
	#index #s1_insec1 .mainbox .newslistbox .newslist li{ height: auto; }
	#index #s1_insec1 .mainbox .newslistbox .newslist li dl>dt,
	#index #s1_insec1 .mainbox .newslistbox .newslist li dl>dd{ display: block; }
}
@media screen and (max-width: 500px) {
	#index #s1_insec1 .mainbox .title { letter-spacing: .2em; }
}

#index #s1_insec2 { background : #174980; background : linear-gradient(45deg, #174980 0%, #004f98 34%, #008ccc 100%); padding : 110px 0; color : #ffffff; }
#index #s1_insec2 .titlebox { display : flex; flex-direction : row; align-items : center; justify-content : center; margin-bottom : 30px; }
#index #s1_insec2 .titlebox .logo { width : 158px; flex-shrink : 0; display : flex; align-items : center; margin-right : 50px; }
#index #s1_insec2 .titlebox .title { font-weight : bold; font-size : 3.8rem; letter-spacing : .2em; line-height : 1.8; display : flex; align-items : center; }
#index #s1_insec2 .txt { font-size : 1.8rem; text-align : center; line-height : 2.3; font-feature-settings: "palt"; }
#index #s1_insec2 .list { display : flex; flex-direction : row; margin-top : 30px; margin-left : -60px; justify-content : center; }
#index #s1_insec2 .list > li { margin-left : 60px; position : relative; display : flex; align-items : center; flex-direction : column; justify-content : center; }
#index #s1_insec2 .list > li::after { content : ""; position : absolute; z-index : 1; left : -60px; bottom : 0; top : 0; margin : auto; width : calc(100% + 120px); height : 100%; }
#index #s1_insec2 .list > li:nth-child(odd) { padding-top : 30px; padding-bottom : 75px; }
#index #s1_insec2 .list > li:nth-child(odd):after { background : linear-gradient(to left top, transparent 50%, #0053a4 51%) right top/50% 100% no-repeat, linear-gradient(to right top, transparent 50%, #0053a4 51%) left bottom/50% 100% no-repeat; }
#index #s1_insec2 .list > li:nth-child(even) { padding-top : 75px; padding-bottom : 30px; }
#index #s1_insec2 .list > li:nth-child(even):after { background : linear-gradient(to left bottom, transparent 50%, #174986 51%) right top/50% 100% no-repeat, linear-gradient(to right bottom, transparent 50%, #174986 51%) left bottom/50% 100% no-repeat; }
#index #s1_insec2 .list > li > .inwrap { position : relative; z-index : 2; }
#index #s1_insec2 .list > li > .inwrap .title { font-size : 3.2rem; line-height : 1.8; padding-bottom : 15px; margin-bottom : 13px; position : relative; text-align : center; font-weight : bold; letter-spacing : .2em; }
#index #s1_insec2 .list > li > .inwrap .title:after { content : ""; width : 14px; height : 4px; opacity : .7; border-radius : 2px; position : absolute; left : 0; right : 0; margin-left : auto; margin-right : auto; bottom : 0; z-index : 3; background : #ffffff; }
#index #s1_insec2 .list > li > .inwrap .txt { font-size : 2rem; line-height : 1.8; }
@media screen and (max-width: 1200px) {
	#index #s1_insec2 { background : linear-gradient(45deg, #174980 0%, #004f98 44%, #008ccc 100%); }
	#index #s1_insec2 .titlebox .logo { width : 138px; }
	#index #s1_insec2 .titlebox .title { font-size : 3.4rem; }
	#index #s1_insec2 .txt { font-size : 1em; }
	#index #s1_insec2 .list > li > .inwrap .title { font-size : 2.8rem; }
	#index #s1_insec2 .list > li > .inwrap .txt { font-size : 1.8rem; }
}
@media screen and (max-width: 1040px) {
	#index #s1_insec2 .titlebox .logo { width : 133px; }
	#index #s1_insec2 .titlebox .title { font-size : 3rem; }
	#index #s1_insec2 .list > li > .inwrap .title { font-size : 2.4rem; }
	#index #s1_insec2 .list > li > .inwrap .txt { font-size : 1em; }
}
@media screen and (max-width: 767px) {
	#index #s1_insec2 { padding : 60px 0; }
	#index #s1_insec2 .titlebox .logo { width : 118px; margin-right : 30px; }
	#index #s1_insec2 .titlebox .title { font-size : 2.2rem; }
	#index #s1_insec2 .txt { text-align : justify; }
	#index #s1_insec2 .list { display : block; margin-left : 0; }
	#index #s1_insec2 .list > li { margin-left : 0; display : block; border-bottom : 1px solid #ffffff; }
	#index #s1_insec2 .list > li::after { content : none; }
	#index #s1_insec2 .list > li:nth-child(odd) , #index #s1_insec2 .list > li:nth-child(even) { padding-top : 0; padding-bottom : 20px; margin-bottom : 20px; }
	#index #s1_insec2 .list > li:last-child { padding-bottom : 0; margin-bottom : 0; border-bottom : none; }
	#index #s1_insec2 .list > li > .inwrap { display : flex; flex-direction : row; align-items : center; }
	#index #s1_insec2 .list > li > .inwrap .title { font-size : 2.2rem; padding-bottom : 0; margin-bottom : 0; text-align : left; padding-right : 18px; margin-right : 18px; display : flex; align-items : center; flex-shrink : 0; }
	#index #s1_insec2 .list > li > .inwrap .title:after { width : 4px; height : 10px; top : 0; bottom : 0; margin-top : auto; margin-bottom : auto; left : auto; right : 0; }
}
@media screen and (max-width: 500px) {
	#index #s1_insec2 .titlebox .logo{ width : 110px; }
}
@media screen and (max-width: 380px) {
	#index #s1_insec2 .titlebox { display : block; text-align : center; margin-bottom : 20px; }
	#index #s1_insec2 .titlebox .logo { margin-right : 0; margin-bottom : 20px; margin-left : auto; margin-right : auto; }
	#index #s1_insec2 .titlebox .title { text-align : justify; justify-content : center; padding-left : 20px; }
	#index #s1_insec2 .list > li > .inwrap .title { font-size : 1.8rem; }
}

#index #sec_2 { padding : 100px 8%; position : relative; }
#index #sec_2 .bg { position : absolute; top : 0; bottom : 0; left : 0; right : 0; width : 100%; height : 100%; z-index : -1; }
#index #sec_2 .mainbox { padding : 80px 7% 60px; background : rgba(255, 255, 255, .95); }
#index #sec_2 .mainbox .txt1 { max-width : 1040px; width : 100%; margin-left : auto; margin-right : auto; margin-bottom : 40px; font-feature-settings: "palt"; }
@media screen and (max-width: 1200px) {
	#index #sec_2 { padding : 80px 6%; }
	#index #sec_2 .mainbox { padding : 70px 6% 60px; }
}
@media screen and (max-width: 767px) {
	#index #sec_2 { padding : 70px 6%; }
	#index #sec_2 .mainbox { padding : 50px 8%; }
}
@media screen and (max-width: 500px) {
	#index #sec_2 { padding : 40px 6%; }
}

#index #sec_3 { padding : 130px 0; position : relative; }
#index #sec_3 .incnt { max-width : 1200px; }
#index #sec_3 #s3_insec1 { margin-bottom : 50px; }
#index #sec_3 #s3_insec1 .txt1 { text-align : center; margin-bottom : 45px; font-feature-settings: "palt"; }
@media screen and (max-width: 1040px) { #index #sec_3 { padding : 100px 0 90px; } }
@media screen and (max-width: 767px) {
	#index #sec_3 { padding : 80px 0 60px; }
	#index #sec_3 #s3_insec1 .txt1{ text-align : left; margin-bottom : 30px; }
}

#strength #sec_1 .strengthlist{ margin-top: 80px; padding-bottom:60px; }
@media screen and (max-width: 1040px) {
	#strength #sec_1 .strengthlist{ padding-bottom:30px; }
}

#contact #sec_1 .contactframe{ display: block; margin-top: 50px; }
#contact #sec_1 .contactframe>li{ display: block; width: 100%; padding: 70px 8% 80px; margin-bottom: 20px; }
#contact #sec_1 .contactframe>li:last-child{ margin-bottom: 0; }
#contact #sec_1 .contactframe>li .boxtitle{ margin-bottom: 10px; }
#contact #sec_1 .contactframe>li .txt{ margin-bottom: 30px; }
@media screen and (max-width: 767px) {
	#contact #sec_1 .contactframe>li{ padding: 45px 8% 50px; }
}
@media screen and (max-width: 500px) {
	#contact #sec_1 .incnt._1{ width: 100%; }
	#contact #sec_1 .contactframe>li{ margin-bottom: 10px; }
	#contact #sec_1 .contactlist>li .contacttitle{ font-size: 2.4rem; }
	#contact #sec_1 .contactlist>li._tel .icon{ width: 30px; height: 30px; }
	#contact #sec_1 .contactframe>li:nth-child(2) { padding-right: 7%; }
	#contact #sec_1 .contactframe>li:nth-child(2) .contactlist>li._headmike .open{ margin-left: -15px; padding-right: 0; width: calc(100% + 15px); }
	#contact #sec_1 .contactlist>li._headmike .icon{ width: 48px; height: 60px;}
	#contact #sec_1 .contactlist>li .telbox .open{ font-size: 1.2rem; margin-top: 0; }
}

#contact #sec_3 .flowlist{ margin-top: 50px; }
#contact #sec_3 .flowlist .list{ margin-top: 30px; margin-left: -10px; margin-bottom: -10px; }
#contact #sec_3 .flowlist .list>li{ display: inline-block; margin-left: 10px; margin-bottom: 10px; }
@media screen and (max-width: 1040px) {
	#contact #sec_3 .flowlist{ margin-top: 30px; }
	#contact #sec_3 .flowlist .list{ text-align: center; margin-top: 15px; }
}
@media screen and (max-width: 767px) {
	#contact #sec_3 .flowlist .list>li img{ max-width: 172px; width: 100%; }
}

#about.company #mainv.under .bg{ object-position: 50% 0; }
#about.company #sec_2 .flowlist>li{ padding-left: 6%; padding-right: 6%; }
#about.company #sec_2 .flowlist>li::before{ content: none; }
#about.company #sec_2 .flowlist>li>dl>dt{ font-weight: bold; font-size: 1.8rem; color: #0053a4; width: auto; }
#about.company #sec_2 .map{ margin-top: 60px; }
@media screen and (max-width: 767px) {
	#about.company #sec_2 .map{ margin-top: 40px; }
	#about.company #sec_2 .map iframe{ height: 400px; }
}
@media screen and (max-width: 500px) {
	#about.company #sec_2 .flowlist>li>dl>dt{ font-size: 1.7rem; }
}
@media screen and (max-width: 380px) {
	#about.company #sec_2 .flowlist>li>dl>dt{ font-size: 1.6rem; }
}


#about.partner #sec_1 .list1{ margin-top: 60px; }
#about.partner #sec_1 .list1>li{ margin-bottom: 60px; }
#about.partner #sec_1 .list1>li:last-child{ margin-bottom: 0; }
#about.partner #sec_1 .list1>li .box1{ background: #f7f7f7; padding: 55px 8% 45px; }
#about.partner #sec_1 .list1>li .box1 .list2{ margin-left: -65px; margin-bottom: -50px; display: flex; flex-direction: row; justify-content: center; flex-wrap: wrap; }
#about.partner #sec_1 .list1>li .box1 .list2>li{ margin-left: 65px; margin-bottom: 50px;  }
#about.partner #sec_1 .list1>li .box1 .list2>li>a{ display: block; text-align: center; }
#about.partner #sec_1 .list1>li .box1 .list2>li>a .txt{ margin-top: 20px; line-height: 1.6; height: 42px; display: flex; align-items: center; justify-content: center; padding-top: 5px; }
#about.partner #sec_1 .list1>li .box1._ha .list2>li>a .txt{ height: auto; padding-top: 0; }
@media screen and (max-width: 500px) {
	#about.partner #sec_1 .list1>li .box1 .list2>li>a .logo img{ height: auto; width: 88%; }
}


#about.message #sec_1 .box1{ display: flex; flex-direction: row; padding-left: 8%; }
#about.message #sec_1 .box1 .txtbox{ width: 100%; }
#about.message #sec_1 .box1 .txtbox .txt p{ margin-bottom: 30px; font-feature-settings: "palt"; }
#about.message #sec_1 .box1 .txtbox .txt p:last-child{ margin-bottom: 0; }
#about.message #sec_1 .box1 .txtbox .namebox{ margin-left: -20px; margin-top: 50px; margin-bottom: -10px; }
#about.message #sec_1 .box1 .txtbox .namebox .headunit,
#about.message #sec_1 .box1 .txtbox .namebox .name{ margin-left: 20px; display: inline-block; vertical-align: middle; margin-bottom: 10px; }
#about.message #sec_1 .box1 .txtbox .namebox .headunit{ font-weight: bold; font-size: 1.8rem; }
#about.message #sec_1 .box1 .imgbox{ width: 54%; margin-left: 7%; flex-shrink: 0; }
@media screen and (max-width: 1400px) {
	#about.message #sec_1 .box1 .imgbox{ width: 40%; margin-left: 6%; }
}
@media screen and (max-width: 1040px) {
	#about.message #sec_1 .box1{ display: block; padding-right: 8%; }
	#about.message #sec_1 .box1 .imgbox{ width: 100%; margin-left: 0%; margin-top: 40px; max-width: 400px; margin-left: auto; margin-right: auto; }
	#about.message #sec_1 .box1 .txtbox .boxtitle{ text-align: center; }
	#about.message #sec_1 .box1 .txtbox .namebox{ text-align: center; }
}
@media screen and (max-width: 767px) {
	#about.message #sec_1 .box1 .txtbox .namebox .name img{ height: auto; max-width: 260px; width: 82%; }
	#about.message #sec_1 .box1 .txtbox .namebox{ margin-left: -10px; }
	#about.message #sec_1 .box1 .txtbox .namebox .headunit,
	#about.message #sec_1 .box1 .txtbox .namebox .name{ margin-left: 10px; }
}
@media screen and (max-width: 500px) {
	#about.message #sec_1 .box1 .txtbox .namebox .name img{ max-width: 240px; width: 80%; }
}

#about.privacy #main .txt p{ margin-bottom: 30px; }
#about.privacy #main .txt p:last-child{ margin-bottom: 0; }
#about.privacy #main .inbox { text-align: left; }
@media screen and (max-width: 767px) {
	#about.privacy #main .txt p{ margin-bottom: 25px; }
	body:not(#index) .boxtitle{ margin-bottom: 15px; }
}
@media screen and (max-width: 500px){
	#about.privacy #main #sec_2 .topsectitle .en{ font-size: 2.6rem; }
	#about.privacy #main #sec_2 .boxtitle{ font-size: 2rem; }
}


#service.index #main .section._topsec .box1{ display: flex; flex-direction: row; margin-bottom: 60px; min-height: 380px; }
#service.index #main .section._topsec .box1 .txtbox{ width: 100%; display: flex; justify-content: center; flex-direction: column; }
#service.index #main .section._topsec .box1 .imgbox{ width: 49%; margin-left: 7%; flex-shrink: 0; }
#service.index #main .section._topsec .list1{ display: flex; flex-direction: row; flex-wrap: wrap; margin-left: -20px; margin-bottom: -20px; }
#service.index #main .section._topsec .list1>li{ margin-left: 20px; margin-bottom: 20px; width: calc(33.33% - 20px); }
#service.index #main .section._topsec .list1>li .imgbox{ height: 244px; }
#service.index #main .section._topsec .list1>li .txtbox{ height: calc(100% - 244px); background: #f7f7f7; padding: 32px 5%; text-align: center; }
#service.index #main .section._topsec .list1>li .txtbox .list2{ margin-left: -10px; margin-top: 5px; padding-right: 5px; }
#service.index #main .section._topsec .list1>li .txtbox .list2>li{ display: inline-block; margin-left: 10px; }
#service.index #main .section._topsec .list3{ display: flex; flex-direction: row; flex-wrap: wrap; margin-left: -20px; margin-bottom: -20px; }
#service.index #main .section._topsec .list3>li{ margin-left:20px; margin-bottom:20px; width:calc(50% - 20px); }
#service.index #main .section._topsec .list3>li .imgbox{ height: 244px; }
#service.index #main .section._topsec .list3>li .txtbox{ height: calc(100% - 244px); background: #f7f7f7; padding: 32px 5%; text-align: center; }
#service.index #main .section._topsec .list3>li .txtbox .list2{ margin-left: -10px; margin-top: 5px; padding-right: 5px; }
#service.index #main .section._topsec .list3>li .txtbox .list2>li{ display: inline-block; margin-left: 10px; }
#service.index #main .section._topsec .box1._reverse{ flex-direction: row-reverse; margin-bottom: 30px;}
#service.index #main .section._topsec .box1._reverse .imgbox{ margin-left: 0%; margin-right: 7%; }
@media screen and (max-width: 1040px) {
	#service.index #main .section._topsec .box1{ display: block;  min-height: inherit; margin-bottom: 30px;}
	#service.index #main .section._topsec .box1 .txtbox{ display: block; }
	#service.index #main .section._topsec .box1 .imgbox{ display: none; }
	#service.index #main .section._topsec .list1>li{ width: calc(50% - 20px); }
	#service.index #main .section._topsec .box1._reverse .imgbox{ display: none; }
}
@media screen and (max-width: 767px) {
	#service.index #main .section._topsec .list1>li,
	#service.index #main .section._topsec .list3>li{ width: 100%; }
}

@media screen and (max-width: 500px) {
	#service.index #main .section._topsec .list1>li .imgbox,
	#service.index #main .section._topsec .list3>li .imgbox{ height: 200px; }
	#service.index #main .section._topsec .list1>li .txtbox,
	#service.index #main .section._topsec .list3>li .txtbox{ height: calc(100% - 200px); padding: 28px 6%; }
}

#service.index #main #sec_1.section._topsec .txt{ margin-bottom: 80px; }
#service.index #main #sec_3.section._topsec .box1 .txtbox .list3{ margin-top: 25px; }
#service.index #main #sec_3.section._topsec .box2{ padding-top: 10px; }
#service.index #main #sec_3.section._topsec .box2 .link{ margin-top: 40px; }
#service.index #main #sec_3.section._topsec .box1 .txtbox .list3>li{ font-feature-settings: "palt"; text-indent: -0.7em; padding-left: 0.7em!important; }
@media screen and (max-width: 1250px) {
	#service.index #main #sec_3.section._topsec .box1._reverse{ display: block;  min-height: inherit; }
	#service.index #main #sec_3.section._topsec .box1._reverse .txtbox{ display: block; }
	#service.index #main #sec_3.section._topsec .box1._reverse .imgbox{ width: 100%; margin-left: 0%; margin-top: 30px; }
}
@media screen and (max-width: 380px) {
	#service.index #main #sec_3.section._topsec .box2 .link .instalink>.inwrap .account.lts4{ letter-spacing: 0.15em; }
}

#service.index #sec_4 .title{ margin-bottom: 30px; }
#service.index #sec_4 .title>.inwrap{ display: inline-block; line-height: 1; padding: 6px 11px; border: 2px solid #0053a4; }
#service.index #sec_4 .list1{ margin-left: -20px; margin-bottom: 30px; }
#service.index #sec_4 .list1>li{ margin-left: 20px; display: inline-block; }
@media screen and (max-width: 767px) {
	#service.index #sec_4 .title{ padding-top: 10px; }
}
@media screen and (max-width: 500px) {
	#service.index #sec_4 .list1.copy{ font-size: 1.8rem; margin-bottom: 20px; }
}


#service.ouchi #sec_1 #s1_insec2{ position: relative; }
#service.ouchi #sec_1 #s1_insec2::before{ content: ""; width: 0; height: 0; border-style: solid; border-width: 14px 25px 0 25px; border-color: #0052a4 transparent transparent transparent; position: absolute; left: 0; right: 0; margin-left: auto; margin-right: auto; bottom: -14px; }
#service.ouchi #contactbox.secwrap{ padding-top: 60px; padding-bottom: 60px; }
@media screen and (max-width: 1040px) {
}
@media screen and (max-width: 767px) {
	#service.ouchi #contactbox.secwrap{ padding-top: 40px; padding-bottom: 40px; }
}
@media screen and (max-width: 500px) {
}

#service.ouchi #sec_2 .topsectitle{ margin-bottom: 60px; }
#service.ouchi #sec_2 .borderbox{ position: relative; }
#service.ouchi #sec_2 .borderbox>.title{ text-align: center; position: absolute; top: -18px; left: 0; right: 0; }
#service.ouchi #sec_2 .borderbox>.title>.inwrap{ padding: 5px 10px; line-height: 1; border: 2px solid #0053a4; background: #fff; display: inline-block; color: #0053a4; text-align: center; }
#service.ouchi #sec_2 .borderbox .list1{ margin-left: -12px; text-align: center; }
#service.ouchi #sec_2 .borderbox .list1>li{ margin-left: 12px; display: inline-block; vertical-align: middle; }
#service.ouchi #sec_2 .borderbox .list2{ display: flex; flex-direction: row; justify-content: center; margin-top: 40px; }
#service.ouchi #sec_2 .borderbox .list2>li{display: flex;flex-direction: column;justify-content: center;}
#service.ouchi #sec_2 .borderbox .list2>li:nth-child(1),
#service.ouchi #sec_2 .borderbox .list2>li:nth-child(2){ padding-top: 30px; }
#service.ouchi #sec_2 .borderbox .list2>li:first-child{ padding-right: 124px; position: relative; }
#service.ouchi #sec_2 .borderbox .list2>li:first-child::before{ content: ""; background: url(../img/common/arr2.svg) no-repeat; background-size: contain; width: 72px; height: 16px; position: absolute; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; right: 30px; }
#service.ouchi #sec_2 .borderbox .list2>li .img{  height: 100%; display: flex; align-items: center; justify-content: center; }
#service.ouchi #sec_2 .borderbox .list2>li .title{ flex-shrink: 0; padding-top: 10px; }
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li{padding-left: 104px;position: relative;margin-bottom: 6px;}
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li::before{content: "";background: url(../img/common/arr2.svg) no-repeat;background-size: contain;widt;width: 72px;ht: 16px;position: absolute;top: 16px;bottom: 0;margin-top: auto;margin-bottom: auto;left: 20px;}
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li:last-child{ margin-bottom: 0; }
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li>.inwrap{ line-height: 1.4; border: 1px solid #0053a4; padding: 10px 10px; min-width: 233px; text-align: center; display: inline-block; color: #0053a4; }
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li:nth-child(1)::before{transform: rotate(-deg) translateY(25px) translateX(-10px);}
#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li:nth-child(3)::before{ transform: rotate(25deg) translateY(-23px) translateX(-10px); }
@media screen and (max-width: 1040px) {
	#service.ouchi #sec_2 .borderbox .list2{ display: block; }
	#service.ouchi #sec_2 .borderbox .list2>li{ display: block; }
	#service.ouchi #sec_2 .borderbox .list2>li:nth-child(1),
	#service.ouchi #sec_2 .borderbox .list2>li:nth-child(2){ padding-top: 0; }
	#service.ouchi #sec_2 .borderbox .list2>li:first-child{ padding-right: 0; padding-bottom: 80px; position: relative; }
	#service.ouchi #sec_2 .borderbox .list2>li:first-child::before{ width: 66px; height: 10px; left: 0; right: 0; margin-left: auto; margin-right: auto; top: auto; bottom: 30px; transform: rotate(90deg); }
	#service.ouchi #sec_2 .borderbox .list2>li .img{ height: auto; display: block; text-align: center; }
	#service.ouchi #sec_2 .borderbox .list2>li:last-child{ padding-top: 80px; position: relative; }
	#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3{ margin-left: -5px; text-align: center; margin-bottom: -10px; }
	#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li{ padding-left: 0; position: static; display: inline-block; margin-left: 5px; margin-bottom: 10px; }
	#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li::before{ width: 66px; height: 10px; bottom: auto; left: 0; right: 0; margin-left: auto; margin-right: auto; transform: rotate(90deg); top: 40px;}
	#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li>.inwrap{ min-width: auto; max-width: 100%; padding: 5px 10px;  }
	/#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li:nth-child(1)::before{ transform: rotate(-110deg) translateY(20px) translateX(10px); }
	#service.ouchi #sec_2 .borderbox .list2>li:last-child .list3>li:nth-child(3)::before{ transform: rotate(110deg) translateY(20px) translateX(5px); }
}
@media screen and (max-width: 767px) {
	#service.ouchi #sec_2 .topsectitle{ margin-bottom: 50px; }
	#service.ouchi #sec_2 .borderbox .list1{ text-align: left; }
}
@media screen and (max-width: 500px) {
}

#service.ouchi #sec_3 .strengthlist{ margin-top: 35px; }
#service.ouchi #sec_3 .strengthlist .icon{ margin-bottom: 20px; }
#service.ouchi #sec_3 .strengthlist .icon>.inwrap{ padding: 5px 10px; line-height: 1; border: 2px solid #0053a4; background: #fff; display: inline-block; color: #0053a4; text-align: center; }
@media screen and (max-width: 1040px) {
	#service.ouchi #sec_3 .strengthlist .icon{ text-align: center; }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 500px) {
}

#service.ouchi #sec_4 .list1>li{ background: #f7f7f7; padding: 80px 8% 40px; position: relative; margin-bottom: 20px; }
#service.ouchi #sec_4 .list1>li:last-child{ margin-bottom: 0; }
#service.ouchi #sec_4 .list1>li .title1{ position: absolute; top: 0; left: 0; }
#service.ouchi #sec_4 .list1>li .title1>.inwrap{ display: inline-block; display : flex; align-items: center; justify-content: center; line-height : 1; padding : 10px 20px; padding-top: 17px; 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: 160px; box-sizing: border-box; font-weight: bold; }
#service.ouchi #sec_4 .list1>li .txt1{ margin-bottom: 10px; }
#service.ouchi #sec_4 .list1>li .list2{ margin-top: 30px; background: #fff; padding: 40px 7%; }
#service.ouchi #sec_4 .list1>li .list2>li{ padding-bottom: 25px; margin-bottom: 30px; border-bottom: 1px solid #0053a4; }
#service.ouchi #sec_4 .list1>li .list2>li:last-child{ padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
#service.ouchi #sec_4 .list1>li .list2>li>dl{ display: flex; flex-direction: row; }
#service.ouchi #sec_4 .list1>li .list2>li>dl>dt{ padding-right: 20px; width: 140px; box-sizing: border-box; flex-shrink: 0; display: flex; align-items: center; }
#service.ouchi #sec_4 .list1>li .list2>li>dl>dd{ width: 100%; }
@media screen and (max-width: 1040px) {
	#service.ouchi #sec_4 .list1>li{ padding: 90px 6% 40px; }
	#service.ouchi #sec_4 .list1>li .list2{ padding: 30px 8%; }
	#service.ouchi #sec_4 .list1>li .list2>li>dl{ display: block; }
	#service.ouchi #sec_4 .list1>li .list2>li>dl>dt{ padding-right: 0; width: 100%; display: block; text-align: center; margin-bottom: 10px; }
	#service.ouchi #sec_4 .list1>li .title1{ right: 0; margin-left: auto; margin-right: auto; text-align: center; width: 60%; max-width: 170px; }
}
@media screen and (max-width: 767px) {
	#service.ouchi #sec_4 .list1>li{ padding: 80px 6% 40px; }
	#service.ouchi #sec_4 .list1>li .title1>.inwrap{ font-size: 2rem; padding-bottom: 8px; padding-top: 17px; }
	#service.ouchi #sec_4 .list1>li .list2{ padding: 30px 6%; }
}
@media screen and (max-width: 500px) {
	#service.ouchi #sec_4 .list1>li .txt1{ font-size: 1.6rem; line-height: 1.6;}
}

#service.ouchi #sec_5 .list1{ margin-top: 40px; margin-bottom: 90px; }
#service.ouchi #sec_5 .list1>li{ display: flex; flex-direction: row; padding-bottom: 25px; position: relative; }
#service.ouchi #sec_5 .list1>li::before{ content: ""; background: url(../img/common/arr_blue.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: -8px; transform: rotate(90deg); z-index: 1; }
#service.ouchi #sec_5 .list1>li .imgbox{ flex-shrink: 0; width: 43%; }
#service.ouchi #sec_5 .list1>li .imgbox .title{ position: absolute; top: 0; left: 0; z-index: 1; }
#service.ouchi #sec_5 .list1>li .imgbox .title>.inwrap{ display: inline-block; display : flex; align-items: center; justify-content: center; line-height : 1; padding : 10px 20px; padding-top: 17px; 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: 160px; box-sizing: border-box; font-weight: bold; }
#service.ouchi #sec_5 .list1>li .txtbox{ background: #f7f7f7; padding: 75px 6%; }
#service.ouchi #sec_5 .list1>li:last-child{ padding-bottom: 0; }
#service.ouchi #sec_5 .list1>li:last-child::before{ content: none; }
@media screen and (max-width: 1040px) {
	#service.ouchi #sec_5 .list1>li .imgbox .title{ width: 60%; max-width: 170px; }
	#service.ouchi #sec_5 .list1>li .txtbox .title{ text-align: center; }
	#service.ouchi #sec_5 .list1>li::before{ bottom: -5px;  background: url(../img/common/arr_flow.svg) no-repeat; transform: rotate(0); }
}
@media screen and (max-width: 767px) {
	#service.ouchi #sec_5 .list1{ margin-bottom: 60px; }
	#service.ouchi #sec_5 .list1>li{ display: block; }
	#service.ouchi #sec_5 .list1>li .imgbox{ width: 100%; }
	#service.ouchi #sec_5 .list1>li .imgbox .title>.inwrap{ font-size: 1.6rem; padding-bottom: 5px; padding-top: 10px; }
	#service.ouchi #sec_5 .list1>li .txtbox{ padding: 40px 8% 40px; }
}
@media screen and (max-width: 500px) {
	#service.ouchi #sec_5 .list1>li:nth-child(7) .imgbox{ overflow: hidden; }
	#service.ouchi #sec_5 .list1>li:nth-child(7) .imgbox img{ transform: scale(1.2); transform-origin: top left; }
	#service.ouchi #sec_5 .list1>li::before{ display: none; }
}