@charset "UTF-8";
:root {
 --bg-color: #eee;
 --pri-color: #003C20;
 --txt-color: #222;
 --white: #fff;
 --zen-min: "Zen Old Mincho";
 --zen-kaku: "Zen Kaku Gothic New";
 --cormorant: "Cormorant Infant";
}
html{
 font-size: 62.5%;
 scroll-padding-top: 150px;
 scroll-behavior: smooth;
}
a:link,
a:active,
a:visited {
 color: var(--txt-color);
 transition: all .5s ease;
}
a:hover {
 opacity: 0.7;
}
img {
 display: block;
 margin: auto;
 height: fit-content;
}
body {
 background-color: var(--bg-color);
 color: var(--txt-color);
 font-family: "Zen Old Mincho", "Zen Kaku Gothic New", "Cormorant Infant", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
 font-size: 1.6rem;
 line-height: 1.5;
}
#container, main{
 overflow: hidden;
}
#gHeader{
 position: fixed;
 width: 100%;
 background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
 z-index: 100;
}
#gHeader .flex{
 width: 93%;
 max-width: 1340px;
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin: 0 auto;
 padding: 22px 0 0;
}
#gHeader .flex .logo{
 text-align: center;
}
#gHeader .flex .logo a h1{
 color: #fff;
 font-family: var(--zen-kaku);
 font-size: 14px;
 font-weight: 500;
 letter-spacing: 0.1em;
 line-height: 1.7;
}
#gHeader .flex .logo a img{
 margin: 8px auto 0;
}
#gHeader .flex .contact{
 display: flex;
 gap: 10px;
}
#gHeader .flex .contact > div > a{
 display: flex;
 gap: 8px;
 align-items: center;
 font-family: var(--zen-kaku);
 font-size: 16px;
 font-weight: bold;
 border-radius: 8px;
}
#gHeader .flex .contact > .meeting > a{
 padding: 12px 23px 14px 24px;
 color: #2C190E;
}
#gHeader .flex .contact > .materials > a,
#gHeader .flex .contact > .telephone > a{
 padding: 12px 27px 14px;
 color: #fff;
}
.grad-gold{
 background: linear-gradient(45deg, #EFBA6F 0%, #FEECAF 50%, #EBB86A 100%);
 border: solid 1px #D69648;
}
.grad-green{
 background: linear-gradient(to bottom, #5FCB5F 0%, #207B1F 100%);
}
.grad-blue{
 background: linear-gradient(to bottom, #3A67E3 0%, #1B357B 100%);
}
main #fv{
 width: 100%;
 height: 750px;
 position: relative;
 background: url("../img/top/fv.jpg") no-repeat center center;
 background-size: cover;
}
main #fv .txt-box{
 position: absolute;
 color: #fff;
 top: 180px;
 left: 10%;
}
main #fv .txt-box .sub-ttl{
 font-size: 40px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
.txt-gold{
 background:linear-gradient(45deg,
  #F2B851 5%,
  #F2AD32 40%,
  #F2A924 45%,
  #FFEEA4 55%,
  #F2A924 65%
 );
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
color:transparent;
}
main #fv .txt-box .main-ttl{
 font-size: 100px;
 font-weight: 500;
 line-height: 0.9;
 margin: 0 0 16px -10px;
 letter-spacing: 0em;
 filter: drop-shadow(0 0px 15px rgba(0, 0, 0, 0.5));
}
main #fv .txt-box .sub-txt{
 font-family: var(--zen-kaku);
 font-size: 16px;
 font-weight: 500;
 line-height: 1.8;
 margin: 0 0 30px;
}
main #fv .txt-box .award{
 width: fit-content;
}
main #fv .txt-box .award div{
 display: flex;
 gap: 15px;
}
main #fv .txt-box .award div img{
 width: 140px;
 margin: 0;
}
main #fv .txt-box .award p{
 margin: 20px 0 0;
 text-align: right;
 font-family: var(--zen-kaku);
 font-size: 12px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main .inner{
 max-width: 1040px;
 margin: auto;
}
main #consultation{
 width: 100%;
 background: url("../img/top/bg-img_01.jpg") no-repeat center center;
 background-size: cover;
}
main #consultation .inner{
 padding: 50px 0;
}
.consultation{
 width: fit-content;
 margin: 0 auto;
 text-align: center;
}
.consultation .txt-gold{
 margin: 0 0 10px;
 font-size: 40px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1;
}
.consultation > p{
 margin: 0 0 20px;
 color: #fff;
 font-family: var(--zen-kaku);
 font-size: 18px;
 font-weight: 500;
 line-height: 1.8;
}
.consultation .link-box a{
 display: flex;
 justify-content: center;
 font-family: var(--zen-kaku);
 border-radius: 8px;
 align-items: center;
}
.consultation .link-box a img{
 margin: 0;
}
.consultation .link-box > a{
 position: relative;
 overflow: hidden;
 gap: 15px;
 padding: 17px 0 19px;
 font-size: 30px;
 font-weight: 500;
 line-height: 1.3;
 margin: 0 0 15px;
}
.consultation .link-box > a:after{
 position: absolute;
 content: "";
 width: 30px;
 height: 200%;
 top: -50%;
 left: -100px;
 background-color: #fff;
 opacity: 0;
 transform: rotate(-45deg);
 animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
0% { transform: scale(0) rotate(-45deg); opacity: 0; }
80% { transform: scale(0) rotate(-45deg); opacity: 0.5; }
81% { transform: scale(4) rotate(-45deg); opacity: 1; }
100% { transform: scale(50) rotate(-45deg); opacity: 0; }
}
.consultation .link-box > a img{
 height: 24px;
}
.consultation .link-box > div{
 display: flex;
 gap: 20px;
}
.consultation .link-box > div a{
 display: flex;
 gap: 10px;
 color: #fff;
 width: 100%;
 padding: 10px 0 11px;
}
.consultation .link-box > div a img{
 height: 18px;
}
.consultation .link-box > div a p{
 font-family: var(--zen-kaku);
 font-size: 20px;
 font-weight: bold;
 line-height: 1.2;
}
.bg-grad-green{
 background: linear-gradient(to bottom, #273816 0%, #233415 14%, #1F3114 28%, #1C2D12 42%, #192911 56%, #162510 70%, #13220E 84%, #101E0D 100%);
}
main #frequently{
 position: relative;
 z-index: 10;
}
main #frequently .inner{
 padding: 80px 0;
 color: #fff;
 text-align: center;
}
main #frequently .inner .ttl-box{
 font-size: 30px;
 font-weight: 500;
 letter-spacing: -0.1em;
 margin: 0 0 30px;
}
main #frequently .inner .ttl-box .txt-gold{
 font-size: 50px;
 line-height: 1.2;
}
main #frequently .inner .frequently-list{
 width: 100%;
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 margin: 0 auto 50px;
}
main #frequently .inner .frequently-list li{
 width: calc((100% - 20px) / 2);
 border: solid 1px #F2B343;
 padding: 10px 20px;
 font-size: 24px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main #frequently .inner .txt-box{
 display: grid;
 gap: 10px;
 margin: 0 auto 30px;
}
main #frequently .inner .txt-box p{
 font-size: 30px;
 font-weight: 500;
 letter-spacing: -0.1em;
}
main #frequently .inner .txt-box p.txt-gold{
 font-size: 60px;
 line-height: 1.3;
}
main #frequently .inner > p{
 font-size: 30px;
 font-weight: 500;
}
main #testimonials{
 background: url("../img/top/bg-img_03.jpg") no-repeat center center;
 background-size: cover;
 padding: 28px 0 80px;
}
main .inner h3{
 position: relative;
 text-align: center;
 color: #ffffff80;
 font-family: var(--cormorant);
 font-size: 160px;
 line-height: 0.3;
 z-index: -1;
 margin: 25px 0 50px;
}
main .inner h3 span{
 display: block;
 color: #003C20;
 font-family: var(--zen-min);
 font-size: 40px;
 line-height: 1.5;
}
main .inner h3 span.txt-gold{
 color: transparent;
 font-size: 80px;
 letter-spacing: -0.05em;
 line-height: 0.9;
 font-weight: 500;
}
main #testimonials h3{
 margin: 0 0 50px;
 z-index: 1;
}
main #testimonials .inner .testimonials-list{
 display: grid;
 gap: 50px;
}
main #testimonials .inner .testimonials-list .tl-col > div{
 width: 100%;
 display: flex;
 position: relative;
 margin: 0 0 30px;
}
main #testimonials .inner .testimonials-list .tl-col > div > div{
 position: absolute;
 height: fit-content;
 top: 0;
 bottom: 0;
 margin: auto;
 padding: 40px 4px 40px 30px;
 background: linear-gradient(270deg, #004D3F 0%, #001A0E 100%);
 min-width: 480px;
}
main #testimonials .inner .testimonials-list .tl-col > div > div .txt-gold{
 font-size: 40px;
 font-weight: 600;
 letter-spacing: -0.05em;
 margin: 0 0 10px;
}
main #testimonials .inner .testimonials-list .tl-col > div > div .owner{
 color: #fff;
 font-size: 20px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1.7;
}
main #testimonials .inner .testimonials-list .tl-col > div > img{
 width: 59%;
 max-width: 620px;
 margin: 0 0 0 auto;
}
main #testimonials .inner .testimonials-list .tl-col > p{
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.025em;
 line-height: 1.8;
}
main #testimonials .inner .testimonials-list .tl-col:nth-child(even) > div > img{
 margin: 0;
}
main #testimonials .inner .testimonials-list .tl-col:nth-child(even) > div > div{
 right: 0;
}
main #consultation.bg-grad-green{
 position: relative;
 z-index: 10;
 background: linear-gradient(to bottom, #273816 0%, #233415 14%, #1F3114 28%, #1C2D12 42%, #192911 56%, #162510 70%, #13220E 84%, #101E0D 100%);
}
main #consultation.bg-grad-green .inner{
 padding: 50px 0 80px;
}
main #choose{
 background: url("../img/top/bg-img_02.jpg") no-repeat center center;
 background-size: cover;
 padding: 25px 0 0;
}
main #choose h3{
 margin: 0px 0 67px;
 z-index: 1;
}
main #choose h4{
 width: fit-content;
 display: flex;
 align-items: flex-end;
 justify-content: center;
 gap: 9px;
 color: #003C20;
 font-size: 60px;
 font-weight: 500;
 letter-spacing: -0.1em;
 line-height: 1.25;
 border-bottom: solid 1px;
 margin: 0 auto 50px;
 padding: 0 0 10px;
}
main #choose h4 span{
 font-family: var(--cormorant);
 font-size: 80px;
 font-weight: 500;
 letter-spacing: 0;
 line-height: 0.8;
 font-style: italic;
 margin-bottom: -10px;
}
main #choose .cp-list{
 padding: 0 0 80px;
}
main #choose .cp-list li{
 position: relative;
 display: flex;
 align-items: flex-end;
}
main #choose .cp-list li:not(:last-child){
 margin: 0 0 100px;
}
main #choose .cp-list li:last-child{
 margin: 0 0 110px;
}
main #choose .cp-list:last-child li:last-child{
 margin: 0 0 50px;
}
main #choose .cp-list li img{
 width: 50%;
 max-width: 520px;
 margin: 0;
}
main #choose .cp-list li .txt-box{
 position: absolute;
 margin: 0 0 0 auto;
 width: 100%;
 max-width: 580px;
 background: linear-gradient(45deg, #004D3F 0%, #001A0E 100%);
 color: #fff;
 padding: 30px;
 left: unset;
 right: 0;
 bottom: -60px;
}
main #choose .cp-list li .txt-box .txt-gold{
 position: absolute;
 top: -60px;
 right: 50px;
 font-family: var(--cormorant);
 font-size: 100px;
 font-weight: 500;
 font-style: italic;
 letter-spacing: 0;
 line-height: 1;
}
main #choose .cp-list li .txt-box .ttl{
 font-size: 30px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1.3;
 margin: 0 0 10px;
}
main #choose .cp-list li .txt-box .txt{
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main #choose .cp-list li:nth-child(even) img{
 margin: 0 0 0 auto;
}
main #choose .cp-list li:nth-child(even) .txt-box{
 left: 0;
 right: unset;
}
main #voice .inner{
 max-width: unset;
 padding: 25px 0 0;
}
main #voice .inner h3{
 margin: 0 auto 50px;
 z-index: 1;
 color: #ffffff0d;
}
main #voice .inner h3 span{
 color: #fff;
}
.slick-track {
 display: flex !important;
}
.slick-slide {
 height: auto !important;
}
.slick-slide > div {
 height: 100%;
}
main #voice .voice-list{
 margin: 0 auto 80px;
}
main #voice .vl-col{
 height: 100%;
 padding: 0 25px;
 box-sizing: border-box;
}
main #voice .voice-slider-wrap {
 overflow: hidden;
}
main #voice .vl-col .info{
 background: #fff;
 padding: 20px 30px;
 height: 100%;
}
main #voice .info .ttl-box{
 display: flex;
}
main #voice .info .ttl-box > div p.ttl{
 width: 94%;
 font-size: 24px;
 font-weight: bold;
 letter-spacing: -0.05em;
 margin: 0 0 10px;
}
main #voice .info .ttl-box > div p.owner{
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main #voice .info > p{
 font-size: 18px;
 font-weight: 600;
 letter-spacing: -0.05em;
}
main #voice .info .ttl-box{
 position: relative;
 margin: 0 0 20px;
}
main #voice .info .ttl-box > img{
 position: absolute;
 min-height: 120px;
 top: -60px;
 right: 0;
 margin: 0 0 0 auto;
}
.bg-grad-green2{
 background: linear-gradient(to bottom, #004D3F 0%, #001A0E 100%);
 padding: 0 0 80px;
}
main #lineup{
 background: #EAEAEA;
 padding: 26px 0 85px;
}
main #lineup .inner h3{
 z-index: 1;
 margin: 0 auto 0;
}
main #lineup .inner .lineup-table-area .lineup-table{
 border-collapse: separate;
 border-spacing: 15px 40px;
 font-family: var(--zen-kaku);
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb{
 width: 220px;
 height: 180px;
 position: relative;
 border-radius: 10px;
 margin: 0 15px 0 0;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb:nth-child(2){
 background: url("../img/top/lineup-thumb_01.jpg") no-repeat center center;
 background-size: cover;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb:nth-child(3){
 background: url("../img/top/lineup-thumb_02.jpg") no-repeat center center;
 background-size: cover;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb:nth-child(4){
 background: url("../img/top/lineup-thumb_03.jpg") no-repeat center center;
 background-size: cover;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb:nth-child(5){
 background: url("../img/top/lineup-thumb_04.jpg") no-repeat center center;
 background-size: cover;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb > div{
 height: fit-content;
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
 text-align: center;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb > div p{
 font-family: var(--zen-min);
 color: #fff;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb > div p:nth-child(1){
 font-size: 24px;
 font-weight: 500;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb > div p:nth-child(2){
 font-size: 50px;
 font-weight: 500;
 line-height: 0.9;
}
main #lineup .inner .lineup-table-area .lineup-table tr td.thumb > div p:nth-child(3){
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.1em;
 line-height: 2;
}
main #lineup .inner .lineup-table-area .lineup-table tr th,
main #lineup .inner .lineup-table-area .lineup-table tr td{
 text-align: center;
 position: relative;
 vertical-align: middle;
}
main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(n+2) th:after,
main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(n+2) td:after{
 content:"";
position:absolute;
 left: -5px;
 right: -10px;
 bottom: -20px;
height:1px;
background:linear-gradient(to right,#222 1px,transparent 1px);
background-size:6px 1px;
}
main #lineup .inner .lineup-table-area .lineup-table tr th{
 position: relative;
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
 text-align: center;
 white-space: nowrap;
}
main #lineup .inner .lineup-table-area .lineup-table tr td{
 font-size: 18px;
 font-weight: 500;
 letter-spacing: -0.05em;
}
main #lineup .inner .lineup-table-area .lineup-table tr td span{
 display: block;
 margin: 5px 0 0;
 font-size: 14px;
}
main #lineup .inner .lineup-table-area .lineup-table tr th span{
 position: absolute;
 font-size: 10px;
 padding: 3px 0 0 5px;
}
main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(2) td{
 font-size: 16px;
 font-weight: 500;
 letter-spacing: -0.05em;
 text-align: center;
}
main #lineup .inner > ul{
 margin: 10px 0 0;
 font-family: var(--zen-kaku);
 font-size: 14px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.8;
}
main #advantage{
 background: #fff;
 padding: 25px 0 80px;
}
main #advantage h3{
 color: #cccccc26;
 margin: 0 auto 30px;
 z-index: 1;
}
main #advantage .ttl-box{
 display: flex;
 justify-content: center;
 align-items: baseline;
 gap: 20px;
 margin: 0 0 30px;
}
main #advantage .ttl-box p{
 font-size: 60px;
 font-weight: bold;
 line-height: 1.25;
 color: #003C20;
}
main #advantage .ttl-box img{
 margin: 0;
 width: 50px;
}
main #advantage .txt{
 color: #222;
 font-size: 20px;
 font-weight: 600;
 letter-spacing: -0.025em;
 line-height: 1.8;
 margin: 0 0 30px;
}
main #advantage .img-area{
 display: flex;
 gap: 40px;
 margin: 0 0 80px;
}
main #advantage .img-area > img{
 width: 500px;
}
main #advantage .img-area .img-box{
 display: grid;
 gap: 20px;
}
main #advantage .img-area .img-box > div{
 position: relative;
}
main #advantage .img-area .img-box > div > p{
 width: 100%;
 position: absolute;
 background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0));
 color: #fff;
 padding: 11px 20px 15px;
 font-family: var(--zen-kaku);
 font-weight: 500;
 letter-spacing: -0.05em;
 bottom: 0;
}
main #reason{
 padding: 80px 0;
 color: #fff;
 text-align: center;
 position: relative;
 z-index: 10;
}
main #reason .inner{
 max-width: 1240px;
}
main #reason .inner .txt-box{
 display: grid;
 gap: 30px;
}
main #reason .inner .txt-box .ttl p:nth-child(1){
 font-size: 30px;
 font-weight: 500;
 letter-spacing: -0.1em;
}
main #reason .inner .txt-box .ttl p:nth-child(2){
 font-size: 50px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.2;
}
main #reason .inner .txt-box .txt{
 font-size: 24px;
 font-weight: 500;
 letter-spacing: -0.1em;
}
main #reason .inner .txt-box .txt-black{
 display: grid;
 gap: 10px;
}
main #reason .inner .txt-box .txt-black p{
 width: fit-content;
 margin: 0 auto;
 background: #000;
 padding: 10px 20px;
 font-size: 24px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main #reason .inner .txt-box .txt-black > div{
 display: flex;
 gap: 10px;
 justify-content: center;
}
main #reason .inner .txt-box .txt-black > div p{
 margin: 0;
}
main #reason .inner .txt-box > .txt-gold{
 font-size: 50px;
 font-weight: 500;
 letter-spacing: -0.05em;
 margin: 0 0 80px;
}
main #reason .inner .bg-white{
 background: #fff;
 color: #222;
 padding: 80px 100px;
}
main #reason .inner .bg-white > p{
 font-size: 40px;
 font-weight: 500;
}
main #reason .inner .bg-white > h4{
 color: #003C20;
 font-size: 60px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.25;
 padding: 0 0 10px;
 margin: 0 0 50px;
 border-bottom: solid 1px;
}
main #reason .inner .bg-white .reason-list .rl-col{
 display: flex;
 gap: 40px;
}
main #reason .inner .bg-white .reason-list .rl-col:not(:last-child){
 margin: 0 0 30px;
}
main #reason .inner .bg-white .reason-list .rl-col .ttl{
 font-size: 30px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1.3;
 margin: 0 0 15px;
 color: #003C20;
 text-align: left;
}
main #reason .inner .bg-white .reason-list .rl-col .txt{
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
 line-height: 1.8;
 text-align: left;
}
main #reason .inner .bg-white .reason-list .rl-col > img{
 margin: 0;
 width: 500px;
}
main #reason .inner .bg-white .reason-list .rl-col:nth-child(even) > img{
 order: 1;
}
main #reason .inner .bg-white .reason-list .rl-col:nth-child(even) .txt-box2{
 order: 2;
}
main #support{
 background: #F2EEEB;
 padding: 25px 0 130px;
}
main #support h3{
 margin: 0 auto 50px;
 z-index: 1;
}
main #support .support-list li{
 display: flex;
}
main #support .support-list li:not(:last-child){
 margin: 0 0 155px;
}
main #support .support-list li img{
 width: 50%;
 max-width: 520px;
 margin: 0;
 z-index: 1;
}
main #support .support-list li .txt-box{
 width: 100%;
 min-width: 580px;
 max-width: 580px;
 position: relative;
 padding: 50px 50px 50px 130px;
 background: linear-gradient(to top right, #001A0E, #004D3F);
 color: #fff;
 left: -90px;
 top: 55px;
}
main #support .support-list li .txt-box .number{
 width: fit-content;
 font-family: var(--cormorant);
 font-size: 24px;
 font-weight: 500;
 font-style: italic;
 line-height: 1.6;
 margin: 0 0 20px;
}
main #support .support-list li .txt-box .ttl{
 font-size: 30px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1.3;
 margin: 0 0 10px;
}
main #support .support-list li .txt-box .txt{
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
 line-height: 1.8;
}
main #support .support-list li:nth-child(even) img{
 order: 2;
}
main #support .support-list li:nth-child(even) .txt-box{
 left: unset;
 right: -90px;
 padding: 50px 112px 50px 40px;
}
main #flow{
 padding: 25px 0 80px;
 color: #fff;
}
main #flow h3{
 margin: 0 auto 50px;
 z-index: 1;
 color: #ffffff0d;
}
main #flow h3 span{
 color: #fff;
}
main #flow .flow-list{
 display: flex;
 margin: 0 0 80px;
}
main #flow .flow-list li{
 position: relative;
}
main #flow .flow-list li:not(:last-child){
 padding: 0 20px 0 0;
}
main #flow .flow-list li:not(:last-child):after{
 position: absolute;
 content: "";
 right: -20px;
 top: 0;
 bottom: 0;
 margin: auto;
 width: 60px;
 height: 40px;
 background: url("../img/top/icon-arrow-white.svg") no-repeat center center;
 background-size: contain;
 z-index: 1;
}
main #flow .flow-list li .txt-gold{
 text-align: center;
 font-family: var(--cormorant);
 font-size: 24px;
 font-weight: 500;
 font-style: italic;
 line-height: 1.6;
 margin: 0 0 10px;
}
main #flow .flow-list li img + p{
 text-align: center;
 margin: 10px 0 0;
 font-size: 24px;
 font-weight: 600;
 letter-spacing: -0.05em;
}
main #flow .txt-box{
 display: grid;
 gap: 30px;
 text-align: center;
 margin: 0 0 80px;
}
main #flow .txt-box > p:nth-child(1){
 font-size: 40px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1;
}
main #flow .txt-box .txt{
 display: grid;
 gap: 20px;
}
main #flow .txt-box .txt p{
 font-size: 24px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.8;
}
main #flow .txt-box .txt2{
 display: grid;
 gap: 10px;
}
main #flow .txt-box .txt2 p:first-child{
 font-size: 40px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1;
 margin: 0 0 10px;
}
main #flow .txt-box .txt2 p.txt-gold{
 font-size: 40px;
 font-weight: 600;
 letter-spacing: -0.05em;
 line-height: 1;
}
main #flow .txt-box .txt2 p:last-child{
 font-size: 24px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.8;
}
main #flow .txt-box > p:last-child{
 font-size: 24px;
 font-weight: 500;
 letter-spacing: -0.05em;
 line-height: 1.8;
}
main #question{
 padding: 0 0 80px;
}
main #question .question-list li:not(:last-child){
 margin: 0 0 20px;
}
main #question .question-list summary{
 display: flex;
 gap: 10px;
 position: relative;
 padding: 12px 20px 13px;
 font-size: 24px;
 font-weight: 500;
 line-height: 2.5;
 background: #003C20;
 color: #fff;
}
main #question .question-list details summary:after{
 position: absolute;
 content: "";
 width: 25px;
 height: 25px;
 top: 0;
 bottom: 0;
 margin: auto;
 right: 20px;
 background: url("../img/top/icon-plus-white.png") no-repeat center center;
 background-size: cover;
}
main #question .question-list details[open] summary:after{
 background: url("../img/top/icon-minus-white.png") no-repeat center center;
 height: 1px;
 background-size: cover;
}
main #question .question-list .content{
height:0;
overflow:hidden;
transition:height .4s ease;
}
main #question .question-list .content p{
 background: #fff;
 padding: 20px;
 font-size: 18px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
