@charset "utf-8";
@import url(css/basic.css);
@import url(shared.css);
body,#fmenu nav>ul>li>dl.box>dt{letter-spacing:.015em;}
h1{background-color:#fff;color:#1f1f1f;letter-spacing:.05em;}
#top,h1{background-image:url("/images/main.png");background-position:center 0;}
.haikei{background:#f7f7f7;}
[class*="a_card"] .photo+p.ttl{padding:.8em;}
.newlist>li>span{background-color:#e7edf1;font-size:.8em;padding:.1em 1em;}

/*+*/
.top-em{position:relative;top:-4em;margin-bottom:-2em;/*z-index:-1;*/}
.top-em img{top:1em;}
.tip{position:relative;/*top:-.9em;*/z-index:1;}
.tip span{background:#005ec5;color:#fff;padding:6.5px 10px 6.5px 14px;}


/*step*/
.step>li{position:relative;}
.step>li:not(:last-child){margin-bottom:40px;}
.step>li dl{width:100%;padding:20px 30px;display:flex;align-items:center;/*border:1px solid #c5ac83;*/position:relative;background:none;flex-direction:column;border-bottom:solid 1px #e5e5e5;}
.step>li dl dt{/*font-size:16px;*/font-weight:600;color:#5d5d5d;flex-basis:20%;text-align:center;margin:15px 1vw 15px 0;}
.step>li dl dd{display:flex;align-items:center;flex-direction:column;text-align:left;width:100%;}
.step>li dl dd img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 0 15px 0;}
.step>li:not(:first-child)::before{content:"";height:60px;display:block;border-left:4px dotted #e5e5e5;position:absolute;top:-40px;left:49%;z-index:10;}
.waku{background:#fff;/*border-radius:8px;*/padding:0 20px;/*font-family:"Times New Roman";*/}

/*linebox*/
.linebox2{background:#fff;border:none;box-shadow: rgba(0,0,0,0.08) 0px 4px 10px, rgba(0,0,0,0.03) 0px -3px 6px;transition:all 0.3s ease-in-out 0s;border-radius:10px;}
.linebox3{background:#fff;border:solid 1px #d7d7d7;}

/*h3*/
.top-ttl.h3{padding:.25em 0;margin:0;line-height:1;font-size:2.5em;}

/*faq*/
dl.box>dt:hover{color:#0053c5;}
dl.faq>dt.on{background:#0053c5;color:#fff;}
dl.box>dt{background:#f8f8f8;font-weight:500;font-size:1.2em;border-bottom:1px solid #fff;}
dl.faq>dt::before{font-size:1.5em;top:.55em;left:.5em;font-weight:100;}
dl.box>dt.on+dd{padding:20px;margin-bottom:20px;max-height:none;opacity: 1;}
dl.faq>dt{padding:1.2em 2.5em 1.2em 3em;}
dl.box>dd{transition:.2s;}

/*cont-wrap*/
.cont-wrap{position: relative; z-index: 1;padding-top: 200px;}
.cont-wrap .cont-img{width: 100%;position: absolute;z-index: -1;top: 0;left: 0;}
.cont-wrap .cont-txt{width: 80%;-webkit-box-shadow:0 0 10px 0px #e1e2e5;box-shadow:0 0 10px 0px #e1e2e5;background:rgb(255 255 255 / 55%);margin: 0 auto;padding: 60px 20px 20px;position:relative;backdrop-filter:blur(10px);}
.cont-txt .grad_big{text-align: center; position: absolute; width: 100%; top: -50px; left: 0;}
.cont-txt .grad_text{font-family: serif;font-size: 1.3rem; letter-spacing: .2rem; line-height: 100%; background-image: linear-gradient(45deg,#0069dd 0%,#d7f0ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.cont-txt .num{font-size:3rem;font-weight: 600;}
.cont-wrap:nth-child(even) .cont-img{text-align: right;}

/*boxwrap*/
.boxwrap{padding-top:30px;}
.box-img{margin:0 auto;text-align:center;width:80%;}
.box-img img{width:100%;margin:0;height:100%;object-fit:cover;font-family:'object-fit:cover;'; }
.box-txt{padding:30px 5%;}
.box-txt .h3{border-bottom:1px solid;padding:0 0 1em;text-align:center;}
.box-txt [lang="en"]{text-transform:uppercase;color:#083a71;}

/*maru*/
.maru-title{display:flex;align-items:center;justify-content:flex-start;flex-flow:column wrap;margin-bottom:1.5rem;}
.maru{display:inline-flex;justify-content:center;align-items:center;border-radius:50%;flex-flow:column wrap;vertical-align:top;height:3.8em;width:3.8em;background:#ff7a7c;color:#fff;font-weight:bold;margin-bottom:1.5rem;font-size: 1.6em;}
.maru::before{content:attr(title);font-size:.6em;line-height:1;}
.top-em .maru{height:5em;width:10em;background:#e9e9e9;color:#0d6ae6;}
.top-em.top-maru{top:-3em;margin-bottom:-5em;}

/*schedule-list*/
.schedule-list{display:flex;flex-wrap:wrap;margin:0;/*background-color:#fbf6f3;*//*margin:30px auto;*/}
.schedule-list dt,.schedule-list dd{box-sizing:border-box;padding:1em;border-top:1px solid #ddd;}
.schedule-list dt:first-of-type,.schedule-list dd:first-of-type{border-top:none;}
.schedule-list dt{width:25%;/*background-color:#fbf6f3;*/font-weight:bold;}
.schedule-list dd{width:70%;margin:0;}

/*car-list*/
.car-list{position:relative;background:#f5f9ff;border:none;box-shadow:rgb(0 0 0 / 4%) 0px 2px 10px;transition:all .3s ease-in-out;padding:2.5rem 1rem;border-radius:10px;}
.car-list dt{position:absolute;display:block;background:#0d6ae6;width:50%;left:0;right:0;margin-left:auto;margin-right:auto;padding:14px 0;top:-1.5em;font-weight:bold;color:#fff;letter-spacing:.15em;border-radius:5em;font-size:18px;line-height:1.2;text-align:center;text-indent:0;}
.car-list dd{margin:0;padding-top:1em;}

/*image*/
.car-top{background:url("images/car01-1.jpg") center no-repeat;}
.car-top{position: relative;background-size:cover;padding:50px 20px;color:#fff;}
.car-top .h3{color:#fff;}

.staff-card{background:#fff;border-radius:10px;padding:30px 20px;cursor:pointer;transition:all .3s ease;box-shadow:rgba(0,0,0,.08) 0 4px 10px,rgba(0,0,0,.03) 0 -3px 6px;text-align:center;position:relative;overflow:hidden;}
.staff-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#0069dd 0%,#d7f0ff 100%);transform:scaleX(0);transition:transform .3s ease;}
.staff-card:hover::before{transform:scaleX(1);}
.staff-card:hover{transform:translateY(-8px);box-shadow:rgba(0,0,0,.12) 0 8px 20px,rgba(0,0,0,.05) 0 -3px 6px;}
.staff-card a{text-decoration:none;color:inherit;display:block;}
.staff-card .role{color:#666;font-size:.9rem;margin-bottom:15px;font-weight:400;}
.staff-card .preview{color:#5d5d5d;font-size:.9rem;line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:10px;font-weight:normal;}

[class*="typebox"][class*="staff"]>li>a:only-child {display:block;flex-wrap:unset;align-content:unset;justify-content:unset;}


/*clon・kome*/

.colon dd::before{content:"：";}
.kome5>dt,.kome5>.dt{width:6em;}


/*modal*/

body.fixed{position:fixed;}
body.fixed .member-intro{pointer-events:none;transition:all .2s ease-out;-webkit-filter:blur(8px);-moz-filter:blur(8px);-ms-filter:blur(8px);filter:blur(8px);}
.modal{display:none;position:fixed;height:100vh;top:0;left:0;width:100%;z-index:100;}
.modal:target{display:flex;}
.modal::before{content:"";box-sizing:border-box;width:100%;/*background-color:rgba(102,126,234,0.85);*/position:fixed;left:0;top:50%;will-change:height,top;animation:open-animation .6s cubic-bezier(0.83,0.04,0,1.16) .65s both;}
.modal::after{content:"";width:0;height:2px;background-color:#f0f0f0;will-change:width,opacity;animation:line-animation .6s cubic-bezier(0.83,0.04,0,1.16) both;position:absolute;top:50%;left:0;margin-top:-1px;}
@keyframes line-animation{0%{width:0;opacity:1;}99%{width:100%;opacity:1;}100%{width:100%;opacity:0;}}
@keyframes open-animation{0%{height:0;top:50%;}100%{height:100vh;top:0;}}
.modal__bg{background:rgb(103 103 103 / 57%);height:100vh;position:absolute;width:100%;}
.modal__content{width:100%;max-width:800px;margin:0 auto;padding:50px 20px 100px;box-sizing:border-box;position:relative;animation:fade .5s ease-out 1.3s both;display:flex;align-items:flex-start;justify-content:center;min-height:100vh;}
.modal-wrapper{background:#fff;padding:40px;border-radius:15px;color:#333;box-shadow:0 10px 40px rgba(0,0,0,0.3);max-height:calc(100vh - 100px);overflow-y:auto;width:100%;/*margin:50px 0;*/position:relative;z-index:1;}
.modal__content h3{color:#fff;}
.modal__content h3::after{border-color:#fff;}
.modal__content .h4{background:none;border-left:2px solid;padding:0 20px;text-align:left;}
.modal__content th,.modal__content td{background:none;color:#fff;border:none;border-bottom:1px solid #ddd;}
.modal__content tr:first-child th{border-top:1px solid #ddd;}
.modal__content th{border-bottom:1px solid #526b96;}
@keyframes fade{0%{opacity:0;}100%{opacity:1;}}
body[id|="e"] .modal__content{color:#000;padding:0;text-align:left;}
body[id|="e"] .modal__content .h4,body[id|="e"] .modal__content th,body[id|="e"] .modal__content td{color:#000;}
.js-modal-close { width:2rem; height:2rem; background:url("images/design/close.svg") center center no-repeat #3b82f6; background-size:60%; border-radius:50%; text-indent:120%; overflow:hidden; white-space:nowrap; position:absolute; top:15px; right:15px; z-index:10; }
.modal-wrapper::-webkit-scrollbar{width:8px;}
.modal-wrapper::-webkit-scrollbar-track{background:#f5f5f5;border-radius:10px;}
.modal-wrapper::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px;}
.modal-wrapper::-webkit-scrollbar-thumb:hover{background:#999;}
.modal__content .modal-header{margin-bottom:0;padding-bottom:25px;border-bottom:1px solid #e0e0e0;}
/*.modal__content .modal-avatar{width:100px;height:100px;margin:0 auto 20px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(245,87,108,0.3);overflow:hidden;}*/
/*.avatar-img{width:100%;height:100%;object-fit:cover;}*/
.modal__content .modal-initial{color:#fff;font-size:2.5rem;font-weight:700;}
.modal__content .modal-name{font-size:2rem;font-weight:700;margin-bottom:10px;text-align:center;color:#333;}
.modal__content .modal-role{font-size:1.1rem;color:#667eea;text-align:center;font-weight:500;margin-bottom:10px;}
.modal__content .modal-badge{display:inline-block;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600;margin:0 auto;display:block;width:fit-content;}
.modal__content .modal-text{color:#444;font-size:1rem;/*line-height:1.9;*//*white-space:pre-line;*/padding-top:25px;}
@media (min-width:40em){.modal__content tr:first-child th{border-top:none;}.modal__content>.w40{padding-right:40px;}.modal__content>.w60{padding-top:80px;}}
@media (max-width:768px){.modal__content{padding:40px 15px 80px;}.modal-wrapper{padding:30px 20px;max-height:calc(100vh - 80px);margin:40px 0;}}
@media (max-width:480px){.modal__content{padding:30px 10px 60px;}.modal-wrapper{padding:25px 15px;max-height:calc(100vh - 120px);margin:30px 0;}}

/*代表メッセージ*/

/* カード型レイアウト用CSS */
.message-card {max-width: 1000px;margin: 40px auto;background: #fff;border-radius: 12px;box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);overflow: hidden;}
.card-image {width: 100%;overflow: hidden;}
.card-image img {width: 100%;height: auto;display: block;}
.card-content {padding: 50px 60px;}
.card-content p {font-size: 15px;line-height: 1.8;color: #333;}
.card-content p:last-child {margin-bottom: 0;}
.signature {margin-top: 30px;text-align: right;font-weight: bold;color: #333;}

/* レスポンシブ対応 */
@media (max-width: 768px) {.message-card {margin: 20px;}
.card-content {padding: 30px 25px;}
.card-content p {font-size: 14px;margin-bottom: 15px;}
}

[class|="required"]{background-color:#c33333;}


@media(min-width:40em){
.cont-wrap{padding-top: 120px;}
.cont-wrap .cont-img img{max-width:60%;}
.cont-wrap .cont-txt{max-width: 600px;margin: 0 3px 0 auto;padding:60px 55px 50px;}
.cont-wrap:nth-child(even) .cont-txt{margin: 0 auto 0 3px;}
.schedule-list dt{width:20%;background-color:transparent;}.schedule-list dd{width:75%;}
/*.schedule-list dt,.schedule-list dd{padding:1.5em}*/
.card-content img.right{margin-left:3em;}
}

@media(min-width:48em){
.maru-title{flex-direction:row;flex-flow:nowrap;}
.maru{margin-bottom:0;}
.tip span{padding:6.5px 30px 6.5px 40px;}
dl.p-flow{display:flex;align-items:center;padding:3em 0;flex-direction: row;}
dl.p-flow>dt{width:35%;padding:0 1em;}
dl.p-flow>dd{border-width:0 0 0 1px;padding:0 2em;}
.boxwrap{display:flex;justify-content:space-between;padding-top:0;margin-bottom:80px;}
.boxwrap:nth-child(odd) .box-img{order:2;}
.boxwrap:nth-child(odd) .box-txt{order:1;}
.box-img{margin:0;width:40%;}
.box-txt{/*padding:50px 8%;*/width:60%;}
.box-txt .h3{text-align:left;}
.tip-line1 span{margin-left: 0; }   /* 1行目：そのまま */
.tip-line2 span{margin-left: 20px; } /* 2行目：少し右へ */
.tip-line3 span{margin-left: 40px; } /* 3行目：さらに右へ */
.top-em img{top:-3.5em;}
}

@media(min-width:61em){
.step>li:not(:first-child)::before{left:-webkit-calc(8% + 30px - 2px);left:calc(8% + 30px - 2px);}
.step>li dl{flex-direction:row;}
.step>li dl dd{flex-direction:row;}
.step>li dl dd img{margin:0 30px 0 0;}
}

@media(min-width:80em){
}