﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Noto+Serif+JP:wght@600..700&display=swap');


/* reset */
/* -------------------------------------------------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {margin:0; padding:0;}
html {width:100%; height:100%; overflow-y:scroll;}
h1,h2,h3,h4,h5,h6 {font-size:100%; font-weight:bold;}
p, ul, ol, dl, address, blockquote, table, div {font-size:100%;}
p {margin:0 0 0 0;}
ol,ul {list-style:none;}
fieldset,img {border:0; vertical-align:top;}
table {border-collapse:collapse; border-spacing:0;}
caption,th {text-align:left;}
th {vertical-align:top; font-weight:normal; text-align:left;}
td {vertical-align:top;}
address,caption,cite,code,dfn,em,strong,th,var {font-style:normal; font-weight:normal;}
q:before,q:after {content:'';}
abbr,acronym {border:0;}

.noto_serif {font-family:"Noto Serif JP", serif;}
.noto_sans {font-family:"Noto Sans JP", sans-serif;}


/* common */
/* -------------------------------------------------------- */
html,body {font-variant-ligatures:none;}
html {font-size:62.5%;}
body {font-size:14px; font-size:1.4rem; font-family:"Noto Sans JP", sans-serif; color:#251e1c; text-align:center; -webkit-text-size-adjust:100%; text-size-adjust:100%; background:none;}

h1, h2, h3, h4, h5, h6, h7 {font-weight:500; line-height:1.2;}
p, li, dt, dd, th, td, address, blockquote, div {font-weight:500; line-height:1.6;}
input, select, option, textarea, button {font-size:21px; font-size:2.1rem; font-weight:400; font-family:"Noto Sans JP", sans-serif; line-height:1.4; vertical-align:middle; color:inherit; outline:none;}
input[type='submit'],input[type='reset'],input[type='button'], button {color:inherit; cursor:pointer; -ms-appearance:none; -webkit-appearance:none; appearance:none;}
:placeholder-shown {color:#b4b4b4;}
::-webkit-input-placeholder {color:#b4b4b4;}
:-moz-placeholder {color:#b4b4b4; opacity:1;}
::-moz-placeholder {color:#b4b4b4; opacity:1;}
:-ms-input-placeholder {color:#b4b4b4;}

strong {font-weight:bold;}
ol {list-style-type:decimal; margin-left:2.2em;}
img {max-width:100%; width:auto; height:auto; line-height:0; vertical-align:top; border:0; display:inline;}

a {color:#251e1c; text-decoration:underline;}
a:hover {color:#251e1c; text-decoration:none;}


/* decision */
/* -------------------------------------------------------- */
#bpCheck {display:none;}

body .pc {display:block;}
br.pc, span.pc, img.pc {display:inline;}
body .sp, br.sp, span.sp, img.sp {display:none;}

a.off {pointer-events:none; cursor:default; opacity:0.3;}
a.tel {pointer-events:none; cursor:default;}
body.mobile a.tel {pointer-events:auto; cursor:pointer;}

.cfix::before,
.cfix::after {display:table; content:" ";}
.cfix::after {clear:both;}

@media screen and (max-width:767px){
	#bpCheck {display:block;}

	body .pc, br.pc, span.pc, img.pc {display:none;}
	body .sp {display:block;}
	br.sp, span.sp, img.sp {display:inline;}
}


/* container */
/* -------------------------------------------------------- */
#container {width:100%; overflow:hidden;}


/* header */
/* -------------------------------------------------------- */
#header {border-top:solid 28px #203c8c;}
#header .sec {max-width:1660px;}
#header .clm {height:184px; display:flex; justify-content:space-between; align-items:center;}
#header .logo {max-width:280px; width:100%; padding:0 0 0 10px; box-sizing:border-box; order:1;}
#header .sns {padding:0 20px; display:flex; align-items:center; order:3;}
#header .sns > div {width:50px;}
#header .sns a {display:block; transition:opacity 0.3s ease;}
#header .sns a:hover {opacity:0.7;}
#header .nav1 {width:100%; display:flex; flex-wrap:wrap; align-items:center;}
#header .nav1 li {font-size:2.4rem; line-height:1; text-align:center; padding:0 0.5em; position:relative; flex:1;}
#header .nav1 li::before {content:''; width:2px; height:36px; margin:-18px 0 0 0; background-color:#242424; display:block; position:absolute; top:50%; left:0;}
#header .nav1 li:first-of-type::before {display:none;}
#header .nav1 a {text-decoration:none; padding:0.4em 0; display:inline-block; position:relative;}
#header .nav1 a.on::before,
#header .nav1 a:hover::before {content:''; width:100%; height:2px; background-color:#242424; display:block; position:absolute; bottom:0; left:0;}

#gNavBtn {width:6.4vw; height:6.4vw; position:fixed; top:3.8vw; right:3.2vw; z-index:310; cursor:pointer; display:none;}
#gNavBtn > span {width:100%; height:3px; margin:-1px 0 0 0; background-color:rgba(2,57,144,1); display:block; position:absolute; top:50%; left:0; transition-property:background-color;}
#gNavBtn > span::before,
#gNavBtn > span::after {content:''; width:100%; height:3px; background-color:rgba(2,57,144,1); display:block; position:absolute; left:0;}
#gNavBtn > span::before {top:-1.8vw; transition-property:top;}
#gNavBtn > span::after {bottom:-1.8vw; transition-property:bottom;}
body.load #gNavBtn,
body.load #gNavBtn > span::before,
body.load #gNavBtn > span::after {transition-duration:0.3s; transition-delay:0s; transition-timing-function:ease;}

#gNavCheck {display:none;}
#gNavCheck:checked + #header #gNavBtn > span {background-color:rgba(2,57,144,0);}
#gNavCheck:checked + #header #gNavBtn > span::before {top:0; transform:rotate(45deg); background-color:rgba(255,255,255,1); transition-property:transform;}
#gNavCheck:checked + #header #gNavBtn > span::after {bottom:0; transform:rotate(-45deg); background-color:rgba(255,255,255,1); transition-property:transform;}

#gNav {padding:0 40px; flex:1; order:2;}

@media screen and (max-width:767px){
	#header {border-top:solid 1.6vw #203c8c;}
	#header .sec {padding:0 3.2vw;}
	#header .clm {height:11.7vw;}
	#header .logo {max-width:27.2vw; padding:0;}
	#header .sns {padding:0 10vw 0 0;}
	#header .sns > div {width:5.3vw;}
	#header .nav1 {width:auto; padding:120px 3.2vw 0 6vw; display:block;}
	#header .nav1 li {font-size:3.4vw; text-align:left; padding:0 0 2.5em 0;}
	#header .nav1 li::before {display:none;}
	#header .nav1 a {color:#fff; padding:0;}
	#header .nav1 a.on::before,
	#header .nav1 a:hover::before {display:none;}

	#header #gNavBtn {display:block;}
	#gNav {width:56%; height:100vh; padding:0; background-color:#203c8c; position:fixed; top:0; right:-56%; z-index:300; overflow:auto; transition:right 0.6s ease;}
	#gNavCheck:checked + #header #gNav {right:0;}
}


/* footer */
/* -------------------------------------------------------- */
#footer {padding:75px 0 0 0; border-top:solid 50px #d1d1e6; position:relative;}
#footer .logo {max-width:520px; margin:0 auto;}
#footer .txt1 {text-align:left; margin:80px 0 0 0; display:flex; justify-content:center; align-items:center;}
#footer .txt1 dt {font-size:2.4rem; font-weight:400; color:#203c8c; padding:0 2.0em 0 0;}
#footer .txt1 dd {font-size:2.3rem; font-weight:400;}
#footer .nav {margin:50px 0 0 0; display:flex; align-items:center; justify-content: center;}
#footer .nav > li {font-size:2.3rem; line-height:1; text-align:center; padding:0 2em; border-left:solid 1px #251e1c; box-sizing:border-box;}
#footer .nav > li:last-of-type {border-right:solid 1px #251e1c;}
#footer .nav a {text-decoration:none;}
#footer .nav a:hover {text-decoration:underline;}
#footer .copy {width:100%; height:50px; font-size:1.8rem; font-weight:400; text-align:center; line-height:1; color:#fff; margin:50px 0 0 0; background-color:#203c8c; display:flex; justify-content:center; align-items:center;}
#footer .pagetop {position:absolute; bottom:50px; right:0; z-index:100;}
#footer .pagetop a {width:80px; height:80px; background:#535353 url(../img/arrow_01.png) center center no-repeat; background-size:31px auto; display:block;}

@media screen and (max-width:767px){
	#footer {padding:6.6vw 0 0 0; border-top:solid 4.0vw #d1d1e6;}
	#footer .logo {max-width:50.6vw; margin:0 auto;}
	#footer .txt1 {text-align:center; margin:3.4vw 0 0 0; display:block;}
	#footer .txt1 dt {font-size:3.3vw; padding:0;}
	#footer .txt1 dd {font-size:2.6vw; margin:0.5em 0 0 0;}
	#footer .nav {margin:1.3vw 0 0 0; display:flex; flex-wrap:wrap; justify-content:center; align-items:center;}
	#footer .nav > li {font-size:3.0vw; white-space:nowrap; margin:4.0vw 0 0 0; padding:0 1.6em; flex:0 0 auto !important;}
	#footer .copy {width:100%; height:6.4vw; font-size:2.8vw; margin:9.3vw 0 0 0;}
	#footer .pagetop {bottom:6.4vw; right:3.2vw;}
	#footer .pagetop a {width:7.2vw; height:7.2vw; background-size:37% auto;}
}


/* contents */
/* -------------------------------------------------------- */
#contents {}

.sec {max-width:1240px; margin:0 auto; box-sizing:border-box;}
.parallax {opacity:0;}
.parallax.on {opacity:1; transition:opacity 2.0s 0.3s ease;}

#loading-layer {width:100%; height:100%; background-color:rgba(255,255,255,0.8); display:block; position:fixed; top:0; left:0; opacity:0; pointer-events:none; z-index:9999; transition:opacity 0.3s ease;}
#loading-layer svg {width:60px; height:60px; margin:-30px 0 0 -30px; display:block; position:absolute; top:50%; left:50%;}
body.loading #loading-layer {opacity:1; pointer-events:auto;}
body.loading #loading-layer svg {animation:loading 2s linear 0s infinite normal none;}
@keyframes loading {
	0% {transform:rotate(0deg);}
	100% {transform:rotate(360deg);}
}

.ttl-01 {width:144px; height:336px; font-family:"Noto Serif JP", serif; font-size:4.0rem; font-weight:600; line-height:1.2; text-align:center; color:#203c8c; background-color:#fff; box-sizing:border-box; display:flex; justify-content:center; align-items:center; position:relative; z-index:5;}
.ttl-01 span {display:block;}
.ttl-01::before,
.ttl-01::after,
.ttl-01 > span::before,
.ttl-01 > span::after {content:''; width:35px; height:2px; background-color:#203c8c; display:block; position:absolute;}
.ttl-01::before {top:-1px; left:-1px;}
.ttl-01::after {top:-1px; right:-1px;}
.ttl-01 > span::before {bottom:-1px; left:-1px;}
.ttl-01 > span::after {bottom:-1px; right:-1px;}
.ttl-01 > span > span::before,
.ttl-01 > span > span::after,
.ttl-01 > span > span > span::before,
.ttl-01 > span > span > span::after {content:''; width:2px; height:42px; background-color:#203c8c; display:block; position:absolute;}
.ttl-01 > span > span::before {top:-1px; left:-1px;}
.ttl-01 > span > span::after {top:-1px; right:-1px;}
.ttl-01 > span > span > span::before {bottom:-1px; left:-1px;}
.ttl-01 > span > span > span::after {bottom:-1px; right:-1px;}

.ttl-02 {text-align:center;}
.ttl-02 > span {font-family:"Noto Serif JP", serif; font-size:3.6rem; font-weight:700; line-height:1.2; color:#fff; padding:0.5em 1.5em; background-color:#203c8c; border-radius:10px; box-sizing:border-box; display:inline-block;}

.btn-01 {width:100%; height:100px; font-size:3.6rem; line-height:1; text-decoration:none; color:#fff; background-color:#a79b62; box-shadow:10px 10px 10px rgba(1,6,61,0.7); border:3px solid #a79b62; border-radius:15px; box-sizing:border-box; display:flex; justify-content:center; align-items:center; transition:opacity 0.3s ease;}
.btn-01:hover {text-decoration:none; color:#fff; opacity:0.7;}
.btn-02 {width:100%; height:100px; font-size:3.6rem; line-height:1; text-decoration:none; color:#867539; background-color:#fff; box-shadow:10px 10px 10px rgba(1,6,61,0.7); border:3px solid #a79b62; border-radius:15px; box-sizing:border-box; display:flex; justify-content:center; align-items:center; transition:opacity 0.3s ease;}
.btn-02:hover {text-decoration:none; color:#867539; opacity:0.7;}

@media screen and (max-width:767px){
	.sec {padding:0 5.2vw;}

	.ttl-01 {width:44.8vw; height:18.6vw; font-size:5.3vw; letter-spacing:0.1em;}
	.ttl-01 br {display:none;}
	.ttl-01::before,
	.ttl-01::after,
	.ttl-01 > span::before,
	.ttl-01 > span::after {width:5.8vw;}
	.ttl-01 > span > span::before,
	.ttl-01 > span > span::after,
	.ttl-01 > span > span > span::before,
	.ttl-01 > span > span > span::after {height:4.5vw;}

	.ttl-02 > span {font-size:4.8vw; line-height:1.4; text-align:center; padding:0.5em 1.5em;}

	.btn-01 {height:13.3vw; font-size:4.8vw; box-shadow:5px 5px 5px rgba(1,6,61,0.7);}
	.btn-02 {height:13.3vw; font-size:4.8vw; box-shadow:5px 5px 5px rgba(1,6,61,0.7);}
}

/* top */
.top-mv-sec {padding:60px 0 0 0; position:relative; z-index: 0;}
.top-mv-sec::before {content:''; width:100%; height:840px; background-color:#d1d1e6; display:block; position:absolute; top:0; left:0;}
.top-mv-sec .img {position:relative; z-index:5;}

.top-catch-sec {padding:180px 0 230px 0; background:url(../img/top/bg_01.png) center bottom no-repeat; background-size:100% auto;}
.top-catch-sec .sec {position:relative;}
.top-catch-sec .ctx {margin:0 0 0 38%;}
.top-catch-sec .txt1 {width:58.4%; position:absolute; top:-226px; left:0;}
.top-catch-sec .txt2 p {font-family:"Noto Serif JP", serif; font-size:3.0rem; font-weight:600; line-height:2.3; text-align:left;}
.top-catch-sec .txt2 p + p {margin:1.0em 0 0 0;}
.top-catch-sec .txt3 {max-width:450px; margin:60px 0 0 0;}

.top-content-sec {padding:0 0 150px 0; background-color:#d1d1e6;}
.top-content-sec .img1 {padding:0 0 70px 0;}
.top-content-sec .box {text-align:left; padding:100px 0 0 0; background:-webkit-linear-gradient(top, #b4b4d5, #d1d1e6); background:linear-gradient(to bottom, #b4b4d5, #d1d1e6); position:relative;}
.top-content-sec .box::before {content:''; width:100%; height:100%; background:-webkit-linear-gradient(top, #b4b4d5, #d1d1e6); background:linear-gradient(to bottom, #b4b4d5, #d1d1e6); display:block; position:absolute; top:0;}
.top-content-sec .box.type1 {padding-left:380px; padding-right:50px; padding-bottom:750px;}
.top-content-sec .box.type1::before {left:100%;}
.top-content-sec .box.type1 .img {left:-19%;}
.top-content-sec .box.type2 {padding-bottom:520px;}
.top-content-sec .box.type2::before {right:100%;}
.top-content-sec .box.type2 .img {right:-5%;}
.top-content-sec .box .inr {position:relative; z-index:5;}
.top-content-sec .box .img {width:90%; position:absolute; bottom:0;}
.top-content-sec .ttl {position:absolute; top:90px; left:60px; z-index:5;}
.top-content-sec .txt1 {max-width:460px; width:100%; height:85px; font-family:"Noto Serif JP", serif; font-size:3.6rem; font-weight:700; line-height:1; color:#fff; background-color:#203c8c; border-radius:10px; display:flex; justify-content:center; align-items:center;}
.top-content-sec .txt2 {font-size:2.5rem; line-height:2.2; margin:60px 0 0 0;}
.top-content-sec .txt3 {margin:70px 50px 0 55px;}
.top-content-sec .txt3 dt {font-size:3.0rem; line-height:2.0; color:#203c8c;}
.top-content-sec .txt3 dd {font-size:2.5rem; line-height:2.2; padding:0 0 0 1.0em; position:relative;}
.top-content-sec .txt3 dd::before {content:'・'; position:absolute; top:0; left:0;}
.top-content-sec .txt4 {max-width:500px; width:100%; margin:0 0 0 auto;}
.top-content-sec .txt4 > div {margin:55px 0 0 0;}
.top-content-sec .txt5 {max-width:760px; margin:30px 0 0 0; padding:10px 0 0 55px; border-top:solid 1px #fff; box-sizing:border-box;}
.top-content-sec .txt5 > li {font-size:3.0rem; line-height:1.2; color:#203c8c; margin:30px 0 0 0; padding:0 0 0 30px; position:relative;}
.top-content-sec .txt5 > li::before {content:''; width:7px; height:36px; background-color:#203c8c; display:block; position:absolute; top:0; left:0;}

.top-company-sec {color:#fff; padding:150px 60px; background-color:#203c8c;}
.top-company-sec .sec {position:relative;}
.top-company-sec .ttl {color:#fff; background-color:transparent; position:absolute; top:0; left:0;}
.top-company-sec .ttl::before,
.top-company-sec .ttl::after,
.top-company-sec .ttl > span::before,
.top-company-sec .ttl > span::after {background-color:#fff;}
.top-company-sec .ttl > span > span::before,
.top-company-sec .ttl > span > span::after,
.top-company-sec .ttl > span > span > span::before,
.top-company-sec .ttl > span > span > span::after {background-color:#fff;}
.top-company-sec .txt1 {text-align:left; margin:0 0 0 300px;}
.top-company-sec .txt1 dt {font-family:"Noto Serif JP", serif; font-size:4.8rem; font-weight:600;}
.top-company-sec .txt1 dd {font-size:2.5rem; line-height:2.2; margin:60px 0 0 0;}
.top-company-sec .txt2 {text-align:left; margin:60px 0 0 0;}
.top-company-sec .txt2 dl {padding:30px 0; border-bottom:solid 1px #fff; display:flex;}
.top-company-sec .txt2 dt {width:10.5em; font-size:2.4rem; font-weight:400; line-height:2; position:relative;}
.top-company-sec .txt2 dt::before {content:''; width:1px; height:30px; background-color:#fff; display:block; position:absolute; bottom:-30px; right:0;}
.top-company-sec .txt2 dd {font-size:2.4rem; font-weight:400; line-height:2; padding:0 0 0 2.0em; flex:1;}

@media screen and (max-width:1920px){
	.top-catch-sec {background-size:1920px auto;}
}
@media screen and (max-width:1240px){
	.top-mv-sec {padding:4.8vw 0 0 0;}
	.top-mv-sec::before {height:67.7vw;}
	.top-catch-sec {padding:14.5vw 0 18.5vw 0;}
	.top-catch-sec .txt1 {top:-18.2vw;}
	.top-content-sec .box.type1 {padding-left:30.6vw; padding-bottom:44.3vw;}
	.top-content-sec .box.type2 {padding-bottom:41.9vw;}
	.top-company-sec .txt1 {margin:0 0 0 24.1vw;}
}
@media screen and (max-width:767px){
	.top-mv-sec .sec {padding:0;}
	.top-catch-sec {padding:0 0 18.5vw 0; background-size:960px auto;}
	.top-catch-sec .ctx {margin:0;}
	.top-catch-sec .txt1 {width:74.6%; margin:-3.2vw auto 0 auto; position:relative; top:0; left:0;}
	.top-catch-sec .txt2 {padding:15.5vw 0 0 0;}
	.top-catch-sec .txt2 p {font-size:4.0vw;}
	.top-catch-sec .txt3 {max-width:53.3vw; margin:4.2vw auto 0 auto;}

	.top-content-sec {padding:0 0 11.3vw 0;}
	.top-content-sec .sec {padding:0;}
	.top-content-sec .img1 {max-width:26.6vw; margin:0 auto; padding:0 0 20.0vw 0;}
	.top-content-sec .box {padding:17.3vw 5.2vw 0 5.2vw;}
	.top-content-sec .box.type1 {padding-left:5.2vw; padding-right:5.2vw; padding-bottom:0;}
	.top-content-sec .box.type1 .img {width:auto; margin:6.9vw -13.3vw 0 -13.3vw;}
	.top-content-sec .box.type2 {padding-bottom:0;}
	.top-content-sec .box.type2 .img {width:100%; margin:6.6vw 0 0 0; right:0;}
	.top-content-sec .box .img {position:static;}
	.top-content-sec .ttl {margin:0 0 0 -22.4vw; position:absolute; top:-9.3vw; left:50%;}
	.top-content-sec .txt1 {max-width:62.2vw; width:100%; height:11.2vw; font-size:4.8vw; margin:0 auto;}
	.top-content-sec .txt2 {font-size:3.3vw; line-height:1.8; margin:2em 0 0 0;}
	.top-content-sec .txt3 {margin:6.6vw 0 0 0;}
	.top-content-sec .txt3 dt {font-size:4.0vw; line-height:1.6;}
	.top-content-sec .txt3 dd {font-size:3.3vw; line-height:1.6; margin:0.5em 0 0 0;}
	.top-content-sec .txt4 {max-width:66.6vw; margin:0 auto;}
	.top-content-sec .txt4 > div {margin:5.3vw 0 0 0;}
	.top-content-sec .txt5 {margin:6.6vw 0 0 0; padding:10px 0 0 0;}
	.top-content-sec .txt5 > li {font-size:4.0vw; margin:0.8em 0 0 0; padding:0 0 0 20px;}
	.top-content-sec .txt5 > li::before {width:6px; height:5.0vw;}

	.top-company-sec {padding:13.3vw 0;}
	.top-company-sec .ttl {margin:0 auto; position:relative; top:0; left:0;}
	.top-company-sec .txt1 {margin:9.3vw 0 0 0;}
	.top-company-sec .txt1 dt {font-size:6.0vw;}
	.top-company-sec .txt1 dd {font-size:3.3vw; line-height:2.0; margin:2em 0 0 0;}
	.top-company-sec .txt2 {margin:6.6vw 0 0 0;}
	.top-company-sec .txt2 dl {padding:2.6vw 0;}
	.top-company-sec .txt2 dt {width:10.5em; font-size:3.2vw; line-height:1.6;}
	.top-company-sec .txt2 dt::before {height:3.2vw; bottom:-2.6vw;}
	.top-company-sec .txt2 dd {font-size:3.2vw; line-height:1.6;}
}

/* concept */
@media screen and (max-width:767px){
}

/* business */
@media screen and (max-width:767px){
}

/* company */
@media screen and (max-width:767px){
}

/* form-head */
.form-head-sec {padding:100px 0 100px 0; background-color:#d1d1e6;}
.form-head-sec .sec {padding:0 58px; position:relative;}
.form-head-sec .ctx {padding:0 0 0 25%;}
.form-head-sec .ttl {height:460px; line-height:1.1; position:absolute; top:0; left:58px;}
.form-head-sec .img {margin:80px -11% 0 0;}
.form-head-sec .txt1 {font-size:3.0rem; line-height:1.6; text-align:left; color:#203c8c; margin:0 0 0 10px; padding:0 0 0 32px; position:relative;}
.form-head-sec .txt1::before {content:''; width:7px; height:100%; background-color:#203c8c; display:block; position:absolute; top:0; left:0;}
.form-head-sec .txt2 {margin:0 -30px 0 0; padding:5px 0 0 0;}
.form-head-sec .txt2 > div {width:100%; height:82px; font-size:2.5rem; line-height:1.6; text-align:left; margin:25px 0 0 0; padding:0 0 0 45px; background-color:#fff; border-radius:10px; box-sizing:border-box; display:flex; align-items:center;}
.form-head-sec .txt2 + .txt1 {margin-top:80px;}
.form-head-sec .txt3 {font-size:2.5rem; line-height:2; text-align:left; margin:1.5em 0 0 45px;}
.form-head-sec .txt3 + .txt1 {margin-top:80px;}
.form-head-sec .txt4 {margin:60px 0 0 0; display:flex; justify-content:space-between;}
.form-head-sec .txt4 > div {width:90px; height:600px; color:#203c8c; background-color:#fff; border-radius:12px; display:flex; justify-content:center; align-items:center; position:relative;}
.form-head-sec .txt4 > div::before {content:''; width:25px; height:25px; margin:-12px 0 0 0; background:url(../img/arrow_02.png) center center no-repeat; background-size:cover; display:block; position:absolute; top:50%; left:108px; z-index:5;}
.form-head-sec .txt4 > div:last-of-type::before {display:none;}
.form-head-sec .txt4 span {font-size:2.5rem; line-height:1.1; display:block;}
.form-head-sec .txt4 span.roll {transform:rotate(90deg);}
.form-head-sec.career {padding-bottom:0;}
.form-head-sec.career .img {margin:80px 0 0 -11%;}

@media screen and (max-width:1240px){
	.form-head-sec .txt4 > div::before {left:8.8vw;}
}
@media screen and (max-width:767px){
	.form-head-sec {padding:10.6vw 0;}
	.form-head-sec .sec {padding:0 5.2vw;}
	.form-head-sec .ctx {padding:0;}
	.form-head-sec .ttl {width:62.1vw; height:18.9vw; letter-spacing:0; margin:0 auto; position:relative; top:0; left:0;}
	.form-head-sec .img {margin:6.6vw 0 0 0;}
	.form-head-sec .txt1 {font-size:4.0vw; margin:8.0vw 0 0 0; padding:0 0 0 4.8vw;}
	.form-head-sec .txt1::before {width:1.0vw;}
	.form-head-sec .txt2 {margin:0; padding:1.6vw 0 0 0;}
	.form-head-sec .txt2 > div {width:100%; height:16.4vw; font-size:3.3vw; line-height:1.5; margin:2.6vw 0 0 0; padding:0 5.0vw;}
	.form-head-sec .txt2 + .txt1 {margin-top:8.0vw;}
	.form-head-sec .txt3 {font-size:3.3vw; line-height:1.8; margin:1.0em 0 0 5.0vw;}
	.form-head-sec .txt3 + .txt1 {margin-top:8.0vw;}
	.form-head-sec .txt4 {margin:5.3vw 0 0 0;}
	.form-head-sec .txt4 > div {width:6.9vw; height:60.8vw; border-radius:10px;}
	.form-head-sec .txt4 > div::before {width:2.9vw; height:2.9vw; margin:-1.4vw 0 0 0; left:8.0vw;}
	.form-head-sec .txt4 span {font-size:2.8vw;}
	.form-head-sec.career {padding-bottom:0;}
	.form-head-sec.career .img {margin:4.0vw -14.0vw 0 -4.0vw;}
}

/* form */
.form-sec {padding:100px 0 150px 0;}
.form-sec .form-box {text-align:left; margin:50px 0 0 0; padding:40px 58px 70px 58px; background-color:#eee; border-radius:10px;}
.form-sec .txt1 {font-size:2.5rem; line-height:2; text-align:left; margin:2.0em 58px 0 58px;}
.form-sec .txt1 span {font-size:72%; line-height:1.6; margin:1.0em 0 0 0; display:inline-block;}
.form-sec .txt2 > dl {margin:50px 0 0 0;}
.form-sec .txt2 > dl > dt {font-size:2.1rem; font-weight:400;}
.form-sec .txt2 > dl > dt span {font-size:86%; color:#c50018; margin:0 0 0 0.5em; display:inline-block;}
.form-sec .txt2 > dl > dd {font-size:2.1rem; font-weight:400; margin:10px 0 0 0;}
.form-sec .txt3 {margin:50px 0 0 0;}
.form-sec .txt3 > li {font-size:2.1rem; font-weight:400; padding:0 0 0 1.0em; position:relative;}
.form-sec .txt3 > li span {position:absolute; top:0; left:0;}
.form-sec .btns {margin:80px 0 0 0; display:flex; flex-wrap:wrap;}
.form-sec .btns > div {width:100%; padding:20px 0 0 0;}
.form-sec .clm1 {display:flex; justify-content:space-between;}
.form-sec .clm1 > div {width:46.5%;}
.form-sec .erro-txt {font-size:2.1rem; color:#c00; margin:0.3em 0 0 0;}
.form-sec input.inputCheck {display:none;}
.form-sec input[type="text"],
.form-sec input[type="email"],
.form-sec input[type="number"],
.form-sec select,
.form-sec textarea {width:100%; font-size:2.1rem; font-weight:400; line-height:1; padding:0.8em 1.2em; background-color:#fff; border:1px solid #7f7f80; border-radius:6px; box-sizing:border-box; outline:none;}
.form-sec textarea {height:360px; line-height:1.2; resize:none;}
.form-sec select {line-height:1.4;}
.form-sec option {font-size:2.1rem;}
.form-sec input[type="file"] {width:100%; font-size:2.1rem; font-weight:400;}
.form-sec input[type="file"]::file-selector-button {width:230px; height:76px; font-size:2.1rem; font-weight:400; vertical-align:middle; margin:0 1.0em 0 0; border:1px solid #7f7f80; border-radius:6px; box-sizing:border-box; display:inline-block;}
.form-sec button[type="submit"],
.form-sec button[type="button"] {width:100%; height:86px; font-size:3.6rem; line-height:1; text-decoration:none; color:#fff; background-color:#203c8c; border:none; border-radius:10px; box-sizing:border-box; display:flex; justify-content:center; align-items:center; transition:opacity 0.3s ease;}
.form-sec button[type="submit"]:hover,
.form-sec button[type="button"]:hover {opacity:0.7;}
.form-sec.conf .txt2 > dl > dt {font-weight:600;}
.form-sec.career .ttl > span {width:470px;}
.file-box {display:flex; align-items:center; cursor:pointer;}
.file-box > input[type="file"] {display:none;}
.file-box > span.pik {width:230px; height:76px; font-size:2.1rem; font-weight:400; vertical-align:middle; margin:0 1.0em 0 0; border:1px solid #7f7f80; border-radius:6px; box-sizing:border-box; display:flex; justify-content:center; align-items:center;}
.file-box > span.name {font-size:2.1rem; font-weight:400; line-height:1;}
.select-style {display:block; position:relative; cursor:pointer;}
.select-style:after {content:''; width:19px; height:19px; margin:-9px 0 0 0; background:url(../img/arrow_03.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; right:15px; pointer-events:none;}
.select-style > select {padding:1.0em 40px 1.0em 1.2em;}
.select-style > select {font-size:inherit; vertical-align:middle; text-indent:0.01px; text-overflow:''; color:inherit; outline:none; -webkit-appearance:none; -moz-appearance:none; appearance:none;}
.select-style > select::-ms-expand {display:none;}
.select-style > select:-moz-focusring {color:transparent; text-shadow:0 0 0 #828c9a;}

@media screen and (max-width:767px){
	.form-sec {padding:10.6vw 0 16.0vw 0;}
	.form-sec .form-box {margin:4.0vw -1.3vw 0 -1.3vw; padding:3.3vw 6.0vw 6.9vw 6.0vw;}
	.form-sec .txt1 {font-size:3.3vw; line-height:1.6; margin:1.2em 0 0 0;}
	.form-sec .txt2 > dl {margin:4.0vw 0 0 0;}
	.form-sec .txt2 > dl > dt {font-size:2.8vw; margin-right:-2.0vw;}
	.form-sec .txt2 > dl > dd {font-size:2.8vw; margin:1.8vw 0 0 0;}
	.form-sec .txt3 {margin:6.0vw 0 0 0;}
	.form-sec .txt3 > li {font-size:2.8vw;}
	.form-sec .btns {margin:10.0vw 0 0 0;}
	.form-sec .btns > div {padding:3.0vw 0 0 0;}
	.form-sec .clm1 {display:block;}
	.form-sec .clm1 > div {width:auto;}
	.form-sec .erro-txt {font-size:2.8vw;}
	.form-sec input[type="text"],
	.form-sec input[type="email"],
	.form-sec input[type="number"],
	.form-sec select,
	.form-sec textarea {font-size:2.8vw; padding:0.8em 1.2em;}
	.form-sec textarea {height:48.0vw;}
	.form-sec option {font-size:2.8vw;}
	.form-sec input[type="file"] {width:100%; font-size:2.8vw;}
	.form-sec input[type="file"]::file-selector-button {width:30.0vw; height:10.0vw; font-size:2.8vw;}
	.form-sec button[type="submit"] {height:11.2vw; font-size:4.8vw;}
	.form-sec.career .ttl > span {width:62.6vw;}
	.file-box > span.pik {width:30.0vw; height:10.0vw; font-size:2.8vw;}
	.file-box > span.name {font-size:2.8vw;}
	.select-style:after {width:12px; height:12px; margin:-6px 0 0 0; right:10px;}
	.select-style > select {padding:1.0em 30px 1.0em 1.2em;}
}

/* privacy-policy */
.privacy-policy-sec {padding:150px 0; background-color:#d1d1e6;}
.privacy-policy-sec .sec {position:relative;}
.privacy-policy-sec .ttl {height:550px; line-height:1.1; position:absolute; top:0; left:58px;}
.privacy-policy-sec .ttl span.roll {transform:rotate(87deg) scale(1,-1);}
.privacy-policy-sec .txt1 {text-align:left; margin:0 58px 0 28%;}
.privacy-policy-sec .txt1 dl + dl {margin:50px 0 0 0;}
.privacy-policy-sec .txt1 dt {font-size:3.0rem; line-height:1.5; color:#203c8c; padding:0 0 0 65px; position:relative;}
.privacy-policy-sec .txt1 dt span {width:44px; height:44px; font-size:3.0rem; font-weight:700; line-height:1; color:#fff; background-color:#203c8c; border-radius:6px; display:flex; justify-content:center; align-items:center; position:absolute; top:0; left:0;}
.privacy-policy-sec .txt1 dt + dd {margin-top:1.2em;}
.privacy-policy-sec .txt1 dd {font-size:2.5rem; line-height:2; margin:0.5em 0 0 0;}

@media screen and (max-width:767px){
	.privacy-policy-sec {padding:10.6vw 0;}
	.privacy-policy-sec .ttl {width:62.1vw; height:18.9vw; letter-spacing:0; margin:0 auto; position:relative; top:0; left:0;}
	.privacy-policy-sec .ttl span.roll {display:inline; transform:rotate(0deg) scale(1,1);}
	.privacy-policy-sec .txt1 {margin:6vw 0 0 0;}
	.privacy-policy-sec .txt1 dl + dl {margin:6.6vw 0 0 0;}
	.privacy-policy-sec .txt1 dt {font-size:4.0vw; padding:0 0 0 8.6vw;}
	.privacy-policy-sec .txt1 dt span {width:6.0vw; height:6.0vw; font-size:4.0vw;}
	.privacy-policy-sec .txt1 dd {font-size:3.3vw; line-height:1.8;}
}



/* 202509 add */
/* gNav drop-menu */
.drop-menu span {
  display: inline-block;
   padding: 0.4em 0;
   cursor: pointer;
}
.drop-menu:hover .drop-menu-list {
  visibility: visible; 
}
.drop-menu {
  position: relative;
}
.drop-menu-list {
  background-color: #203c8c;
  left: 0;
  position: absolute;
  top: 100%;
  visibility: hidden;
  width: max-content;
  z-index: 100000;
}
.drop-menu-list li::before {
  content: none !important;
}
.drop-menu-list li a:hover::before {
  background-color: #fff !important;
}
.drop-menu-list a {
  display: block !important;
  padding: 1.25em 2em !important;
  color: #fff;
}
.language {
  order: 4;
  padding: 0 20px;
}
.language ul {
  display: flex;
}
.language ul li {font-size:2.4rem; line-height:1; text-align:center; padding:0 0.5em; position:relative; flex:1;}
.language ul li::before {content:''; width:2px; height:36px; margin:-18px 0 0 0; background-color:#242424; display:block; position:absolute; top:50%; left:0;}
.language ul li:first-of-type::before {display:none;}
.language ul li a {text-decoration:none; padding:0.4em 0; display:inline-block; position:relative;}
.language ul li span {text-decoration:none; padding:0.4em 0; display:inline-block; position:relative; font-weight: bold;}

@media screen and (max-width:767px){
  .drop-menu {
    padding-bottom: 0 !important;
  }
  .drop-menu span {
    padding: 0 0 2em;
    cursor: default;
    color: #fff;
  }
  .drop-menu-list {
    position: static;
    visibility: visible;
    width: auto;
  }
  .drop-menu-list li {
    padding-left: 1em !important;
    line-height: 1.5 !important;
  }
  .drop-menu-list a {
    padding: 0 !important;
  }
  #header .sns {
    padding: 0;
    position: absolute;
    right: 35vw;
  }
  .language {
    padding: 0 10vw;
  }
  .language ul li {
    font-size: 4.2vw;
  }
  .language ul li::before {
    content:''; 
    width:1px; 
    height:4vw; 
    margin: -2vw 0 0 0;
  }
}
/* Top */
.top-button {
  max-width: 500px;
  margin-top: 2.5em;
}
.top-fig01 {
  width: 100%;
  margin-top: 2.5em;
  margin-left: auto;
}
.mt60 {
  margin-top: 60px;
}
@media screen and (max-width:767px){
  .top-button {
    max-width: 66.6vw;
    margin: 2.5em auto 0;
  }
  .top-fig01 {
    width: auto;
    margin: 6.9vw -13.3vw 0 -13.3vw;
  }
  .mt60 {
    margin-top: 15vw;
  }
}
/* global */
.global-kv {
  background: #d1d1e6;
  padding: 100px 0;
  text-align: left;
  box-sizing: border-box;
}
.global-kv-inner {
  position: relative;
}
.global-kv-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 4rem;
  font-weight: bold;
  color: #223E8A;
  position: relative;
  z-index: 1;
}
.global-kv-txt {
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  line-height: 1.8;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
.global-kv-btn {
  max-width: 400px;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
.global-kv-btn .btn-01 {
  font-size: 2.5rem;
  height: 80px;
}
.global-kv-fig {
  position: absolute;
  right: 0;
  top: 2.5rem;
  z-index: 0;
}
.global-task {
  padding-top: 180px;
}
.global-task-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-task-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 60px;
}
.global-task-list li {
  width: 29%;
  border-radius: 10px;
  min-height: 200px;
  box-sizing: border-box;
  font-size: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #223E8A;
  color: #fff;
  line-height: 1.8;
}
.global-solution {
  background: #d1d1e6;
  padding: 100px 0;
  box-sizing: border-box;
  margin-top: 100px;
}
.global-solution-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-solution-txt {
  font-size: 2.4rem;
  margin-top: 60px;
  line-height: 1.8;
}
.global-solution-list {
  display: flex;
  justify-content: space-between;
  max-width: 1040px;
  margin: 60px auto 0;
}
.global-solution-panel {
  background: #fff;
  border-radius: 10px;
  width: 29%;
  box-sizing: border-box;
  position: relative;
}
.global-solution-panel:nth-of-type(1)::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 50px 50px;
  border-color: transparent transparent transparent #8b96c1;
  position: absolute;
  top: 25%;
  right: -60px;
}
.global-solution-panel:nth-of-type(2)::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 0 50px 50px;
  border-color: transparent transparent transparent #576aa5;
  position: absolute;
  top: 25%;
  right: -60px;
}
.global-solution-panel dt {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  padding: 20px 0;
  color: #223E8A;
}
.global-solution-panel .dd01 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.6rem;
  font-weight: bold;
  color: #fff;
  background: #8b96c1;
  width: 100%;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.global-solution-panel:nth-of-type(2) .dd01 {
  background: #576aa5;
}
.global-solution-panel:nth-of-type(3) .dd01 {
  background: #223E8A;
}
.global-solution-panel .dd02 {
  background: #F0F0F0;
  border-radius: 0 0 10px 10px;
  width: 100%;
  height: 180px;
  display: flex;
  align-items: center;
  text-align: left;
}
.global-solution-panel .dd02 ul {
  margin-left: 1.5em;
}
.global-solution-panel .dd02 li {
  list-style-type: disc;
  list-style-position: inside;
  font-size: 1.9rem;
  margin-top: 0.5em;
  padding-left: 1.25em;
  text-indent: -1.25em;
}
.global-solution-note {
  font-size: 1.8rem;
  max-width: 1040px;
  margin: 20px auto 0;
  text-align: left;
}
.global-service {
  margin-top: 100px;
}
.global-service-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-service-box {
  display: flex;
  justify-content: space-between;
  font-family: "Noto Serif JP", serif;
  margin-top: 60px;
}
.global-service-box-txt01 {
  width: 29%;
  position: relative;
}
.global-service-box-txt01::before {
  content: "";
  display: block;
  width: 70px;
  height: 80px;
  background: #F0F0F0;
  clip-path: polygon(0 31%, 63.2% 31%, 63.2% 0, 100% 50%, 63.2% 100%, 63.2% 69%, 0 69%);
  position: absolute;
  right: -68px;
  top: 10%;
}
.global-service-box-txt01::after {
  content: "";
  display: block;
  width: 70px;
  height: 80px;
  background: #F0F0F0;
  clip-path: polygon(0 31%, 63.2% 31%, 63.2% 0, 100% 50%, 63.2% 100%, 63.2% 69%, 0 69%);
  position: absolute;
  right: -68px;
  bottom: 10%;
}
.global-service-box-txt01 p {
  min-height: 114px;
  box-sizing: border-box;
  font-size: 2.6rem;
  background: #F0F0F0;
  border-radius: 10px;
  color: #223E8A;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.8;
}
.global-service-box-txt01 p:not(:first-of-type) {
  margin-top: 25px;
}
.global-service-box-txt02 {
  width: 29%;
  padding: 10px 0;
  font-size: 2.6rem;
  background: #223E8A;
  border-radius: 10px;
  color: #fff;
  position: relative;
  display:flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  line-height: 1.8;
}
.global-service-box-txt02::before {
  content: "";
  display: block;
  width: 70px;
  height: 80px;
  background: #223E8A;
  clip-path: polygon(0 31%, 63.2% 31%, 63.2% 0, 100% 50%, 63.2% 100%, 63.2% 69%, 0 69%);
  position: absolute;
  right: -68px;
  top: 10%;
}
.global-service-box-txt02::after {
  content: "";
  display: block;
  width: 70px;
  height: 80px;
  background: #223E8A;
  clip-path: polygon(0 31%, 63.2% 31%, 63.2% 0, 100% 50%, 63.2% 100%, 63.2% 69%, 0 69%);
  position: absolute;
  right: -68px;
  bottom: 10%;
}
.global-service-box-txt02 div {
  width: 50%;
  margin: 20px auto 0;
}
.global-service-box-txt03 {
  width: 29%;
}

.global-service-box-txt03 p {
  min-height: 114px;
  box-sizing: border-box;
  font-size: 2.6rem;
  border: solid 3px #223E8A;
  border-radius: 10px;
  color: #223E8A;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.8;
}
.global-service-box-txt03 p:not(:first-of-type) {
  margin-top: 25px;
}
.global-point {
  background: #d1d1e6;
  padding: 100px 0;
  box-sizing: border-box;
  margin-top: 150px;
}
.global-point-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-point-list {
  margin: 60px auto 0;
  display: flex;
  justify-content: space-between;
}
.global-point-panel {
  width: 30%;
}
.global-point-panel-ttl {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.8;
}
.global-point-panel-txt {
  font-size: 2.2rem;
  margin-top: 20px;
  text-align: left;
  line-height: 1.8;
}
.global-point-panel-fig {
  margin-top: 20px;
}
.global-case {
  margin-top: 150px;
}
.global-case-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-case-panel {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  text-align: left;
}
.global-case-panel:nth-child(even) {
  flex-direction: row-reverse
}
.global-case-panel-txt {
  width: 50%;
}
.global-case-panel-txt h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: bold;
  color: #223E8A;
  line-height: 1.8;
}
.global-case-panel-txt dl dt {
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.8;
  margin-top: 1.5em;
}
.global-case-panel-txt dl dd {
  font-size: 2.2rem;
  text-align: left;
  line-height: 1.8;
}
.global-case-panel-fig {
  width: 45%;
  margin-top: 2em;
}
.global-cv {
  background: #223E8A;
  padding: 100px 0;
  box-sizing: border-box;
  margin-top: 150px;
  color: #fff;
}
.global-cv-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.8;
}
.global-cv-txt {
  font-size: 2.4rem;
  margin-top: 20px;
  line-height: 1.8;
}
.global-cv-btn {
  max-width: 500px;
  margin: 60px auto 0;
}
@media screen and (max-width:767px){
  .global-kv {
    padding: 8vw 0;
  }
  .global-kv-inner {
    padding-bottom: 20vw;
  }
  .global-kv-ttl {
    font-size: 8vw;
  }
  .global-kv-txt {
    font-size: 4.6vw;
    margin-top: 6vw;
  }
  .global-kv-btn {
    width: 66.6vw;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .global-kv-btn .btn-01 {
    font-size: 4.8vw;
    height: 13.3vw;
  }
  .global-kv-fig {
    position: static;
    margin: -16vw -5.2vw 0 -5.2vw;
  }
  .global-task {
    padding-top: 12vw;
  }
  .global-task-ttl {
    font-size: 6vw;
  }
  .global-task-list {
    display: block;
    margin-top: 0;
  }
  .global-task-list li {
    width: 100%;
    min-height: auto;
    font-size: 4.8vw;
    padding: 6vw 1em;
    margin-top: 6vw;
  }
  .global-solution {
    padding: 14vw 0;
    margin-top: 14vw;
  }
  .global-solution-ttl {
    font-size: 6vw;
    text-align: left;
  }
  .global-solution-txt {
    font-size: 4.8vw;
    margin-top: 8vw;
    text-align: left;
  }
  .global-solution-list {
    display: block;
    max-width: 100%;
    margin-top: 8vw;
  }
  .global-solution-panel {
    width: 100%;
  }
  .global-solution-panel:not(:first-of-type) {
    margin-top: 20vw;
  }
  .global-solution-panel:nth-of-type(1)::after {
    content: "";
    position: absolute;
    top: auto;
    bottom: -25vw;
    left: 0;
    right: 0;
    border: 10vw solid transparent;
    border-top: 10vw solid #8b96c1;
    margin: 0 auto;
  }
  .global-solution-panel:nth-of-type(2)::after {
    content: "";
    position: absolute;
    top: auto;
    bottom: -25vw;
    left: 0;
    right: 0;
    border: 10vw solid transparent;
    border-top: 10vw solid #576aa5;
    margin: 0 auto;
  }
  .global-solution-panel dt {
    font-size: 4.8vw;
    padding: 4vw 0;
  }
  .global-solution-panel .dd01 {
    font-size: 6vw;
    height: auto;
    padding: 10vw 0;
  }
  .global-solution-panel .dd02 {
    height: auto;
    padding: 6vw 0;
  }
  .global-solution-panel .dd02 ul {
    margin-left: 3em;
  }
  .global-solution-panel .dd02 li {
    font-size: 4.8vw;
  }
  .global-solution-note {
    font-size: 4.2vw;
    max-width: 100%;
    margin-top: 4vw;
  }
  .global-service {
    margin-top: 14vw;
  }
  .global-service-ttl {
    font-size: 6vw;
    text-align: left;
  }
  .global-service-sp-box {
    font-family: "Noto Serif JP", serif;
    margin-top: 10vw;
  }
  .global-service-sp-box-ttl {
    font-size: 6vw;
    font-weight: bold;
    color: #223E8A;
  }
  .global-service-sp-box-txt01 {
    margin-top: 6vw;
    padding: 6vw 0;
    font-size: 4.8vw;
    background: #F0F0F0;
    border-radius: 10px;
    color: #223E8A;
    position: relative;
  }
  .global-service-sp-box-txt01::after {
    content: "";
    display: block;
    width: 24vw;
    height: 16vw;
    background: #f0f0f0;
    clip-path: polygon(0 63.2%, 31% 63.2%, 31% 0, 69% 0, 69% 63.2%, 100% 63.2%, 50% 100%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -11vw;
    margin: 0 auto;
  }
  .global-service-sp-box-txt02 {
    margin-top: 14vw;
    padding: 6vw 0;
    font-size: 4.8vw;
    background: #223E8A;
    border-radius: 10px;
    color: #fff;
    position: relative;
  }
  .global-service-sp-box-txt02::after {
    content: "";
    display: block;
    width: 24vw;
    height: 16vw;
    background: #223E8A;
    clip-path: polygon(0 63.2%, 31% 63.2%, 31% 0, 69% 0, 69% 63.2%, 100% 63.2%, 50% 100%);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -11vw;
    margin: 0 auto;
  }
  .global-service-sp-box-txt02 div {
    width: 50%;
    margin: 4vw auto 0;
  }
  .global-service-sp-box-txt03 {
    margin-top: 14vw;
    padding: 6vw 0;
    font-size: 4.8vw;
    background: #fff;
    border: solid 3px #223E8A;
    border-radius: 10px;
    color: #223E8A;
    position: relative;
  }
  .global-point {
    padding: 14vw 0;
    margin-top: 14vw;
  }
  .global-point-ttl {
    font-size: 6vw;
  }
  .global-point-list {
    margin-top: 0;
    display: block;
  }
  .global-point-panel {
    width: 100%;
    margin-top: 10vw;
  }
  .global-point-panel-ttl {
    font-size: 4.8vw;
  }
  .global-point-panel-txt {
    font-size: 4.2vw;
    margin-top: 4vw;
  }
  .global-point-panel-fig {
    margin-top: 4vw;
  }
  .global-case {
    margin-top: 14vw;
  }
  .global-case-ttl {
    font-size: 6vw;
  }
  .global-case-panel {
    margin-top: 14vw;
    display: block;
  }
  .global-case-panel-txt {
    width: 100%;
  }
  .global-case-panel-txt h4 {
    font-size: 4.8vw;
  }
  .global-case-panel-txt dl dt {
    font-size: 4.2vw;
  }
  .global-case-panel-txt dl dd {
    font-size: 4.2vw;
  }
  .global-case-panel-fig {
    width: 100%;
  }
  .global-cv {
    padding: 14vw 0;
    margin-top: 14vw;
  }
  .global-cv-ttl {
    font-size: 6vw;
  }
  .global-cv-txt {
    font-size: 4.2vw;
    margin-top: 4vw;
  }
  .global-cv-btn {
    max-width: 66.6vw;
    margin-top: 8vw;
  }
}
/* consulting */
.consulting-kv {
  background: #d1d1e6;
  padding: 100px 0;
  text-align: left;
  box-sizing: border-box;
}
.consulting-kv-inner {
  position: relative;
}
.consulting-kv-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 4rem;
  font-weight: bold;
  color: #223E8A;
  position: relative;
  z-index: 1;
}
.consulting-kv-txt {
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  line-height: 1.8;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
.consulting-kv-btn {
  max-width: 400px;
  margin-top: 40px;
  position: relative;
  z-index: 1;
}
.consulting-kv-btn .btn-01 {
  font-size: 2.5rem;
  height: 80px;
}
.consulting-kv-fig {
  position: absolute;
  right: 0;
  top: 2.5rem;
  z-index: 0;
}
.consulting-nav {
  padding: 180px 0 140px;
}
.consulting-nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.consulting-nav ul li {
  font-size:3rem; 
  line-height:1; 
  text-align:center; 
  padding:0 0.5em; 
  /* position:relative;  */
  margin: 0 2em;
  display: flex;
  align-items: center;
}

.consulting-nav ul li .triangle {
  background: #223E8A;
  height: calc(tan(60deg) * 26px / 2);
  width: 26px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: 0.25em 0 0 0.5em;
}

.consulting-nav ul a {
  text-decoration:none; 
  padding:0.4em 0; 
  display:inline-block; 
  position:relative;
}
.consulting-nav ul a:hover::before {
  content:''; 
  width:100%; 
  height:2px; 
  background-color:#242424;
  display:block;
  position:absolute;
  bottom:0; 
  left:0;
}

.consulting-head {
  margin-bottom: 60px;
}
.consulting-head-ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  font-weight: bold;
  text-align: left;
  color: #223E8A;
}
.consulting-btn {
  max-width: 500px;
  margin: 80px auto 0;
}
@media screen and (max-width:767px){
  .consulting-kv {
    padding: 8vw 0;
  }
  .consulting-kv-inner {
    padding-bottom: 20vw;
  }
  .consulting-kv-ttl {
    font-size: 8vw;
  }
  .consulting-kv-txt {
    font-size: 4.6vw;
    margin-top: 6vw;
  }
  .consulting-kv-btn {
    width: 66.6vw;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .consulting-kv-btn .btn-01 {
    font-size: 4.8vw;
    height: 13.3vw;
  }
  .consulting-kv-fig {
    position: static;
    margin: -16vw -5.2vw 0 -5.2vw;
  }
  .consulting-nav {
    padding: 12vw 0;
  }
  .consulting-nav ul li {
    font-size: 4.2vw;
    margin: 0 1vw;
  }
  .consulting-nav ul li .triangle {
    height: calc(tan(60deg) * 4vw / 2);
    width: 4vw;
  }
  .consulting-nav ul li::after {
    top: 3vw;
    right: -4vw;
    border: 2.5vw solid transparent;
    border-top: 2.5vw solid #223E8A;
  }
  .consulting-nav ul a:hover::before {content:none;}
  .consulting-head {
    margin-bottom: 8vw;
  }
  .consulting-head-ttl {
    font-size: 6vw;
  }
  .consulting-btn {
    max-width: 66.6vw;
    margin-top: 8vw;
  }
}
/* EN */
@media screen and (min-width:768px){
  .top-content-sec .box.type1.is-en {
    padding-top: 300px;
  }
  .ttl-01.is-en  {
    width: auto;
    height: auto;
    padding: 1em;
  }
  .top-content-sec .box.type1.is-en .txt1.is-en {
    max-width: 80%;
    height: auto;
    padding: 0.5em 1em;
    line-height: 1.7;
  }
  .top-content-sec .box.type2 .txt1.is-en {
    height: auto;
    padding: 0.5em 1em;
    line-height: 1.7;
  }
  .top-company-sec.is-en {
    padding-top: 300px;
  }
  .top-company-sec.is-en .ttl.is-en {
    top: -200px;
  }
  .top-company-sec.is-en .txt1 {
    margin: 0;
  }
  .top-company-sec.is-en .txt2 dt {
    width: 12em;
  }
  .global-task-list.is-en li {
    min-height: 280px;
    padding: 0 1em;
  }
  .global-solution-list.is-en .global-solution-panel dt {
    min-height: 160px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .global-solution-list.is-en .global-solution-panel:nth-of-type(1)::after {
    top: 38%;
  }
  .global-solution-list.is-en .global-solution-panel:nth-of-type(2)::after {
    top: 38%;
  }
  .global-service-box.is-en .global-service-box-txt01 p {
    min-height: 260px;
    padding: 0.5em 1em;
  }
  .global-service-box.is-en .global-service-box-txt03 p {
    min-height: 260px;
    padding: 0.5em 1em;
  }
  .global-point-list.is-en .global-point-panel-ttl {
    min-height: 142px;
    text-align: left;
  }
  .global-point-list.is-en .global-point-panel-txt {
    min-height: 200px;
  }
  .form-head-sec .txt4.is-en > div {
    height: 1600px;
  }
  .form-head-sec .txt4.is-en > div span {
    font-size: 2.6rem;
  }
  .form-head-sec .sec.is-en {
    padding-top: 200px;
  }
  .form-head-sec .sec.is-en .ctx {
    padding-left: 0;
  }
  .form-head-sec .sec.is-en .txt2 > div {
    height: auto;
    padding: 1em;
  }
}
.en-consulting-list {

}
.en-consulting-list-panel {
  width:100%; 
  font-size:2.5rem;
  line-height:1.6;
  text-align:left;
  background-color:#fff;
  border-radius:10px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  padding: 1em;
  margin-top: 50px;
  color: #203c8c;
  position: relative;
}
.en-consulting-list-panel:not(:last-of-type):after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 15px 0;
  border-color: #223E8A transparent transparent;
  position: absolute;
  bottom: -35px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

@media screen and (max-width:767px){
  .en-consulting-list-panel {
    width:100%;
    font-size:3.3vw;
    line-height:1.5;
    margin-top: 8vw;
  }
  .en-consulting-list-panel:not(:last-of-type):after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4vw 2.5vw 0;
    border-color: #223E8A transparent transparent;
    position: absolute;
    bottom: -6vw;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .top-content-sec .box.type1.is-en .txt1.is-en {
    max-width: 80%;
    height: auto;
    padding: 0.5em 1em;
    line-height: 1.7;
    text-align: center;
  }
  .top-content-sec .box.type2 .txt1.is-en {
    max-width: 80%;
    height: auto;
    padding: 0.5em 1em;
    line-height: 1.7;
    text-align: center;
  }
  .top-company-sec.is-en .txt2 dt {
    width: 12em;
  }
  .global-task-list.is-en li {
    min-height: auto;
    padding: 1em;
  }
  .global-solution-list.is-en .global-solution-panel .dd02 ul {
    padding-right: 2em;
  }
  .global-service-sp-box.is-en .global-service-sp-box-ttl {
    font-size: 4.6vw;
  }
  .global-service-sp-box.is-en .global-service-sp-box-txt01 {
    padding: 0.5em 1em;
  }
  .global-service-sp-box.is-en .global-service-sp-box-txt01::after {
    bottom: -13vw;
  }
  .global-point-list.is-en .global-point-panel-ttl {
    text-align: left;
  }
  .form-head-sec .txt4.is-en > div {
    height: 180vw;
  }
  .form-head-sec .txt4.is-en > div span {
    font-size: 3vw;
  }
  .form-head-sec .sec.is-en .txt2 > div {
    height: auto;
    padding: 1em;
  }
}