footer{
 background: #000;
 color: #fff;
 text-align: center;
 padding: 28px 0;
 font-size: 16px;
 font-weight: 500;
}
#contact .inner{
 padding: 25px 0 100px;
 color: #fff;
}
#contact .inner h3{
 margin: 0 0 70px;
 color: #ffffff0d;
 z-index: 1;
}
#contact .inner h3 span{
 color: #fff;
}
#contact .inner form{
 max-width: 930px;
 margin: 0 auto;
}
#contact .inner form table{
 font-family: var(--zen-kaku);
}
#contact > .inner > form > table > tbody > tr{
 display: flex;
 align-items: flex-start;
}
#contact > .inner > form > table > tbody > tr:not(:last-child){
 margin: 0 0 25px;
}
#contact > .inner > form > table > tbody > tr > td:first-child{
 width: 300px;
 display: flex;
 align-items: flex-end;
 gap: 10px;
 font-size: 18px;
 font-weight: 500;
 white-space: nowrap;
}
#contact > .inner > form > table > tbody > tr > td:first-child span{
 font-size: 14px;
 font-weight: 500;
 border: solid 1px;
 border-radius: 5px;
 padding: 2px 8px;
 line-height: 1.2;
}
#contact > .inner > form > table > tbody > tr > td:last-child{
 width: 630px;
}
#contact .inner form table tbody tr td.col table tr{
 display: flex;
 align-items: center;
 gap: 15px;
}
#contact .inner form table tbody tr td.col table tr td label{
 display: flex;
 align-items: center;
 gap: 5px;
 font-size: 18px;
 font-weight: 500;
}
#contact .inner form table tbody tr td.col table tr td label:hover{
 cursor: pointer;
}
#contact .inner form table tr td div.attention-name{
 margin: 10px 0 0;
 font-size: 16px;
 font-weight: 500;
}
#contact .inner form table tbody tr td.col > div{
 margin: 0 0 10px;
 font-size: 18px;
 font-weight: 500;
}
input[type="radio"],
input[type="checkbox"]{
 appearance: none;
 -webkit-appearance: none;
 width: 20px;
 height: 20px;
 border-radius: 50%;
 border: 1px solid #fff;
 background: transparent;
 cursor: pointer;
 position: relative;
}
input[type="radio"]::after,
input[type="checkbox"]::after{
 content: '';
 display: block;
 width: 12px;
 height: 12px;
 border-radius: 50%;
 background: transparent;
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
}
input[type="radio"]:checked,
input[type="checkbox"]:checked{
 border-color: #fff;
}
input[type="radio"]:checked::after,
input[type="checkbox"]:checked::after{
 background: #fff;
}
select {
 appearance: none;
 -webkit-appearance: none;
 background-color: #ffffff;
 color: #222;
 border: none;
 border-radius: 5px;
 padding: 5px 15px;
 font-size: 15px;
 font-weight: 500;
 cursor: pointer;
 outline: none;
 min-width: 200px;
 background-image: url("../img/common/icon-arrow-down-black.svg");
 background-repeat: no-repeat;
 background-position: right 10px center;
}
select:focus {
 border-color: #4a9fd4;
 box-shadow: 0 0 0 3px rgba(74, 159, 212, 0.2);
}
input[type="text"] {
 width: 100%;
 background-color: #fff;
 color: #222;
 padding: 5px 15px;
 font-size: 18px;
 font-weight: 500;
 border-radius: 5px;
}
input[type="text"]::placeholder {
  color: #888;
}
input[type="submit"]{
 display: block;
 width: 100%;
 max-width: 240px;
 text-align: center;
 margin: 50px auto 0;
 padding: 10px 0;
 cursor: pointer;
 background: linear-gradient(to bottom, #5FCB5F, #207B1F);
 font-family: var(--zen-kaku);
 font-size: 20px;
 font-weight: bold;
 border-radius: 5px;
}
.pc{
 display: block;
}
.sp{
 display: none;
}
.pc2{
 display: block;
}
.sp2{
 display: none;
}
main #space{
 background: url("../img/top/bg-img_04.jpg") no-repeat top center;
 background-size: cover;
 padding: 80px 0 50px;
}
main #space .txt-box{
 color: #fff;
}
main #space .txt-box .ttl{
 margin: 0 0 30px;
}
main #space .txt-box .ttl p:first-child{
 font-size: 30px;
 font-weight: 500;
 letter-spacing: -0.1em;
}
main #space .txt-box .ttl p.txt-gold{
 width: fit-content;
 font-size: 80px;
 font-weight: 500;
 letter-spacing: -0.1em;
 line-height: 1.2;
}
main #space .txt-box .txt{
 margin: 0 0 30px 30px;
}
main #space .txt-box .txt p{
 width: fit-content;
 font-size: 20px;
 font-weight: 500;
 letter-spacing: -0.1em;
 line-height: 1.8;
 padding: 10px 20px;
 background: #222;
}
main #space .txt-box .txt p:not(:last-child){
 margin-bottom: 10px;
}
main #space .txt-box .txt p:nth-child(2){
 margin-left: 30px;
}
main #space .txt-box .txt p:nth-child(3){
 margin-left: 60px;
}
main #space .txt-box2{
 text-align: center;
}
main #space .txt-box2 > p:first-child{
 color: #fff;
 font-size: 40px;
 font-weight: 500;
 letter-spacing: -0.1em;
 margin: 0 0 20px;
}
main #space .txt-box2 ul{
 display: flex;
 gap: 10px;
 justify-content: center;
 margin: 0 0 50px;
}
main #space .txt-box2 ul li{
 width: 300px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: linear-gradient(to top right, #D9B57B 0%, #FEEBCA 50%, #B18A4B 100%);
 padding: 28px 35px;
 font-size: 24px;
 font-weight: bold;
 letter-spacing: -0.05em;
}
main #space .txt-box2 .txt2{
 color: #fff;
}
main #space .txt-box2 .txt2 div{
 display: flex;
 justify-content: center;
 align-items: baseline;
}
main #space .txt-box2 .txt2 div p{
 font-size: 30px;
 font-weight: 500;
 letter-spacing: -0.05em;
}
main #space .txt-box2 .txt2 div p.txt-gold{
 font-size: 50px;
 font-weight: 500;
 letter-spacing: -0.05em;
}
main #space .txt-box2 .txt2 div p.ml{
 margin-left: 10px;
}
main #space .txt-box2 .txt2 div p.mr{
 margin-right: 10px;
}
#private main #fv .txt-box .main-ttl{
 letter-spacing: -0.1em;
}
@media all and (max-width: 1000px) {
 .pc{
  display: none;
 }
 .sp{
  display: block;
 }
 #gHeader .flex{
  width: 100%;
  max-width: unset;
  padding: 0 0 0 20px;
  align-items: flex-start;
 }
 #gHeader .flex .logo{
  margin: 3px 0 0;
 }
 #gHeader .flex .logo a h1{
  font-size: 12px;
 }
 #gHeader .flex .logo a img{
  max-width: 100px;
  margin: 5px auto 0;
 }
 #gHeader .flex .contact{
  gap: 0;
 }
 #gHeader .flex .contact > div > a{
  border-radius: 0;
 }
 #gHeader .flex .contact > .meeting > a{
  min-width: 140px;
  height: 100%;
  box-sizing: border-box;
  padding: 13px 11px 15px 12px;
  font-size: 14px;
  white-space: nowrap;
 }
 #gHeader .flex .contact > .materials > a,
 #gHeader .flex .contact > .telephone > a{
  min-width: 48px;
  height: 100%;
  box-sizing: border-box;
  padding: 15px 17px;
 }
 #gHeader .flex .contact > .materials > a img,
 #gHeader .flex .contact > .telephone > a img{
  height: 18px;
 }
 main #fv{
  background: url("../img/top/fv-sp.jpg") no-repeat center center;
  background-size: cover;
 }
 main #fv .txt-box{
  width: 90%;
  position: unset;
  padding: 80px 20px 0;
 }
 main #fv .txt-box .sub-ttl{
  font-size: 30px;
 }
 main #fv .txt-box .main-ttl{
  font-size: 50px;
  margin: 0 0 5px;
 }
 main #fv .txt-box .sub-txt{
  margin: 0 0 70%;
 }
 main #fv .txt-box .award{
  margin: 0 auto;
  position: absolute;
  bottom: 11px;
  left: 0;
  right: 0;
 }
 main #fv .txt-box .award div{
  gap: 10px;
 }
 main #fv .txt-box .award p{
  margin: 5px 0 0;
 }
 main div.inner{
  max-width: 90%;
  padding: 15px 0 0;
 }
 .consultation .txt-gold{
  margin: 0 0 10px;
  font-size: 24px;
 }
 .consultation > p{
  font-size: 16px;
  letter-spacing: -0.05em;
 }
 .consultation .link-box > a{
  margin: 0 0 10px;
  padding: 18px 0 17px;
 }
 .consultation .link-box > a p{
  font-size: 24px;
 }
 .consultation .link-box > div a{
  padding: 11px 0 13px;
 }
 .consultation .link-box > div a p{
  font-size: 18px;
 }
 main #frequently .inner{
  padding: 50px 0;
 }
 main #frequently .inner .ttl-box{
  margin: 0 0 20px;
  font-size: 20px;
 }
 main #frequently .inner .ttl-box .txt-gold{
  font-size: 40px;
 }
 main #frequently .inner .frequently-list{
  display: block;
  margin: 0 0 30px;
 }
 main #frequently .inner .frequently-list li{
  width: 100%;
  padding: 14px 11px 13px;
  font-size: 18px;
 }
 main #frequently .inner .frequently-list li:not(:last-child){
  margin: 0 0 10px;
 }
 main #frequently .inner .txt-box p{
  font-size: 20px;
 }
 main #frequently .inner .txt-box p.txt-gold{
  font-size: 36px;
  margin: 0 0 10px;
 }
 main #frequently .inner > p{
  font-size: 20px;
 }
 main .inner h3{
  font-size: 80px;
  margin: 25px 0 22px;
 }
 main .inner h3 span{
  font-size: 30px;
 }
 main .inner h3 span.txt-gold{
  font-size: 40px;
  margin: 5px 0 0;
 }
 main #testimonials{
  padding: 0 0 30px;
  background-size: contain;
 }
 main #testimonials .inner{
  max-width: unset;
 }
 main #testimonials h3{
  margin: 0 0 22px;
 }
 main #testimonials .inner .testimonials-list{
  display: block;
 }
 main #testimonials .inner .testimonials-list .tl-col:not(:last-child){
  margin: 0 0 10px;
 }
 main #testimonials .inner .testimonials-list .tl-col > div{
  display: grid;
  margin: 0;
 }
 main #testimonials .inner .testimonials-list .tl-col > div > div{
  width: 90%;
  min-width: unset;
  position: relative;
  padding: 30px 20px;
  z-index: 10;
 }
 main #testimonials .inner .testimonials-list .tl-col > div > div .txt-gold{
  margin: 0 0 15px;
  font-size: 24px;
 }
 main #testimonials .inner .testimonials-list .tl-col > div > div .owner{
  font-size: 18px;
 }
 main #testimonials .inner .testimonials-list .tl-col > div > img{
  position: relative;
  width: 100%;
  max-width: unset;
  bottom: 20px;
 }
 main #testimonials .inner .testimonials-list .tl-col > p{
  position: relative;
  bottom: 20px;
  background: #fff;
  padding: 30px 20px;
  font-size: 16px;
 }
 main #testimonials .inner .testimonials-list .tl-col:nth-child(even) > div > img{
  order: 2;
 }
 main #voice .inner{
  padding: 15px 0 0;
 }
 main #voice .inner h3{
  margin: 0 auto 30px;
 }
 main #choose{
  padding: 0;
 }
 main #choose .inner{
  max-width: unset;
 }
 main #choose h3{
  margin: 0 0 50px;
 }
 main #choose h4{
  width: fit-content;
  margin: 0 auto 30px;
  gap: 10px;
  font-size: 24px;
 }
 main #choose h4 span{
  font-size: 40px;
 }
 main #choose .cp-list{
  padding: 0;
 }
 main #choose .cp-list li{
  display: block;
 }
 main #choose .cp-list li:not(:last-child){
  margin: 0 0 -30px;
 }
 main #choose .cp-list li img{
  width: 95%;
  max-width: unset;
 }
 main #choose .cp-list li .txt-box{
  position: relative;
  width: 95%;
  left: 0;
  bottom: 50px;
  margin: 0 0 0 auto;
 }
 main #choose .cp-list li .txt-box .txt-gold{
  font-size: 60px;
  top: -30px;
 }
 main #choose .cp-list li .txt-box .ttl{
  margin: 0 0 10px;
  font-size: 24px;
 }
 main #choose .cp-list li .txt-box .txt{
  font-size: 16px;
 }
 main #choose .cp-list li:nth-child(even) img{
  margin: 0 0 0 auto;
 }
 main #choose .cp-list li:nth-child(even) .txt-box{
  margin: 0;
  left: 0;
  right: unset;
 }
 main #choose .cp-list li:last-child{
  margin: 0;
 }
 main #choose .cp-list:last-child li:last-child{
  margin: 0;
 }
 .bg-grad-green2{
  padding: 0 0 50px;
 }
 main #voice .vl-col{
  padding: 0 10px;
 }
 main #voice .vl-col .info{
  padding: 20px;
 }
 main #voice .info .ttl-box{
  margin: 0 0 15px;
 }
 main #voice .info .ttl-box > div p.ttl{
  font-size: 20px;
  margin: 0 80px 5px 0;
 }
 main #voice .info .ttl-box > div p.owner{
  font-size: 16px;
 }
 main #voice .info > p{
  font-size: 16px;
 }
 main #voice .info .ttl-box > img{
  min-height: 80px;
  max-height: 80px;
  width: 80px;
 }
 main #lineup{
  padding: 0 0 30px;
 }
 main #lineup .inner h3{
  margin: 0;
 }
 main #lineup .inner .lineup-table-area .lineup-table{
  width: max-content;
  border-spacing: 15px 30px;
 }
 .scroll-hint-shadow-wrap::before,
 .scroll-hint-shadow-wrap::after{
  content: none;
 }
 .scroll-hint-icon-wrap.is-active .scroll-hint-icon{
  opacity: .75;
 }
 .scroll-hint-icon{
  padding: 44px 19px 20px;
  width: 140px;
 }
 .scroll-hint-icon-white .scroll-hint-text{
  font-family: var(--zen-kaku);
  font-size: 14px;
  font-weight: bold;
  margin: 10px 0 0;
 }
 .scroll-hint-icon-white{
  background-color: #000;
 }
 .scroll-hint-icon:before{
  width: 40px;
  height: 40px;
 }
 .scroll-hint-icon-white:before{
  background-image: url("../img/common/icon-finger-white.svg");
 }
 .scroll-hint-icon:after{
  width: 42px;
  height: 10px;
  top: 30px;
 }
 .scroll-hint-icon-white:after{
  background-image: url("../img/common/icon-scroll-hint-white.svg");
 }
 .scroll-hint-icon-white .scroll-hint-text{
  color: #fff;
  letter-spacing: -0.1em;
 }
 #contact .inner{
  padding: 15px 0 50px;
 }
 #contact .inner h3{
  margin: 0 0 30px;
 }
 #contact .inner form{
  width: 100%;
 }
 #contact > .inner > form > table > tbody > tr{
  display: block;
 }
 #contact > .inner > form > table > tbody > tr:not(:last-child){
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: dotted 1px #fff;
 }
 #contact > .inner > form > table > tbody > tr > td:first-child{
  width: 100%;
  margin: 0 0 10px;
 }
 #contact .inner form table tbody tr td.col-sp table tr{
  flex-wrap: wrap;
  gap: 8px 15px;
 }
 main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(2) td{
  font-size: 14px;
 }
 main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(n+2) th:after,
 main #lineup .inner .lineup-table-area .lineup-table tr:nth-child(n+2) td:after{
  bottom: -15px;
 }
 main #lineup .inner .lineup-table-area .lineup-table tr th{
  font-size: 16px;
 }
 main #lineup .inner .lineup-table-area .lineup-table tr td{
  font-size: 16px;
 }
 main #lineup .inner > ul{
  margin: 0;
 }
 main #lineup .inner > ul li:not(:last-child){
  margin: 0 0 10px;
  font-size: 14px;
 }
 main #advantage{
  padding: 0 0 1px;
 }
 main #advantage .inner{
  max-width: unset;
 }
 main #advantage .inner h3{
  margin: 0 auto 50px;
 }
 main #advantage .ttl-box{
  display: grid;
  gap: 10px;
  width: 90%;
  margin: 0 auto 30px;
  text-align: center;
 }
 main #advantage .ttl-box p{
  font-size: 40px;
 }
 main #advantage .ttl-box img{
  width: 30px;
  margin: auto;
 }
 main #advantage .txt{
  width: 90%;
  margin: 0 auto 20px;
  font-size: 16px;
 }
 main #advantage .img-area{
  width: 90%;
  display: grid;
  gap: 20px;
  margin: 0 auto 50px;
 }
 main #advantage .img-area .img-box{
  gap: 10px;
 }
 main #advantage .img-area .img-box div img{
  width: 100%;
 }
 main #reason{
  padding: 50px 0 0;
 }
 main #reason .inner{
  max-width: unset;
 }
 main #reason .inner .txt-box{
  gap: 20px;
 }
 main #reason .inner .txt-box .ttl p:nth-child(1){
  font-size: 20px;
  margin: 0 0 5px;
 }
 main #reason .inner .txt-box .ttl p:nth-child(2){
  font-size: 34px;
 }
 main #reason .inner .txt-box .txt{
  font-size: 20px;
  margin: 10px 0;
 }
 main #reason .inner .txt-box .txt-black{
  width: 90%;
  margin: 0 auto;
 }
 main #reason .inner .txt-box .txt-black p{
  width: 100%;
  padding: 14px 20px 13px;
  font-size: 18px;
 }
 main #reason .inner .txt-box .txt-black > div{
  display: block;
 }
 main #reason .inner .txt-box .txt-black > div p:first-child{
  margin: 0 0 10px;
 }
 main #reason .inner .txt-box .txt-black + .txt{
  font-size: 30px;
  margin: 0;
 }
 main #reason .inner .txt-box > .txt-gold{
  font-size: 30px;
  margin: 0 0 50px;
  line-height: 1;
 }
 main #reason .inner .txt-box > .txt-gold span{
  display: block;
  margin: 5px 0 0;
  font-size: 20px;
 }
 main #reason .inner .bg-white{
  padding: 50px 0 0;
 }
 main #reason .inner .bg-white > p{
  font-size: 20px;
  margin: 0 0 5px;
 }
 main #reason .inner .bg-white > h4{
  width: fit-content;
  font-size: 24px;
  margin: 0 auto 30px;
 }
 main #reason .inner .bg-white .reason-list .rl-col{
  display: grid;
  gap: 0;
 }
 main #reason .inner .bg-white .reason-list .rl-col:not(:last-child){
  margin: 0;
 }
 main #reason .inner .bg-white .reason-list .rl-col .txt-box2{
  order: 2;
  width: 90%;
  position: relative;
  margin: 0 auto;
  padding: 50px 20px 0;
  background: #fff;
  bottom: 30px;
 }
 main #reason .inner .bg-white .reason-list .rl-col > img{
  order: 1;
  width: 100%;
 }
 main #reason .inner .bg-white .reason-list .rl-col .ttl{
  font-size: 24px;
  margin: 0 0 10px;
 }
 main #reason .inner .bg-white .reason-list .rl-col .txt{
  font-size: 16px;
 }
 main #consultation.bg-grad-green .inner{
  padding: 50px 0;
 }
 main #support{
  padding: 0;
 }
 main #support .inner{
  max-width: unset;
 }
 main #support h3{
  font-size: 80px;
  margin: 0 auto 27px;
 }
 main #support h3 span{
  font-size: 24px;
 }
 main #support h3 span.txt-gold{
  font-size: 40px;
 }
 main #support .support-list li{
  display: block;
 }
 main #support .support-list li:not(:last-child){
  margin: 0 0 -20px;
 }
 main #support .support-list li img{
  width: 90%;
  max-width: unset;
  margin: 0 auto;
  position: relative;
 }
 main #support .support-list li .txt-box{
  width: 100%;
  min-width: unset;
  top: -50px;
  left: 0;
  padding: 70px 40px 30px;
 }
 main #support .support-list li .txt-box .ttl{
  font-size: 24px;
 }
 main #support .support-list li:nth-child(even) .txt-box{
  left: 0;
  right: unset;
  padding: 70px 40px 30px;
 }
 main #flow{
  padding: 15px 0 50px;
 }
 main #flow .inner{
  padding: 0;
 }
 main #flow h3{
  margin: 0 auto 30px;
 }
 main #flow .flow-list{
  display: block;
  margin: 0 0 30px;
 }
 main #flow .flow-list li{
  display: flex;
  gap: 20px;
 }
 main #flow .flow-list li:not(:last-child){
  padding: 0;
  margin: 0 0 20px;
 }
 main #flow .flow-list li img{
  width: 130px;
  height: 130px;
  object-fit: cover;
  margin: 0;
 }
 main #flow .flow-list li .txt-gold{
  text-align: left;
  margin: 0 0 5px;
 }
 main #flow .flow-list li .txt-gold + p{
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.05em;
 }
 main #flow .flow-list li:not(:last-child):after{
  top: unset;
  right: unset;
  left: 35px;
  bottom: -30px;
  transform: rotate(90deg);
 }
 main #flow .txt-box{
  gap: 20px;
  margin: 0 0 50px;
 }
 main #flow .txt-box > p:nth-child(1){
  font-size: 24px;
  line-height: 1.5;
 }
 main #flow .txt-box .txt{
  margin: 0 0 10px;
 }
 main #flow .txt-box .txt p{
  font-size: 16px;
 }
 main #flow .txt-box .txt2 p:first-child{
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.1;
 }
 main #flow .txt-box .txt2 p.txt-gold{
  font-size: 24px;
  line-height: 1.8;
 }
 main #flow .txt-box .txt2 p:last-child{
  font-size: 18px;
 }
 main #flow .txt-box > p:last-child{
  margin: 10px 0 0;
  font-size: 18px;
 }
 main #question{
  padding: 0 0 50px;
 }
 main #question .inner h3{
  margin: 0 0 44px;
 }
 main #question .inner{
  max-width: unset;
 }
 main #question .question-list{
  max-width: 90%;
  margin: 0 auto;
 }
 main #question .question-list summary{
  gap: 5px;
  padding: 15px 35px 15px 15px;
  font-size: 18px;
  line-height: 1.5;
 }
 main #question .question-list details summary:after{
  width: 21px;
  height: 21px;
  right: 15px;
 }
 main #question .question-list .content p{
  padding: 15px;
 }
 footer{
  padding: 50px 26px;
 }
 footer copyright{
  font-size: 14px;
  line-height: 1.7;
 }
 #private main #fv{
  background: url("../img/top/fv-sp2.jpg") no-repeat top center;
  background-size: cover;
 }
 #private main #fv .txt-box{
  padding: 310px 0 0 20px;
 }
 #private main #fv .txt-box .main-ttl{
  letter-spacing: -0.1em;
 }
 #private main #fv .txt-box .sub-txt{
  margin: 0 0 20px;
 }
 main #space{
  padding: 290px 0 50px;
  background: url("../img/top/bg-img_04-sp.jpg") no-repeat top center;
  background-size: contain;
  background-color: #000;
 }
 main #space .txt-box .ttl p:first-child{
  font-size: 20px;
  margin: 0 0 5px;
 }
 main #space .txt-box .ttl p.txt-gold{
  font-size: 40px;
 }
 main #space .txt-box .ttl{
  margin: 0 0 20px;
 }
 main #space .txt-box .txt{
  margin: 0 0 20px 10px;
 }
 main #space .txt-box .txt p{
  padding: 5px 10px;
  font-size: 16px;
 }
 main #space .txt-box2 > p:first-child{
  font-size: 20px;
  margin: 0 0 24px;
 }
 main #space .txt-box2 ul{
  display: block;
  margin: 0 0 20px;
 }
 main #space .txt-box2 ul li{
  width: 100%;
  text-align: center;
  margin: 0 0 10px;
  padding: 17px;
  font-size: 18px;
  justify-content: center;
 }
 main #space .txt-box2 .txt2 div p{
  font-size: 16px;
  white-space: nowrap;
 }
 main #space .txt-box2 .txt2 div p.txt-gold{
  font-size: 24px;
 }
 main #space .txt-box2 .txt2 div p.ml{
  margin-left: 3px;
 }
 main #space .txt-box2 .txt2 div p.mr{
  margin-right: 3px;
 }
}
@media all and (max-width: 700px) {
 .sp2{
  display: block;
 }
 .pc2{
  display: none;
 }
 #gHeader .flex .contact{
  width: 60%;
 }
 #gHeader .flex .contact > div{
  width: 100%;
 }
 #gHeader .flex .contact > div > a,
 #gHeader .flex .contact > .meeting > a,
 #gHeader .flex .contact > .materials > a,
 #gHeader .flex .contact > .telephone > a{
  display: block;
  width: 100%;
  font-size: 70%;
  padding: 15% 5%;
  white-space: inherit;
  text-align: center;
 }
 #gHeader .flex .contact > div > a img,
 #gHeader .flex .contact > .materials > a img,
 #gHeader .flex .contact > .telephone > a img{
  width: fit-content;
  height: 35%;
  margin: 0 auto 10%;
 }
 #gHeader .flex .contact > .meeting > a{
  min-width: unset;
 }
}

/****追加CSS****/

#gHeader .link-store{
    width: 93%;
    max-width: 1340px;
    margin: 0 auto;
    padding: 5px 18px 0;
	text-align: right;
	font-size: 0.9em;
	background: url("../img/common/arrow-right.svg") right 0 bottom 20% no-repeat;
	background-size: 15px;
	letter-spacing: 0;
	
}

#gHeader .link-store a:link,
#gHeader .link-store a:visited{
    color: #fff;
}

#gHeader .link-store a:hover{
    color: #fff;
    text-decoration: underline;
}


@media (max-width: 1000px) {
    #gHeader .link-store{
        width: 100%;
        max-width: unset;
        padding: 2px 20px 0 0;
		background-size: 12px;
		font-weight: 900;
		background-position: 99% 65%;
    }
}
