@charset "utf-8";
/*home*/
/*fv*/
#fv{ padding: 60px 0 75px; background: #004798; border-radius: 230px 0 0 0; position: relative; z-index: 1;}
#fv:before{ content: ""; background: url("../images/home/body_bg.png") center center no-repeat; background-size: 100%; width: 1550px; height: 865px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1;}
@media screen and (max-width:767px){
#fv{ padding: 0 0 10%; border-radius: 25vw 0 0 0;}
#fv:before{ width: 90%; height: 50%;}
}

#fv #fv_slide01{ max-width: 1240px; margin: 0 auto;}
@media screen and (max-width:1360px){
#fv #fv_slide01{ max-width: 1240px; margin: 0 0 0 60px;}
}
#fv #fv_slide01 dl{ position: relative;}
#fv #fv_slide01 dl dt{ width: 800px; margin: 0 auto 0 0; border-radius: 200px 20px 20px 20px; overflow: hidden;}
#fv #fv_slide01 dl dt img{ width: 100%; aspect-ratio: 20 / 11; object-fit: cover; transition: 0.3s;}
#fv #fv_slide01 dl dd{ width: 500px; height: 320px; background: #fff; position: absolute; right: 0; top: 40px; border-radius: 30px;}
#fv #fv_slide01 dl dd{ width: 500px; height: 320px; background: #fff; padding: 20px 30px; border-radius: 30px; box-shadow:rgba(0, 0, 0, 0.2) 0 3px 20px; transition: 0.3s;}
#fv #fv_slide01 dl.new dd:after{ content: "NEW"; display: flex; align-items: center; justify-content: center; width: 76px; height: 76px; background: #EAF2FA; color: #004798; font-size: 0.9rem; font-weight: bold; font-family: "sofia-pro-variable", sans-serif; border-radius: 50%; position: absolute; right: 0; top: -20px;}
#fv #fv_slide01 dl dd .date_cat{ display: flex; align-items: center; margin-bottom: 25px;}
#fv #fv_slide01 dl dd .date_cat .date{ font-size: 0.8rem; font-weight: bold;}
#fv #fv_slide01 dl dd .date_cat .cat{ display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; font-size: 0.7rem; padding: 0.125em 0.75em; border-radius: 6px; margin-left: 1em;}
#fv #fv_slide01 dl dd h4{ font-size: 1.8rem; line-height: 1.5em; font-weight: 500; margin-bottom: 10px;}
#fv #fv_slide01 dl dd p{ font-size: 0.75rem; line-height: 2em; }
#fv #fv_slide01 dl dd h4{ display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 2;}
#fv #fv_slide01 dl dd p{ display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}
#fv #fv_slide01 .bx-wrapper .bx-pager{ position: absolute; bottom: 40px; right: 0; width: 500px;}
#fv #fv_slide01 .bx-wrapper .bx-pager a{ background: #D3D3D3; width: 10px; height: 10px; margin: 0 4px}
#fv #fv_slide01 .bx-wrapper .bx-pager a:hover,
#fv #fv_slide01 .bx-wrapper .bx-pager a.active{ background: #D50A22;}
#fv #fv_slide01 ul li a{ display: block;}
#fv #fv_slide01 ul li a:hover dl dt img{ transform: scale(1.1);}
@media screen and (max-width:767px){
#fv #fv_slide01{ margin: 0 0;}
#fv #fv_slide01 dl{ padding: 6vw 6vw 0;}
#fv #fv_slide01 dl dt{ width: 100%; border-radius: 20vw 2.5vw 0 0;}
#fv #fv_slide01 dl dd{ width: 100%; height: 70vw; position: static; border-radius: 0 0 2.5vw 2.5vw;}
#fv #fv_slide01 dl dd{ width: 100%; height: 70vw; padding: 5%; border-radius: 0 0 2.5vw 2.5vw;}
#fv #fv_slide01 dl.new dd:after{ width: 15vw; height: 15vw; font-size: 1.2rem; right: 3vw; top: 3vw;}
#fv #fv_slide01 dl dd .date_cat{ justify-content: space-between; margin-bottom: 5%;}
#fv #fv_slide01 dl dd .date_cat .date{ font-size: 1rem;}
#fv #fv_slide01 dl dd .date_cat .cat{ font-size: 0.9rem;}
#fv #fv_slide01 dl dd h4{ font-size: 1.6rem; margin-bottom: 3.75%;}
#fv #fv_slide01 dl dd p{ font-size: 1rem;}
#fv #fv_slide01 dl dd p{ -webkit-line-clamp: 4;}
#fv #fv_slide01 .bx-wrapper{ padding-bottom: 7.5vw;}
#fv #fv_slide01 .bx-wrapper .bx-pager{ bottom: 0; right: 0; width: 100%;}
#fv #fv_slide01 .bx-wrapper .bx-pager a{ width: 2.5vw; height: 2.5vw; margin: 0 1vw;}
}

/*アニメーション*/
#fv #fv_slide01 ul li dl dd{ opacity: 0; position: absolute;}
@media screen and (max-width:767px){
#fv #fv_slide01 ul li dl dd{ opacity: 1.0 !important; position:static;}
}
#fv #fv_slide01 ul li dl dd .date_cat,
#fv #fv_slide01 ul li dl dd h4,
#fv #fv_slide01 ul li dl dd p{ opacity: 0; position: relative;}
#fv #fv_slide01 ul li.active-slide dl dd{ animation: fv_slide01_box ease-in-out 0.6s forwards; animation-delay: 0s;}
#fv #fv_slide01 ul li.active-slide dl dd .date_cat{ animation: fv_slide01_txt ease-in-out 0.3s forwards; animation-delay: 0.3s;}
#fv #fv_slide01 ul li.active-slide dl dd h4{ animation: fv_slide01_txt ease-in-out 0.3s forwards; animation-delay: 0.4s;}
#fv #fv_slide01 ul li.active-slide dl dd p{ animation: fv_slide01_txt ease-in-out 0.3s forwards; animation-delay: 0.5s;}
@keyframes fv_slide01_box{
0%{ opacity: 0;}
100%{ opacity: 1.0;}
}
@keyframes fv_slide01_txt{
0%{ opacity: 0; top: 1rem;}
100%{ opacity: 1.0; top: 0;}
}

#fv #fv_slide02{ margin-top: 60px; background: rgba(255,255,255,0.2); padding: 25px 25px 25px 50px; border-radius: 20px;}
#fv #fv_slide02 dl{ display: flex; font-size: 0.8rem;}
#fv #fv_slide02 dl dt{ display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; font-weight: bold; border-radius: 2em; padding: 0.25em; width: 200px; margin-right: 40px;}
#fv #fv_slide02 dl dd{ width: calc(100% - 240px);}
#fv #fv_slide02 ul li{ display: flex; align-items: center;}
#fv #fv_slide02 ul li span.date{ width: 6em; color: #fff; font-weight: bold;}
#fv #fv_slide02 ul li p{ width: calc(100% - 6em); color: #fff;}
#fv #fv_slide02 ul li p{ overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
#fv #fv_slide02 ul li p a:hover{ text-decoration: underline;}
/*txt size*/
body.size01 #fv #fv_slide02 dl{ font-size: 0.6rem;}
body.size02 #fv #fv_slide02 dl{ font-size: 0.8rem;}
body.size03 #fv #fv_slide02 dl{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#fv #fv_slide02{ margin-top: 15%; padding: 5%; border-radius: 2.5vw;}
#fv #fv_slide02 dl{ font-size: 1rem; display: block;}
#fv #fv_slide02 dl dt{ width: 100%; padding: 0.5em; margin: 0 auto 5%;}
#fv #fv_slide02 dl dd{ width: 100%;}
#fv #fv_slide02 ul li{ flex-direction: column; align-items: flex-start;}
#fv #fv_slide02 ul li span.date{ width: 6em; color: #fff; font-weight: bold; margin-bottom: 0.5em;}
#fv #fv_slide02 ul li p{ width: 100%; line-height: 1.75em;}
#fv #fv_slide02 ul li p{ white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3;}
/*txt size*/
body.size01 #fv #fv_slide02 dl{ font-size: 0.8rem;}
body.size02 #fv #fv_slide02 dl{ font-size: 1rem;}
body.size03 #fv #fv_slide02 dl{ font-size: 1.4rem;}
}

#fv h1{ text-align: center; font-size: 0.75rem; font-weight: 500; line-height: 2.4em; color: #fff; margin: 40px auto;}
#fv p.txt{ text-align: center; font-size: 0.75rem; font-weight: 500; line-height: 2.4em; color: #fff; margin: 40px auto;}
#fv .txt_link p{ display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.8rem; font-weight: bold; color: #fff; margin: 50px 0 0;}
#fv .txt_link p a{ display: flex; align-items: center; justify-content: center;}
#fv .txt_link p a i{ margin-left: 2.5em; position: relative; z-index: 1; transform: rotate(0); transition: 0.3s;}
#fv .txt_link p a i:after{ content: ""; width: 60px; height: 60px; background: #fff; opacity: 0; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1; transition: 0.3s;}
#fv .txt_link p a:hover i{ transform: rotate(-45deg)}
#fv .txt_link p a:hover i:after{ width: 80px; height: 80px; opacity: 0.2;}
/*txt size*/
body.size01 #fv h1{ font-size: 0.55rem;}
body.size02 #fv h1{ font-size: 0.75rem;}
body.size03 #fv h1{ font-size: 1.1rem;}
body.size01 #fv p.txt{ font-size: 0.55rem;}
body.size02 #fv p.txt{ font-size: 0.75rem;}
body.size03 #fv p.txt{ font-size: 1.1rem;}
body.size01 #fv .txt_link p{ font-size: 0.6rem;}
body.size02 #fv .txt_link p{ font-size: 0.8rem;}
body.size03 #fv .txt_link p{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#fv p.txt{  font-size: 0.9rem; line-height: 2em; margin: 10% auto;}
#fv .txt_link p{ font-size: 1rem; margin-top: 10%;}
#fv .txt_link p a i{ margin-left: 2em;}
#fv .txt_link p a i:after{ width: 10vw; height: 10vw;}
#fv .txt_link p a:hover i:after{ width: 12.5vw; height: 12.5vw;}
/*txt size*/
body.size01 #fv p.txt{ font-size: 0.7rem;}
body.size02 #fv p.txt{ font-size: 0.9rem;}
body.size03 #fv p.txt{ font-size: 1.3rem;}
body.size01 #fv .txt_link p{ font-size: 0.8rem;}
body.size02 #fv .txt_link p{ font-size: 1rem;}
body.size03 #fv .txt_link p{ font-size: 1.2rem;}
}



/*foreign_nav*/
#foreign_nav{ padding: 10px 0 100px; position: relative;}
#foreign_nav h2{ display: flex; justify-content: space-between; height: 1em; width: 5400px; font-size: 6rem; color: #fff; word-break: keep-all; margin-bottom: 40px;}
#foreign_nav h2 span{ width: 1800px;}
/*アニメーション*/
#foreign_nav h2{ position: relative; left: 0; animation: foreign_nav_h2 linear 10s forwards infinite; animation-delay: 0s;}
@media screen and (max-width:767px){
#foreign_nav{ padding: 2.5% 0 15%;}
#foreign_nav h2{ width: 1350vw; font-size: 8rem; line-height: 1em; margin-bottom: 5%;}
#foreign_nav h2 span{ width: 450vw;}
/*アニメーション*/
#foreign_nav h2{ position: relative; left: 0; animation: foreign_nav_h2_sp linear 10s forwards infinite; animation-delay: 0s;}
}
@keyframes foreign_nav_h2{
0%{ left: -1800px;}
100%{ left: 0}
}
@keyframes foreign_nav_h2_sp{
0%{ left: -450vw;}
100%{ left: 0}
}


#foreign_nav ul{ width: calc(100% + 40px); margin-left: -20px; display: flex;}
#foreign_nav ul li{ width: calc(50% - 40px); margin: 0 20px;}
#foreign_nav ul li a{ display: block; background: #EAF2FA; border-radius: 120px 120px 10px 120px; overflow: hidden; position: relative; transition: 0.3s;}
#foreign_nav ul li a:before{ content: ""; width: 72px; height: 72px; background: #004798; border-radius: 50%; position: absolute; right: -22px; bottom: -22px; transition: 0.3s; z-index: 3;}
#foreign_nav ul li a:after{ font-family: "Font Awesome 5 Free"; font-size: 0.6rem; line-height: 1em; font-weight: 900; content: "\f061"; color: #fff; position: absolute; right: 1.25em; bottom: 1.25em; transition: 0.3s; z-index: 5;}
#foreign_nav ul li dl{ display: flex; align-items: center; width: 100%; height: 220px; padding: 30px; border-radius: 120px 120px 10px 120px; border: 4px solid #EAF2FA; transition: 0.3s;}
#foreign_nav ul li dl dt{ width: 152px; margin-right: 44px;}
#foreign_nav ul li dl dt img{ transition: 0.3s;}
#foreign_nav ul li dl dd{ width: calc(100% - 196px);}
#foreign_nav ul li dl dd h4{ display: flex; align-items: center; font-size: 1.3rem; line-height: 1.5em; min-height: 3em; margin-bottom: 15px;}
#foreign_nav ul li dl dd p{ font-size: 0.8rem; line-height: 1.5em;}
#foreign_nav ul li a:hover{ background: #fff;}
#foreign_nav ul li a:hover:before{ transform: scale(1.1);}
#foreign_nav ul li a:hover:after{ transform: rotate(-45deg);}
#foreign_nav ul li a:hover dl{ border-color: #004798;}
#foreign_nav ul li a:hover dl dt img{ transform: scale(1.1);}
#foreign_nav ul li:nth-child(2) a{ background: #F7EFF0; border-color: #F7EFF0;}
#foreign_nav ul li:nth-child(2) a:before{ background: #D50A22;}
#foreign_nav ul li:nth-child(2) dl{ border-color: #F7EFF0;}
#foreign_nav ul li:nth-child(2) a:hover{ background: #fff;}
#foreign_nav ul li:nth-child(2) a:hover dl{ border-color: #D50A22;}
@media screen and (max-width:767px){
#foreign_nav ul{ width: 100%; margin-left: 0; display: block;}
#foreign_nav ul li{ width: 100%; margin: 0 auto 15%;}
#foreign_nav ul li:last-child{ margin-bottom: 0;}
#foreign_nav ul li a{ border-radius: 33.33vw 33.33vw 2.5vw 33.33vw;}
#foreign_nav ul li a:before{ width: 14.4vw; height: 14.4vw; right: -4.4vw; bottom: -4.4vw;}
#foreign_nav ul li a:after{ font-size: 0.7rem; right: 1.25em; bottom: 1.25em;}
#foreign_nav ul li dl{ flex-direction: column; align-items: center; justify-content: center; width: 100%; height: auto; padding: 5% 5% 15%; border-radius: 33.33vw 33.33vw 2.5vw 33.33vw;}
#foreign_nav ul li dl dt{ width: 50%; margin: 0 auto 5%;}
#foreign_nav ul li dl dd{ width: 100%; text-align: center;}
#foreign_nav ul li dl dd h4{ justify-content: center; font-size: 1.8rem; min-height: 1em; margin-bottom: 2.5%;}
#foreign_nav ul li dl dd p{ font-size: 1rem;}
}



/*home_press*/
#home_press{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 70px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#home_press{ width: 1300px; margin: 0 auto 70px;}
}
@media screen and (max-width:1300px){
#home_press{ width: 100%; margin: 0 0 70px; border-radius: 0;}
}
@media screen and (max-width:767px){
#home_press{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}

#home_press #home_press_wrap{ width: calc(100% + 80px); display: flex; margin-left: -40px;}
#home_press .home_press{ width: calc(50% - 80px); margin: 0 40px; position: relative;}
#home_press .home_press .tit{ display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 50px;}
#home_press .home_press .tit h3{ display: flex; flex-direction: column;}
#home_press .home_press .tit h3 span{ display: flex; flex-direction: column; justify-content: center; font-size: 1rem; line-height: 1.25em; min-height: 2.5em; margin-bottom: 0.75em; color: #004798;}
#home_press .home_press .tit h3 strong{ display: flex; flex-direction: column; justify-content: center; font-size: 2rem; line-height: 1.25em; min-height: 2.5em;}
#home_press .home_press figure.btn_more a{ position: absolute; right: 0; top: 100px;}
#home_press .home_press.home_press02 .tit h3 span{ color: #D50A22;}
#home_press .home_press.home_press02 figure.btn_more a{ color: #D50A22;}
#home_press .home_press.home_press02 figure.btn_more a i:after{ background: #D50A22;}
@media screen and (max-width:767px){
#home_press #home_press_wrap{ width: 100%; display: block; margin: 0;}
#home_press .home_press{ width: 100%; margin: 0 auto 15%;}
#home_press .home_press:last-child{ margin-bottom: 0;}
#home_press .home_press .tit{ display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 50px;}
#home_press .home_press .tit h3{ display: flex; flex-direction: column;}
#home_press .home_press .tit h3 span{ font-size: 1rem; line-height: 1.25em; min-height: 1.25em; margin-bottom: 0.75em; color: #004798;}
#home_press .home_press .tit h3 strong{ font-size: 2rem; line-height: 1.25em; min-height: 1.25em;}
#home_press .home_press figure.btn_more{ margin-top: 10%;}
#home_press .home_press figure.btn_more a{ position: static;}
}

#home_press .home_press .list ul{ width: calc(100% + 30px); display: flex; flex-wrap: wrap; margin: -20px 0 -20px -15px;}
#home_press .home_press .list ul li{ width: calc(50% - 30px); margin: 20px 15px;}
#home_press .home_press .list ul li a{ display: flex; flex-direction: column; transition: 0.3s;}
#home_press .home_press .list ul li a figure{ margin-bottom: 10px; border-radius: 10px; overflow: hidden;}
#home_press .home_press .list ul li a figure img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: 0.3s;}
#home_press .home_press .list ul li a span.date{ font-size: 0.8rem; line-height: 1em; font-weight: bold; margin-bottom: 10px;}
#home_press .home_press .list ul li a p{ font-size: 0.8rem; line-height: 1.5em; margin-bottom: 10px;}
#home_press .home_press .list ul li a span.cat{ display: flex; align-items: center; justify-content: center; background: #333; color: #fff; font-size: 0.7rem; padding: 0.125em 0.75em; margin: 0 auto 0 0; border-radius: 2em;}
#home_press .home_press .list ul li a:hover{ opacity: 0.7;}
#home_press .home_press .list ul li a:hover figure img{ transform: scale(1.1);}
/*txt size*/
body.size01 #home_press .home_press .list ul li a span.date{ font-size: 0.6rem;}
body.size01 #home_press .home_press .list ul li a p{ font-size: 0.6rem;}
body.size01 #home_press .home_press .list ul li a span.cat{ font-size: 0.5rem;}
body.size02 #home_press .home_press .list ul li a span.date{ font-size: 0.8rem;}
body.size02 #home_press .home_press .list ul li a p{ font-size: 0.8rem;}
body.size02 #home_press .home_press .list ul li a span.cat{ font-size: 0.7rem;}
body.size03 #home_press .home_press .list ul li a span.date{ font-size: 1.2rem;}
body.size03 #home_press .home_press .list ul li a p{ font-size: 1.2rem;}
body.size03 #home_press .home_press .list ul li a span.cat{ font-size: 1.0rem;}
@media screen and (max-width:767px){
#home_press .home_press .list ul{ width: calc(100% + 5vw); margin: -3.75vw 0 -3.75vw -2.5vw;}
#home_press .home_press .list ul li{ width: calc(50% - 5vw); margin: 3.75vw 2.5vw;}
#home_press .home_press .list ul li a figure{ margin-bottom: 5%;}
#home_press .home_press .list ul li a figure img{ border-radius: 1.25vw;}
#home_press .home_press .list ul li a span.date{ font-size: 0.8rem; margin-bottom: 3.75%;}
#home_press .home_press .list ul li a p{ font-size: 1rem; margin-bottom: 2.5%;}
#home_press .home_press .list ul li a span.cat{ font-size: 0.8rem;}
/*txt size*/
body.size01 #home_press .home_press .list ul li a span.date{ font-size: 0.6rem;}
body.size01 #home_press .home_press .list ul li a p{ font-size: 0.8rem;}
body.size01 #home_press .home_press .list ul li a span.cat{ font-size: 0.6rem;}
body.size02 #home_press .home_press .list ul li a span.date{ font-size: 0.8rem;}
body.size02 #home_press .home_press .list ul li a p{ font-size: 1rem;}
body.size02 #home_press .home_press .list ul li a span.cat{ font-size: 0.8rem;}
body.size03 #home_press .home_press .list ul li a span.date{ font-size: 1.2rem;}
body.size03 #home_press .home_press .list ul li a p{ font-size: 1.4rem;}
body.size03 #home_press .home_press .list ul li a span.cat{ font-size: 1.2rem;}
}



/*home_activity*/
#home_activity{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 80px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#home_activity{ width: 1300px; margin: 0 auto 80px;}
}
@media screen and (max-width:1300px){
#home_activity{ width: 100%; margin: 0 0 80px; border-radius: 0;}
}
@media screen and (max-width:767px){
#home_activity{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}

#home_activity h2{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 50px;}
#home_activity h2 span{ font-size: 1rem; line-height: 1em; margin-bottom: 0.75em; color: #004798;}
#home_activity h2 strong{ font-size: 2rem; line-height: 1em;}
#home_activity p.txt{ text-align: center; font-size: 0.75rem; margin-bottom: 60px;}
#home_activity ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#home_activity ul li{ width: calc(33.33% - 30px); margin: 0 15px; padding-bottom: 40px; background: #fff; overflow: hidden; border-radius: 20px;}
#home_activity ul li a{ display: block; transition: 0.3s;}
#home_activity ul li a:hover{ opacity: 0.7;}
#home_activity ul li h4{ text-align: center; font-size: 1rem; margin: 30px auto 20px;}
#home_activity ul li p{ font-size: 0.75rem; line-height: 1.5em;  margin: 0 40px;}
#home_activity figure.btn_more{ margin-top: 40px;}
/*txt size*/
body.size01 #home_activity p.txt{ font-size: 0.55rem;}
body.size01 #home_activity ul li h4{ font-size: 0.8rem;}
body.size01 #home_activity ul li p{ font-size: 0.55rem;}
body.size02 #home_activity p.txt{ font-size: 0.75rem;}
body.size02 #home_activity ul li h4{ font-size: 1rem;}
body.size02 #home_activity ul li p{ font-size: 0.75rem;}
body.size03 #home_activity p.txt{ font-size: 1.1rem;}
body.size03 #home_activity ul li h4{ font-size: 1.4rem;}
body.size03 #home_activity ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#home_activity h2{ margin-bottom: 10%;}
#home_activity h2 span{ font-size: 1rem;}
#home_activity h2 strong{ font-size: 2rem;}
#home_activity p.txt{  font-size: 0.9rem; margin-bottom: 10%;}
#home_activity ul{ display: block; width: 100%; margin: 0; padding: 0 3.75%;}
#home_activity ul li{ width: 100%; margin: 0 auto 7.5%; padding-bottom: 7.5%; border-radius: 2.5vw;}
#home_activity ul li h4{ font-size: 1rem; margin: 5% auto;}
#home_activity ul li p{  font-size: 1rem; margin: 0 10%;}
#home_activity figure.btn_more{ margin-top: 10%;}
/*txt size*/
body.size01 #home_activity p.txt{ font-size: 0.8rem;}
body.size01 #home_activity ul li h4{ font-size: 1.0rem;}
body.size01 #home_activity ul li p{ font-size: 0.8rem;}
body.size02 #home_activity p.txt{ font-size: 1rem;}
body.size02 #home_activity ul li h4{ font-size: 1.2rem;}
body.size02 #home_activity ul li p{ font-size: 1rem;}
body.size03 #home_activity p.txt{ font-size: 1.4rem;}
body.size03 #home_activity ul li h4{ font-size: 1.6rem;}
body.size03 #home_activity ul li p{ font-size: 1.4rem;}
}



/*home_support*/
#home_support{ margin-top: 80px;}
#home_support a{ display: block; background: #004798; color: #fff; padding: 80px 40px; border-radius: 40px; position: relative; z-index: 1; overflow: hidden;}
#home_support a:after{ content: ""; width: 600px; height: 600px; background: #D50A22; border-radius: 50%; position: absolute; right: -180px; bottom: -30px; z-index: -1; transition: 0.3s;}
#home_support dl{ display: flex; align-items: center; justify-content: space-between;}
#home_support dl dt h3{ font-size: 1.5rem; margin-bottom: 25px;}
#home_support dl dt p{  font-size: 0.75rem;}
#home_support dl dd span{ display: flex; align-items: center; justify-content: flex-end; font-size: 0.8rem; font-weight: bold;}
#home_support dl dd span i{ display: flex; align-items: center; justify-content: center; color: #D50A22; width: 40px; height: 40px; font-size: 0.8rem; border-radius: 50%; margin-left: 2em; transition: 0.3s; position: relative; z-index: 1;}
#home_support dl dd span i:after{ content: ""; width: 40px; height: 40px; background: #fff; border-radius: 50%; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); z-index: -1; transition: 0.3s;}
#home_support a:hover:after{ transform: scale(1.1);}
#home_support a:hover dl dd span i{ transform: rotate(-45deg);}
#home_support a:hover dl dd span i:after{ width: 50px; height: 50px;}
/*txt size*/
body.size01 #home_support dl dt h3{ font-size: 1.25rem;}
body.size01 #home_support dl dt p{ font-size: 0.55rem;}
body.size02 #home_support dl dt h3{ font-size: 1.5rem;}
body.size02 #home_support dl dt p{ font-size: 0.75rem;}
body.size03 #home_support dl dt h3{ font-size: 2.0rem;}
body.size03 #home_support dl dt p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#home_support{ margin-top: 15%;}
#home_support a{ background: #004798; color: #fff; padding: 10% 5% 7.5%; border-radius: 10vw;}
#home_support a:after{ width: 150vw; height: 150vw; right: 50%; bottom: -120vw; transform: translateX(50%);}
#home_support dl{ display: block;}
#home_support dl dt h3{ font-size: 1.5rem; margin-bottom: 7.5%;}
#home_support dl dt p{ font-size: 0.75rem;}
#home_support dl dd{ margin-top: 25%;}
#home_support dl dd span{ justify-content: center; font-size: 1rem; position: static;}
#home_support dl dd span i{ width: 7.5vw; height: 7.5vw; font-size: 0.7rem;}
#home_support dl dd span i:after{ width: 7.5vw; height: 7.5vw;}
#home_support a:hover:after{ transform: translateX(50%) scale(1.1);}
#home_support a:hover dl dd span i:after{ width: 8.75vw; height: 8.75vw;}
/*txt size*/
body.size01 #home_support dl dt h3{ font-size: 1.6rem;}
body.size01 #home_support dl dt p{ font-size: 0.8rem;}
body.size02 #home_support dl dt h3{ font-size: 1.8rem;}
body.size02 #home_support dl dt p{ font-size: 1rem;}
body.size03 #home_support dl dt h3{ font-size: 2.4rem;}
body.size03 #home_support dl dt p{ font-size: 1.4rem;}
}





/*pages*/
/*fv*/
#fv_pages .fv_pages_in{ width: 1100px; margin: auto; background: #004798; color: #fff; padding: 100px 0; border-radius: 0 60px 60px 0; position: relative; z-index: 1;}
#fv_pages .fv_pages_in:after{ content: ""; width: 1920px; height: 100%; background: #004798; position: absolute; left: -1900px; top: 0; z-index: -1;}
#fv_pages .fv_pages_in h1{ display: flex; flex-direction: column;}
#fv_pages .fv_pages_in h1 span{ font-size: 1rem; line-height: 1em; margin-bottom: 0;}
#fv_pages .fv_pages_in h1 strong{ font-size: 3rem; line-height: 1.25em;}
#fv_pages .fv_pages_in h1 small{ font-size: 2rem; margin-top: 0.25em;}
@media screen and (max-width:767px){
#fv_pages .fv_pages_in{ width: 96.25%; padding: 10% 3.75% 10% 6%; margin: 0; border-radius: 0 5vw 5vw 0;}
#fv_pages .fv_pages_in h1 span{ font-size: 1rem; margin-bottom: 0.25em;}
#fv_pages .fv_pages_in h1 strong{ font-size: 2.2rem; line-height: 1.25em;}
#fv_pages .fv_pages_in h1 small{ font-size: 1.5rem; margin-top: 0.25em;}
}

/*pankuzu*/
#pankuzu{ width: 1100px; margin: 20px auto 80px;}
#pankuzu ul{ display: flex; align-items: center; flex-wrap: wrap;}
#pankuzu ul li{ font-size: 0.6rem; position: relative; padding-right: 16px; margin-right: 10px;}
#pankuzu ul li:after{ content: ""; width: 6px; height: 6px; background: #D3D3D3; position: absolute; right: 0; top: 50%; transform: translateY(-50%); border-radius: 50%;}
#pankuzu ul li:last-child{ padding-right: 0; margin-right: 0;}
#pankuzu ul li:last-child:after{ display: none;}
#pankuzu ul li a:hover{ text-decoration: underline;}
@media screen and (max-width:767px){
#pankuzu{ width: 88%; margin: 2.5% auto 15%;}
#pankuzu ul li{ font-size: 0.8rem; padding-right: 3.75vw; margin-right: 2.5vw;}
#pankuzu ul li:after{ width: 1.25vw; height: 1.25vw;}
}




/*pr*/
#pr_nav{ margin-bottom: 100px;}
#pr_nav ul{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#pr_nav ul li{ width: calc(25% - 20px); margin: 0 10px;}
#pr_nav ul li a{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 100%; background: #fff; padding: 10px; font-size: 0.9rem; font-weight: bold; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.04) 10px 10px 20px; transition: 0.3s;}
#pr_nav ul li a strong{ line-height: 1.5em; min-height: 3em; display: flex; align-items: center; justify-content: center;}
#pr_nav ul li a i{ color: #004798;}
#pr_nav ul li a:hover{ color: #004798;}
@media screen and (max-width:767px){
#pr_nav{ margin-bottom: 15%;}
#pr_nav ul{ flex-wrap: wrap; width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#pr_nav ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
#pr_nav ul li a{ padding: 2.5%; font-size: 0.9rem; border-radius: 2.5vw;}
#pr_nav ul li a strong{ line-height: 1.5em; min-height: 3em; display: flex; align-items: center; justify-content: center;}
}

#pr01{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#pr01{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#pr01{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#pr01{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#pr01 p.lead{ text-align: center; margin-bottom: 50px;}
#pr01 ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#pr01 ul li{ width: calc(33.33% - 30px); margin: 0 15px; padding-bottom: 40px; background: #fff; overflow: hidden; border-radius: 20px;}
#pr01 ul li h4{ text-align: center; font-size: 1rem; margin: 30px auto 20px;}
#pr01 ul li p{ font-size: 0.75rem; line-height: 1.5em; text-align: center; margin: 0 20px;}
#pr01 figure.btn_more{ margin-top: 40px;}
/*txt size*/
body.size01 #pr01 ul li h4{ font-size: 0.8rem;}
body.size01 #pr01 ul li p{ font-size: 0.55rem;}
body.size02 #pr01 ul li h4{ font-size: 1rem;}
body.size02 #pr01 ul li p{ font-size: 0.75rem;}
body.size03 #pr01 ul li h4{ font-size: 1.4rem;}
body.size03 #pr01 ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#pr01 p.lead{  margin-bottom: 10%;}
#pr01 ul{ display: block; width: 100%; margin: 0; padding: 0 3.75%;}
#pr01 ul li{ width: 100%; margin: 0 auto 7.5%; padding-bottom: 7.5%; border-radius: 2.5vw;}
#pr01 ul li:last-child{ margin-bottom: 0;}
#pr01 ul li h4{ font-size: 1rem; margin: 5% auto;}
#pr01 ul li p{ font-size: 0.8rem; margin: 0 5%;}
#pr01 figure.btn_more{ margin-top: 10%;}
/*txt size*/
body.size01 #pr01 ul li h4{ font-size: 1.0rem;}
body.size01 #pr01 ul li p{ font-size: 0.6rem;}
body.size02 #pr01 ul li h4{ font-size: 1.2rem;}
body.size02 #pr01 ul li p{ font-size: 0.8rem;}
body.size03 #pr01 ul li h4{ font-size: 1.6rem;}
body.size03 #pr01 ul li p{ font-size: 1.2rem;}
}



#pr02{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0 0; transition: 0.3s; overflow: hidden;}
@media screen and (max-width:1360px){
#pr02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#pr02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#pr02{ margin-bottom: 15%; padding: 15% 0 0; border-radius: 10vw;}
}
#pr02 p.lead{ text-align: center; margin-bottom: 50px;}
#pr02 .result{ background: #004798; color: #fff; padding: 80px 0; position: relative; z-index: 1;}
#pr02 .result:before{ content: ""; width: 960px; height: 100%; background: #004798; position: absolute; left: -940px; top: 0; z-index: -1;}
#pr02 .result:after{ content: ""; width: 960px; height: 100%; background: #004798; position: absolute; right: -940px; top: 0; z-index: -1;}
#pr02 .result ul{ display: flex; justify-content: center;}
#pr02 .result ul li{ width: 180px; margin: 0 20px; text-align: center;}
#pr02 .result ul li img{ width: 110px;}
#pr02 .result ul li strong{ display: block; font-size: 3.5rem; line-height: 1em; margin-bottom: 10px;}
#pr02 .result ul li h4{ font-size: 1rem;}
/*txt size*/
body.size01 #pr02 .result ul li h4{ font-size: 0.8rem;}
body.size02 #pr02 .result ul li h4{ font-size: 1.0rem;}
body.size03 #pr02 .result ul li h4{ font-size: 1.4rem;}
@media screen and (max-width:767px){
#pr02 p.lead{ text-align: center; margin-bottom: 10%;}
#pr02 .result{ padding: 10% 0;}
#pr02 .result ul{ width: calc(100% + 5vw); margin: -2.5vw 0 -2.5vw -2.5vw; flex-wrap: wrap;}
#pr02 .result ul li{ width: calc(50% - 5vw); margin: 2.5vw;}
#pr02 .result ul li dl{ display: flex; align-items: center;}
#pr02 .result ul li dl dt{ width: 12.5vw; margin-right: 0;}
#pr02 .result ul li img{ width: 100%;}
#pr02 .result ul li dl dd{ width: calc(100% - 12.5vw);}
#pr02 .result ul li strong{ font-size: 3rem; margin-bottom: 2.5%;}
#pr02 .result ul li h4{ font-size: 0.8rem;}
/*txt size*/
body.size01 #pr02 .result ul li h4{ font-size: 0.6rem;}
body.size02 #pr02 .result ul li h4{ font-size: 0.8rem;}
body.size03 #pr02 .result ul li h4{ font-size: 1.2rem;}
}



.pr03-05{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
.pr03-05{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
.pr03-05{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
.pr03-05{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
.pr03-05 p.lead{ text-align: center;}
.pr03-05 .list{ width: 720px; margin: 50px auto;}
.pr03-05 .list ul{ display: flex; flex-wrap: wrap;}
.pr03-05 .list ul li{ width: calc(50% - 60px); margin: 10px 30px; padding-left: 47px; font-size: 0.9rem; font-weight: bold; position: relative;}
.pr03-05 .list ul li span{ width: 27px; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
.pr03-05 .price{ margin: 50px auto; width: 730px;}
.pr03-05 .price h4{ display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; border-radius: 8px; font-size: 1rem; padding: 1em; margin-bottom: 10px;}
.pr03-05 .price h5{ display: flex; align-items: center; justify-content: center; text-align: center; background: #F4F6FA; color: #D50A22; height: 90px; border-radius: 8px;}
.pr03-05 .price h5 strong{ font-size: 2rem; line-height: 1em; position: relative; top: -0.1em;}
.pr03-05 .price h5 small{ font-size: 0.8rem;}
.pr03-05 .btn{ display: flex; align-items: center; justify-content: center;}
.pr03-05 .btn figure.btn_style01,
.pr03-05 .btn figure.btn_style02{ margin: 0 15px;}
/*txt size*/
body.size01 .pr03-05 .price h5{ font-size: 0.8rem;}
body.size01 .pr03-05 .price h5 strong{ font-size: 1.5rem;}
body.size01 .pr03-05 .price h5 small{ font-size: 0.6rem;}
body.size02 .pr03-05 .price h5{ font-size: 1rem;}
body.size02 .pr03-05 .price h5 strong{ font-size: 2rem;}
body.size02 .pr03-05 .price h5 small{ font-size: 0.8rem;}
body.size03 .pr03-05 .price h5{ font-size: 1.4rem;}
body.size03 .pr03-05 .price h5 strong{ font-size: 2.5rem;}
body.size03 .pr03-05 .price h5 small{ font-size: 1.2rem;}
@media screen and (max-width:767px){
.pr03-05 p.lead{ }
.pr03-05 .list{ width: 100%; margin: 10% auto;}
.pr03-05 .list ul{ display: block; width: 88%; margin: auto;}
.pr03-05 .list ul li{ width: 100%; margin: 5% auto 0; padding-left: 7.5vw; font-size: 1rem;}
.pr03-05 .list ul li span{ width: 5vw;}
.pr03-05 .price{ margin: 10% auto; width: 100%;}
.pr03-05 .price h4{ border-radius: 1.25vw; font-size: 1rem; margin-bottom: 2.5%;}
.pr03-05 .price h5{ height: 15vw; border-radius: 1.25vw; font-size: 1rem;}
.pr03-05 .price h5 strong{ font-size: 2rem;}
.pr03-05 .price h5 small{ font-size: 0.8rem;}
.pr03-05 .btn{ display: block;}
.pr03-05 .btn figure.btn_style01,
.pr03-05 .btn figure.btn_style02{ margin: 5% auto 0;}
}


#pr06{ background: #E9F0F4; border-radius: 100px 0 0 100px; width: calc(100% - 30px); margin: 0 0 0 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#pr06{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#pr06{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#pr06{ margin-bottom: 0; padding: 15% 0; border-radius: 10vw;}
}
#pr06 p.lead{ text-align: center;}
#pr06 ul{ width: calc(100% + 30px); margin: 50px 0 0 -15px; display: flex;}
#pr06 ul li{ width: calc(33.33% - 30px); margin: 0 15px; padding: 30px; border-radius: 20px; background: #fff;}
#pr06 ul li p{ font-size: 0.8rem; line-height: 1.75em;}
#pr06 ul li .sign{ display: flex; align-items: center; justify-content: flex-end;}
#pr06 ul li .sign p{ font-weight: 500; margin: 0;}
#pr06 ul li .sign span{ width: 46px; margin-left: 10px;}
/*txt size*/
body.size01 #pr06 ul li p{ font-size: 0.6rem;}
body.size02 #pr06 ul li p{ font-size: 0.8rem;}
body.size03 #pr06 ul li p{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#pr06 p.lead{ }
#pr06 ul{ display: block; width: 100%; margin: 10% auto 0;}
#pr06 ul li{ width: 100%; margin: 5% auto 0; padding: 5%; border-radius: 2.5vw;}
#pr06 ul li p{ font-size: 0.8rem;}
#pr06 ul li .sign span{ width: 7.5vw; margin-left: 2.5%;}
/*txt size*/
body.size01 #pr06 ul li p{ font-size: 0.6rem;}
body.size02 #pr06 ul li p{ font-size: 0.8rem;}
body.size03 #pr06 ul li p{ font-size: 1.2rem;}
}





/*about*/
.about_nav{ margin: 0 auto 100px;}
.about_nav ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -10px 0 -10px -15px;}
.about_nav ul li{ width: calc(33.33% - 30px); margin: 10px 15px;}
.about_nav ul li a{ display: flex; align-items: center; width: 100%; padding: 20px; border-radius: 20px; background: #fff; font-size: 1.2rem; font-weight: bold; position: relative; box-shadow:rgba(0, 0, 0, 0.06) 0 3px 20px; transition: 0.3s;}
.about_nav ul li a i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #004798; font-size: 0.7rem; border: 1px solid #004798; border-radius: 50%; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.about_nav ul li a:hover{ color: #004798;}
.about_nav ul li a:hover i{ background: #004798; color: #fff;}
@media screen and (max-width:767px){
.about_nav{ margin: 0 auto 15%;}
.about_nav ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
.about_nav ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
.about_nav ul li a{ display: flex; align-items: center; padding: 2.5vw; border-radius: 2.5vw; font-size: 1rem; line-height: 1.5em; min-height: calc(3em + 5vw);}
.about_nav ul li a i{ width: 5vw; height: 5vw; font-size: 0.7rem; right: 1.25vw;}
}

#about_sec01 .maincontent{ position: relative; z-index: 1;}
#about_sec01 .maincontent:before{ content: ""; width: 860px; height: 860px; background: #D50A22; border-radius: 50%; position: absolute; left: -630px; top: -120px; z-index: -1;}
#about_sec01 dl{ display: flex; justify-content: space-between;}
#about_sec01 dl dt{ width: 294px;}
#about_sec01 dl dt img{ border-radius: 30px;}
#about_sec01 dl dd{ width: 756px;}
#about_sec01 dl dd h3{ font-size: 1.3rem; line-height: 1.5em; margin-bottom: 20px;}
#about_sec01 dl dd p{ font-size: 0.75rem; }
#about_sec01 dl dd p.sign{ text-align: right; margin-top: 60px;}
/*txt size*/
body.size01 #about_sec01 dl dd h3{ font-size: 1.1rem;}
body.size01 #about_sec01 dl dd p{ font-size: 0.55rem;}
body.size02 #about_sec01 dl dd h3{ font-size: 1.3rem;}
body.size02 #about_sec01 dl dd p{ font-size: 0.75rem;}
body.size03 #about_sec01 dl dd h3{ font-size: 1.7rem;}
body.size03 #about_sec01 dl dd p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#about_sec01 .maincontent:before{ width: 85vw; height: 85vw; left: -75vw; top: -15vw;}
#about_sec01 dl{ display: block;}
#about_sec01 dl dt{ width: 50%; margin: 0 auto 5%;}
#about_sec01 dl dt img{ border-radius: 2.5vw;}
#about_sec01 dl dd{ width: 100%;}
#about_sec01 dl dd h3{ font-size: 1.3rem; margin-bottom: 5%;}
#about_sec01 dl dd p{ font-size: 0.75rem;}
#about_sec01 dl dd p.sign{ margin-top: 7.5%;}
}

#about_sec02{ background: #E2EAF2; border-radius: 200px 0 0 0 ; padding: 80px 0; margin: 100px auto; overflow: hidden;}
#about_sec02 p.lead{ text-align: center;}
#about_sec02 .dl_btn{ margin: 40px auto 60px;}
#about_sec02 .dl_btn ul{ display: flex; align-items: center; justify-content: center;}
#about_sec02 .dl_btn ul li{ margin: 0 10px;}
#about_sec02 .dl_btn ul li a{ display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; font-size: 0.8rem; font-weight: bold; width: 340px; height: 60px; border-radius: 30px; transition: 0.3s;}
#about_sec02 .dl_btn ul li a span{ width: 24px; margin-right: 10px;}
#about_sec02 .dl_btn ul li a:hover{ opacity: 0.7;}

#about_sec02 .connect ul{ display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; position: relative; z-index: 1;}
#about_sec02 .connect ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 314px; height: 314px; margin: 0 0; background: #fff; border-radius: 50%; padding: 0 45px 20px; box-shadow:rgba(0, 0, 0, 0.06) 0 3px 20px;}
#about_sec02 .connect ul:before{ content: ""; width: 756px; height: 756px; border: 6px solid #004798; border-radius: 50%; position: absolute; left: 0; right: 0; top: 120px; margin: auto; z-index: -3;}
#about_sec02 .connect ul:after{ content: ""; background: #E2EAF2; width: 100%; height: 120px; position: absolute; left: 0; right: 0; bottom: -80px; z-index: -1;}
#about_sec02 .connect ul li:first-child{ margin: 0 calc((100% - 314px)/2) -120px;}
#about_sec02 .connect ul li:nth-child(2){ margin-left: 0;}
#about_sec02 .connect ul li:nth-child(3){ margin-right: 0;}
#about_sec02 .connect ul li figure img{ width: 80px;}
#about_sec02 .connect ul li h4{ text-align: center; font-size: 1.1rem; color: #004798; margin: 20px auto 10px;}
#about_sec02 .connect ul li p{ text-align: center; font-size: 0.75rem; line-height: 1.5em;}
/*txt size*/
body.size01 #about_sec02 .connect ul li h4{ font-size: 0.9rem;}
body.size01 #about_sec02 .connect ul li p{ font-size: 0.55rem}
body.size02 #about_sec02 .connect ul li h4{ font-size: 1.1rem;}
body.size02 #about_sec02 .connect ul li p{ font-size: 0.75rem}
body.size03 #about_sec02 .connect ul li h4{ font-size: 1.5rem;}
body.size03 #about_sec02 .connect ul li p{ font-size: 1.1rem}
@media screen and (max-width:767px){
#about_sec02{ border-radius: 20vw 0 0 0 ; padding: 10% 0 10vw; margin: 15% auto;}
#about_sec02 p.lead{ }
#about_sec02 .dl_btn{ margin: 7.5% auto 10%;}
#about_sec02 .dl_btn ul{ display: block; width: 88%; margin: auto;}
#about_sec02 .dl_btn ul li{ margin: 3.75% auto 0;}
#about_sec02 .dl_btn ul li a{ font-size: 0.8rem; width: 100%; height: 12.5vw; border-radius: 12.5vw;}
#about_sec02 .dl_btn ul li a span{ width: 5vw; margin-right: 2.5%;}

#about_sec02 .connect ul{ width: calc(100% + 7.5vw); margin-left: -3.75vw;}
#about_sec02 .connect ul li{ width: 45vw; height: 45vw; margin: 0 calc(50% - 45vw); padding: 0 5% 5%;}
#about_sec02 .connect ul:before{ width: 60vw; height: 60vw; border: 6px solid #004798; top: 15vw; left: 50%; transform: translateX(-50%);}
#about_sec02 .connect ul:after{ width: 100vw; height: 30vw; bottom: -10vw; left: 50%; transform: translateX(-50%);}
#about_sec02 .connect ul li:first-child{ margin: 0 calc((100% - 50vw)/2) 0;}
#about_sec02 .connect ul li:nth-child(2){ margin-left: 0;}
#about_sec02 .connect ul li:nth-child(3){ margin-right: 0;}
#about_sec02 .connect ul li figure img{ width: 7.5vw;}
#about_sec02 .connect ul li h4{ font-size: 1.0rem; margin: 2.5% auto 2.5%;}
#about_sec02 .connect ul li p{ font-size: 0.7rem;}
/*txt size*/
body.size01 #about_sec02 .connect ul li h4{ font-size: 0.7rem;}
body.size01 #about_sec02 .connect ul li p{ font-size: 0.5rem}
body.size02 #about_sec02 .connect ul li h4{ font-size: 0.9rem;}
body.size02 #about_sec02 .connect ul li p{ font-size: 0.65rem}
body.size03 #about_sec02 .connect ul li h4{ font-size: 1.3rem;}
body.size03 #about_sec02 .connect ul li p{ font-size: 1.0rem}
}

#about_sec03 h2.tit{ font-size: 8.5rem; line-height: 1em; text-align: center; color: #fff; margin-bottom: -0.1em;}
#about_sec03 .maincontent{ background: #fff; border-radius: 100px; padding: 60px 0 0;}
#about_sec03 .lead{ text-align: center;}
#about_sec03 figure img{ width: 880px;}
@media screen and (max-width:767px){
#about_sec03 h2.tit{ font-size: 6rem;}
#about_sec03 .maincontent{ width: 100%; border-radius: 10vw; padding: 10% 5% 0;}
#about_sec03 .lead{ }
#about_sec03 figure img{ width: 88%;}
}

#about_sec04{ margin: 100px auto;}
#about_sec04 .maincontent{ background: #E9F0F4; padding: 80px 120px; border-radius: 100px;}
#about_sec04 p.lead{ text-align: center;}
#about_sec04 ul{ margin-top: 30px;}
#about_sec04 ul li{ padding: 1em 0 1em 24px; font-size: 0.8rem; line-height: 2em; position: relative; border-bottom: 1px solid #E2EAF2;}
#about_sec04 ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 1.75em;}
/*txt size*/
body.size01 #about_sec04 ul li{ font-size: 0.6rem;}
body.size02 #about_sec04 ul li{ font-size: 0.8rem;}
body.size03 #about_sec04 ul li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#about_sec04{ margin: 15% auto;}
#about_sec04 .maincontent{ width: 100%; padding: 10% 5%; border-radius: 10vw;}
#about_sec04 p.lead{ }
#about_sec04 ul{ margin-top: 5%;}
#about_sec04 ul li{ padding: 1em 0 1em 5vw; font-size: 0.8rem;}
#about_sec04 ul li:before{ width: 2.5vw; height: 2.5vw;}
}

#about_sec05{ margin: 100px auto;}
#about_sec05 .maincontent{ background: #fff; padding: 80px 120px; border-radius: 100px; text-align: center;}
#about_sec05 ul{ display: inline-block; text-align: left;}
#about_sec05 ul li{ padding-left: 2.25em; font-size: 1.2rem; font-weight: bold; line-height: 1.5em; margin-bottom: 1.5em; position: relative;}
#about_sec05 ul li:last-child{ margin-bottom: 0;}
#about_sec05 ul li span{ font-size: 2.5rem; color: #004798; font-weight: bold; position: absolute; left: 0; top: -0.125em;}
@media screen and (max-width:767px){
#about_sec05{ margin: 15% auto;}
#about_sec05 .maincontent{ width: 100%; padding: 10% 5%; border-radius: 10vw;}
#about_sec05 ul li{ padding-left: 2.25em; font-size: 1rem;}
#about_sec05 ul li span{ font-size: 2rem; top: -0.125em;}
}

.about footer{ margin-top: 160px;}
#about_sec06{ padding: 80px 0; margin: 100px auto 240px; position: relative; z-index: 3;}
#about_sec06 .maincontent{ width: 100%; max-width: 1240px; position: relative; z-index: 3;}
#about_sec06:before{ content: ""; width: 100%; height: 100%; background: #E2EAF2; border-radius: 200px 0 0 0; position: absolute; left: 0; top: 0; z-index: -1;}
#about_sec06:after{ content: ""; width: 860px; height: 860px; background: #004798; border-radius: 50%; position: absolute; right: -540px; bottom: -240px; z-index: -3;}
#about_sec06 .history{ width: 640px; padding-left: 100px; margin: auto; position: relative;}
#about_sec06 .history:before{ content: ""; width: 4px; height: calc(100% - 100px); background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#about_sec06 ul{ display: flex; flex-direction: column; align-items: flex-start; margin: auto; position: relative; z-index: 3;}
#about_sec06 ul li{ display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 40px;}
#about_sec06 ul li:last-child{ margin-bottom: 0;}
#about_sec06 ul li dl{ display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border-radius: 20px; background: #fff; border: 2px solid #004798;}
#about_sec06 ul li dl dt{ font-size: 1rem; font-weight: bold; color: #004798; position: relative;}
#about_sec06 ul li dl dd{ margin-top: 10px;}
#about_sec06 ul li dl dd p{ font-size: 0.75rem; line-height: 1.5em; }
#about_sec06 ul li h4{ display: flex; align-items: flex-end; font-size: 2.5rem; line-height: 1em; margin-bottom: 20px;}
#about_sec06 ul li h4 strong{ font-size: 2.5rem; line-height: 1em; color: #004798;}
#about_sec06 ul li h4 span{ font-size: 1rem; line-height: 1em; color: #004798; margin-left: 0.5em; position: relative; top: -0.125em;}
#about_sec06 ul li dl dt:before{ content: ""; width: 100px; height: 2px; background: #004798; position: absolute; left: -130px; bottom: 0;}
#about_sec06 ul li dl dt:after{ content: ""; width: 14px; height: 14px; background: #004798; border-radius: 50%; position: absolute; left: -137px; bottom: -7px;}
/*txt size*/
body.size01 #about_sec06 ul li dl dt{ font-size: 0.8rem;}
body.size01 #about_sec06 ul li dl dd p{ font-size: 0.55rem;}
body.size02 #about_sec06 ul li dl dt{ font-size: 1rem;}
body.size02 #about_sec06 ul li dl dd p{ font-size: 0.75rem;}
body.size03 #about_sec06 ul li dl dt{ font-size: 1.4rem;}
body.size03 #about_sec06 ul li dl dd p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
.about footer{ margin-top: 50vw;}
#about_sec06{ padding: 10% 0; margin: 15% auto 25vw;}
#about_sec06:before{ border-radius: 20vw 0 0 0;}
#about_sec06:after{ width: 100vw; height: 100vw; right: -50vw; bottom: -25vw;}
#about_sec06 .maincontent{ width: 88%;}
#about_sec06 .history{ width: 100%; padding-left: 10vw;}
#about_sec06 .history:before{ content: ""; width: 4px; height: calc(100% - 20vw);}
#about_sec06 ul li{ margin-bottom: 7.5%; position: relative;}
#about_sec06 ul li dl{ padding: 3.75vw; border-radius: 2.5vw;}
#about_sec06 ul li dl dt{ font-size: 1rem;}
#about_sec06 ul li dl dd{ margin-top: 2.5vw;}
#about_sec06 ul li dl dd p{ font-size: 0.75rem;}
#about_sec06 ul li h4{ font-size: 2rem; margin-bottom: 1.875vw;}
#about_sec06 ul li h4 strong{ font-size: 2rem;}
#about_sec06 ul li h4 span{ font-size: 0.8rem;}
#about_sec06 ul li dl dt:before{ width: 10vw; height: 2px; left: -13.75vw;}
#about_sec06 ul li dl dt:after{ width: 2.5vw; height: 2.5vw; left: -15vw; bottom: -1.25vw;}
}





/*organization*/
.organization_nav{ margin: 0 auto 100px;}
.organization_nav ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -10px 0 -10px -15px;}
.organization_nav ul li{ width: calc(33.33% - 30px); margin: 10px 15px;}
.organization_nav ul li a{ display: flex; align-items: center; width: 100%; padding: 20px; border-radius: 20px; background: #fff; font-size: 1.2rem; font-weight: bold; position: relative; box-shadow:rgba(0, 0, 0, 0.06) 0 3px 20px; transition: 0.3s;}
.organization_nav ul li a i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #004798; font-size: 0.7rem; border: 1px solid #004798; border-radius: 50%; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.organization_nav ul li a:hover{ color: #004798;}
.organization_nav ul li a:hover i{ background: #004798; color: #fff;}
@media screen and (max-width:767px){
.organization_nav{ margin: 0 auto 15%;}
.organization_nav ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
.organization_nav ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
.organization_nav ul li a{ padding: 2.5vw; border-radius: 2.5vw; font-size: 1rem;}
.organization_nav ul li a i{ width: 5vw; height: 5vw; font-size: 0.7rem; right: 1.25vw;}
}

#organization_sec01{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#organization_sec01{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#organization_sec01{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#organization_sec01{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#organization_sec01 figure.group img{ width: 820px;}
#organization_sec01 h3{ margin: 50px auto 30px; font-size: 1.5rem; padding-bottom: 0.25em; color: #004798; border-bottom: 4px solid #004798;}
#organization_sec01 table{ width: calc(100% + 20px); margin: -6px 0 -6px -10px; border-collapse: separate; border-spacing: 10px 6px; font-size: 0.9rem; line-height: 1.5em; overflow: hidden;}
#organization_sec01 table thead th{ background: #004798; color: #fff; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0.25em;}
#organization_sec01 table thead th:nth-child(1){ width: 240px;}
#organization_sec01 table thead th:nth-child(2){ width: 240px;}
#organization_sec01 table tbody td{ background: #FAFAFA; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0.25em; position: relative; z-index: 1;}
#organization_sec01 table tbody td:not(:last-child):after{ content: ""; width: calc(100% + 20px); height: 100%; background: #FAFAFA; position: absolute; left: 0; top: 0; z-index: -1; border-radius: 8px;}
/*txt size*/
body.size01 #organization_sec01 table{ font-size: 0.7rem;}
body.size02 #organization_sec01 table{ font-size: 0.9rem;}
body.size03 #organization_sec01 table{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#organization_sec01 figure.group img{ width: 100%;}
#organization_sec01 h3{ margin: 7.5% auto 5%; font-size: 1.4rem;}
#organization_sec01 table{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw; border-spacing: 1.25vw; font-size: 0.75rem;}
#organization_sec01 table thead th{ border-radius: 1.25vw;}
#organization_sec01 table thead th:nth-child(1){ width: 25%;}
#organization_sec01 table thead th:nth-child(2){ width: 25%;}
#organization_sec01 table tbody td{ border-radius: 1.25vw;}
#organization_sec01 table tbody td:not(:last-child):after{ width: calc(100% + 2.5vw); border-radius: 1.25vw;}
/*txt size*/
body.size01 #organization_sec01 table{ font-size: 0.55rem;}
body.size02 #organization_sec01 table{ font-size: 0.75rem;}
body.size03 #organization_sec01 table{ font-size: 1.1rem;}
}

#organization_sec02{ margin: 100px auto;}
#organization_sec02 .maincontent{ background: #fff; border-radius: 100px; padding: 80px 60px;}
#organization_sec02 p.lead{ text-align: center;}
#organization_sec02 p.sign{ text-align: right; font-weight: bold; font-size: 0.75rem; margin-top: 50px;}
#organization_sec02 .plan_img{ width: calc(100% + 420px); margin-left: -210px; margin-top: 30px;}
#organization_sec02 .plan_img ul{ display: flex; align-items: center; justify-content: center;}
#organization_sec02 .plan_img ul li{ width: 300px; margin: 0 15px;}
#organization_sec02 .plan_img ul li:nth-child(2n){ width: 400px; margin: 0 15px;}
#organization_sec02 .plan_img ul li img{ border-radius: 20px;}
/*txt size*/
body.size01 #organization_sec02 p.sign{ font-size: 0.55rem;}
body.size02 #organization_sec02 p.sign{ font-size: 0.75rem;}
body.size03 #organization_sec02 p.sign{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#organization_sec02{ margin: 15% auto;}
#organization_sec02 .maincontent{ width: 100%; border-radius: 10vw; padding: 10% 5%;}
#organization_sec02 p.lead{ }
#organization_sec02 p.sign{ text-align: right; font-size: 0.75rem; margin-top: 7.5%;}
#organization_sec02 .plan_img{ width: calc(100% + 50vw); margin-left: -25vw; margin-top: 5%;}
#organization_sec02 .plan_img ul li{ width: 22.5%; margin: 0 1.25vw;}
#organization_sec02 .plan_img ul li:nth-child(2n){ width: 27.5%; margin: 0 1.25vw;}
#organization_sec02 .plan_img ul li img{ border-radius: 2.5vw;}
}

#organization_sec03{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#organization_sec03{ width: 1300px; margin: 0 auto;}
}
@media screen and (max-width:1300px){
#organization_sec03{ width: 100%; margin: 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#organization_sec03{ margin-bottom: 0; padding: 15% 0; border-radius: 10vw;}
}
#organization_sec03 p.lead{ text-align: center;}
#organization_sec03 h3{ margin: 50px auto 30px; font-size: 1.5rem; padding-bottom: 0.25em; color: #004798; border-bottom: 4px solid #004798;}
#organization_sec03 p.att{ margin-top: 30px; font-size: 0.75rem; line-height: 1.5em; padding-left: 1em; position: relative;}
#organization_sec03 p.att:before{ content: "※"; position: absolute; left: 0; top: 0;}
#organization_sec03 ul{ display: flex; flex-wrap: wrap; width: calc(100% + 20px); margin: -10px 0 -10px -10px;}
#organization_sec03 ul li{ width: calc(33.33% - 20px); margin: 10px;}
#organization_sec03 ul li a{ display: flex; align-items: center; background: #F4F6FA; font-size: 0.8rem; line-height: 1.25em; padding: 12px 24px; border-radius: 40px; transition: 0.3s;}
#organization_sec03 ul li a span{ width: 24px; margin-right: 12px;}
#organization_sec03 ul li a strong{ flex: 1; font-weight: normal;}
#organization_sec03 ul li a:hover{ color: #004798;}
/*txt size*/
body.size01 #organization_sec03 ul li a{ font-size: 0.6rem;}
body.size02 #organization_sec03 ul li a{ font-size: 0.8rem;}
body.size03 #organization_sec03 ul li a{ font-size: 1.2rem;}
body.size01 #organization_sec03 p.att{ font-size: 0.55rem;}
body.size02 #organization_sec03 p.att{ font-size: 0.75rem;}
body.size03 #organization_sec03 p.att{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#organization_sec03 p.lead{ }
#organization_sec03 h3{ margin: 7.5% auto 5%; font-size: 1.4rem;}
#organization_sec03 p.att{ margin-top: 5%; font-size: 0.7rem;}
#organization_sec03 ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#organization_sec03 ul li{ width: calc(50% - 2.5vw); margin: 1.25vw;}
#organization_sec03 ul li a{ font-size: 0.7rem; padding: 1.875vw 3.75vw; border-radius: 7.5vw;}
#organization_sec03 ul li a span{ width: 5vw; margin-right: 1.875vw;}
/*txt size*/
body.size01 #organization_sec03 ul li a{ font-size: 0.5rem;}
body.size02 #organization_sec03 ul li a{ font-size: 0.7rem;}
body.size03 #organization_sec03 ul li a{ font-size: 1.0rem;}
body.size01 #organization_sec03 p.att{ font-size: 0.5rem;}
body.size02 #organization_sec03 p.att{ font-size: 0.7rem;}
body.size03 #organization_sec03 p.att{ font-size: 1.0rem;}
}





/*assistance*/
#assistance_lead{ margin-bottom: 50px;}
#assistance_lead p.lead{ text-align: center;}
@media screen and (max-width:767px){
#assistance_lead{ margin-bottom: 10%;}
}

#assistance01{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#assistance01{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#assistance01{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#assistance01{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#assistance01 .list{ background: #fff; width: 980px; margin: auto; padding: 40px 60px; border-radius: 10px;}
#assistance01 .list ul{ margin-bottom: 30px;}
#assistance01 .list ul li{ padding: 1em 0 1em 20px; border-bottom: 1px solid #E2EAF2; font-size: 0.9rem; position: relative;}
#assistance01 .list ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 1.5em;}
/*txt size*/
body.size01 #assistance01 .list ul li{ font-size: 0.7rem;}
body.size02 #assistance01 .list ul li{ font-size: 0.9rem;}
body.size03 #assistance01 .list ul li{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#assistance01 .list{ width: 100%; padding: 5%; border-radius: 1.25vw;}
#assistance01 .list ul{ margin-bottom: 5%;}
#assistance01 .list ul li{ padding: 1em 0 1em 3.75vw; font-size: 0.9rem;}
#assistance01 .list ul li:before{ content: ""; width: 1.875vw; height: 1.875vw; top: 1.5em;}
}

#assistance02{ background: #E9F0F4; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#assistance02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#assistance02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#assistance02{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#assistance02 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#assistance02 p.lead{ }
}

#assistance02 .list{ margin: 50px auto; background: #fff; width: 980px; padding: 40px 60px; border-radius: 10px;}
#assistance02 .list ul{ margin-bottom: 30px;}
#assistance02 .list ul li{ display: flex; align-items: flex-end; justify-content: space-between; padding: 1em 0 1em 36px; border-bottom: 1px solid #E2EAF2; font-size: 0.9rem; position: relative;}
#assistance02 .list ul li:before{ content: ""; width: 22px; height: 22px; background: url("../images/assistance/ico_info.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 1.75em;}
#assistance02 .list ul li:nth-child(3):before{ top: 1.33em;}
#assistance02 .list ul li p{ flex: 1; margin: 0;}
#assistance02 .list ul li figure.btn_more{ margin: 0;}
#assistance02 .list ul li figure.btn_more a{ font-size: 0.8rem;}
#assistance02 figure.btn_style01 a{ width: 360px;}
/*txt size*/
body.size01 #assistance02 .list ul li figure.btn_more a{ font-size: 0.6rem;}
body.size02 #assistance02 .list ul li figure.btn_more a{ font-size: 0.8rem;}
body.size03 #assistance02 .list ul li figure.btn_more a{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#assistance02 .list{ margin: 10% auto; width: 100%; padding: 5%; border-radius: 1.25vw;}
#assistance02 .list ul{ margin-bottom: 5%;}
#assistance02 .list ul li{ display: block; padding: 1em 0 1em 7.5vw; font-size: 0.9rem;}
#assistance02 .list ul li:before{ content: ""; width: 5vw; height: 5vw; top: 1.33em;}
#assistance02 .list ul li:nth-child(3):before{ top: 1.33em;}
#assistance02 .list ul li figure.btn_more{ margin: 2.5% 0 0; justify-content: flex-end;}
#assistance02 figure.btn_style01 a{ width: 88%;}
}





/*mail-magazine*/
#mail-magazine01{ margin: 0 auto 100px;}
#mail-magazine01 figure.btn_style01 a:hover i{ transform: translateY(-50%) rotate(90deg);}
#mail-magazine01 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#mail-magazine01{ margin: 0 auto 15%;}
#mail-magazine01 p.lead{ }
}

#mail-magazine02{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#mail-magazine02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#mail-magazine02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#mail-magazine02{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#mail-magazine02 p.lead{ text-align: center;}
#mail-magazine02 ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: 25px 0 -25px -15px;}
#mail-magazine02 ul li{ width: calc(33.33% - 30px); margin: 25px 15px; background: #fff; padding: 40px; border-radius: 20px;}
#mail-magazine02 ul li figure img{ width: 128px;}
#mail-magazine02 ul li h4{ text-align: center; font-size: 1.2rem; margin-top: 20px;}
#mail-magazine02 ul li p{  font-size: 0.75rem; line-height: 1.5em; margin-top: 10px;}
/*txt size*/
body.size01 #mail-magazine02 ul li h4{ font-size: 1.0rem;}
body.size01 #mail-magazine02 ul li p{ font-size: 0.55rem;}
body.size02 #mail-magazine02 ul li h4{ font-size: 1.2rem;}
body.size02 #mail-magazine02 ul li p{ font-size: 0.75rem;}
body.size03 #mail-magazine02 ul li h4{ font-size: 1.6rem;}
body.size03 #mail-magazine02 ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#mail-magazine02 p.lead{ }
#mail-magazine02 ul{ width: calc(100% + 7.5vw); margin: 2.5vw 0 -2.5vw -3.75vw;}
#mail-magazine02 ul li{ width: calc(50% - 2.5vw); margin: 2.5vw 1.25vw; padding: 3.75%; border-radius: 2.5vw;}
#mail-magazine02 ul li figure img{ width: 50%;}
#mail-magazine02 ul li h4{ display: flex; align-items: center; justify-content: center; min-height: 2.5em; font-size: 1rem; margin-top: 5%;}
#mail-magazine02 ul li p{ font-size: 0.75rem; margin-top: 5%;}
/*txt size*/
body.size01 #mail-magazine02 ul li h4{ font-size: 0.9rem;}
body.size01 #mail-magazine02 ul li p{ font-size: 0.55rem;}
body.size02 #mail-magazine02 ul li h4{ font-size: 1.1rem;}
body.size02 #mail-magazine02 ul li p{ font-size: 0.75rem;}
body.size03 #mail-magazine02 ul li h4{ font-size: 1.5rem;}
body.size03 #mail-magazine02 ul li p{ font-size: 1.1rem;}
}

#mail-magazine03 p.lead{ text-align: center;}
#mail-magazine03 .bread{ display: flex; flex-wrap: wrap; width: calc(100% + 40px); margin: 60px 0 -20px -20px;}
#mail-magazine03 .bread .bread_box{ width: calc(50% - 40px); margin: 20px; background: #fff; padding: 40px 40px; border-radius: 30px; box-shadow:rgba(0, 0, 0, 0.04) 10px 10px 20px;}
#mail-magazine03 .bread .bread_box h4{ text-align: center; font-size: 1.5rem; margin-bottom: 30px;}
#mail-magazine03 .bread .bread_box p{  font-size: 0.75rem; margin: 0 20px;}
#mail-magazine03 .bread .bread_box ul{ margin: 20px 20px 0; padding: 30px 40px; background: #F4F4F4; border-radius: 10px;}
#mail-magazine03 .bread .bread_box ul li{ font-size: 0.8rem; padding-left: 24px; margin-bottom: 0.5em; position: relative;}
#mail-magazine03 .bread .bread_box ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
/*txt size*/
body.size01 #mail-magazine03 .bread .bread_box h4{ font-size: 1.25rem;}
body.size01 #mail-magazine03 .bread .bread_box p{ font-size: 0.55rem;}
body.size01 #mail-magazine03 .bread .bread_box ul li{ font-size: 0.6rem;}
body.size02 #mail-magazine03 .bread .bread_box h4{ font-size: 1.5rem;}
body.size02 #mail-magazine03 .bread .bread_box p{ font-size: 0.75rem;}
body.size02 #mail-magazine03 .bread .bread_box ul li{ font-size: 0.8rem;}
body.size03 #mail-magazine03 .bread .bread_box h4{ font-size: 2.0rem;}
body.size03 #mail-magazine03 .bread .bread_box p{ font-size: 1.1rem;}
body.size03 #mail-magazine03 .bread .bread_box ul li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#mail-magazine03 p.lead{ }
#mail-magazine03 .bread{ width: 100%; margin: 7.5% auto 0;}
#mail-magazine03 .bread .bread_box{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#mail-magazine03 .bread .bread_box h4{ font-size: 1.4rem; margin-bottom: 3.75%;}
#mail-magazine03 .bread .bread_box p{ font-size: 0.75rem; margin: 0 auto;}
#mail-magazine03 .bread .bread_box ul{ margin: 3.75% auto 0; padding: 5%; border-radius: 1.25vw;}
#mail-magazine03 .bread .bread_box ul li{ font-size: 0.8rem; padding-left: 5vw;}
#mail-magazine03 .bread .bread_box ul li:before{ width: 1.875vw; height: 1.875vw;}
/*txt size*/
body.size01 #mail-magazine03 .bread .bread_box h4{ font-size: 1.2rem;}
body.size01 #mail-magazine03 .bread .bread_box p{ font-size: 0.55rem;}
body.size01 #mail-magazine03 .bread .bread_box ul li{ font-size: 0.6rem;}
body.size02 #mail-magazine03 .bread .bread_box h4{ font-size: 1.4rem;}
body.size02 #mail-magazine03 .bread .bread_box p{ font-size: 0.75rem;}
body.size02 #mail-magazine03 .bread .bread_box ul li{ font-size: 0.8rem;}
body.size03 #mail-magazine03 .bread .bread_box h4{ font-size: 1.8rem;}
body.size03 #mail-magazine03 .bread .bread_box p{ font-size: 1.1rem;}
body.size03 #mail-magazine03 .bread .bread_box ul li{ font-size: 1.2rem;}
}

#mail-magazine04{ margin: 100px auto;}
#mail-magazine04 p.lead{ text-align: center;}
#mail-magazine04 .archive ul{ display: flex; flex-wrap: wrap; width: calc(100% + 50px); margin: 40px 0 -20px -25px;}
#mail-magazine04 .archive ul li{ display: flex; flex-direction: column; width: calc(50% - 50px); margin: 20px 25px; background: #fff; padding: 40px 30px; border-radius: 30px; box-shadow:rgba(0, 0, 0, 0.04) 10px 10px 20px;}
#mail-magazine04 .archive ul li span.date{ font-size: 1rem; font-weight: bold; margin-bottom: 15px;}
#mail-magazine04 .archive ul li h4{ font-size: 1.2rem; margin-bottom: 10px;}
#mail-magazine04 .archive ul li p{ font-size: 0.75rem;}
#mail-magazine04 .archive ul li figure.btn_more{ margin: 40px 0 0 auto;}
/*txt size*/
body.size01 #mail-magazine04 .archive ul li span.date{ font-size: 0.8rem;}
body.size01 #mail-magazine04 .archive ul li h4{ font-size: 1.0rem;}
body.size01 #mail-magazine04 .archive ul li p{ font-size: 0.55rem;}
body.size02 #mail-magazine04 .archive ul li span.date{ font-size: 1rem;}
body.size02 #mail-magazine04 .archive ul li h4{ font-size: 1.2rem;}
body.size02 #mail-magazine04 .archive ul li p{ font-size: 0.75rem;}
body.size03 #mail-magazine04 .archive ul li span.date{ font-size: 1.4rem;}
body.size03 #mail-magazine04 .archive ul li h4{ font-size: 1.6rem;}
body.size03 #mail-magazine04 .archive ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#mail-magazine04{ margin: 15% auto;}
#mail-magazine04 p.lead{ }
#mail-magazine04 .archive ul{ display: block; width: 100%; margin: 7.5% auto 0;}
#mail-magazine04 .archive ul li{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#mail-magazine04 .archive ul li span.date{ font-size: 1rem; margin-bottom: 3.75%;}
#mail-magazine04 .archive ul li h4{ font-size: 1.2rem; margin-bottom: 2.5%;}
#mail-magazine04 .archive ul li p{ font-size: 0.75rem;}
#mail-magazine04 .archive ul li figure.btn_more{ margin: 5% 0 0 auto;}
}

#mail-magazine_form{ background: #E2EAF2; border-radius: 0 100px 100px 0; width: calc(100% - 30px); margin: 0 30px 100px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#mail-magazine_form{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#mail-magazine_form{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#mail-magazine_form{ margin-bottom: 15%; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}
#mail-magazine_form p.lead{ text-align: center;}
#mail-magazine_form form{ margin-top: 80px;}
#mail-magazine_form form input,
#mail-magazine_form form textarea{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 1em;}
#mail-magazine_form form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#mail-magazine_form form label{ cursor: pointer;}
#mail-magazine_form form label input{ cursor: pointer;}
#mail-magazine_form .form_sec{ width: 780px; margin: 0 auto;}
#mail-magazine_form .form_sec .tit{ margin-bottom: 30px;}
#mail-magazine_form .form_sec .tit dl{ display: flex;}
#mail-magazine_form .form_sec .tit dl dt{ margin-top: -0.125em; width: 80px; font-size: 3rem; line-height: 1em; font-weight: bold; color: #004798;}
#mail-magazine_form .form_sec .tit dl dd{ flex: 1;}
#mail-magazine_form .form_sec .tit dl dd h3{ font-size: 1.2rem; margin-bottom: 5px;}
#mail-magazine_form .form_sec .tit dl dd p{ font-size: 0.75rem; line-height: 1.5em;}
#mail-magazine_form .form_sec .cont dl{ margin-top: 40px;}
#mail-magazine_form .form_sec .cont dl dt{ font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#mail-magazine_form .form_sec .cont dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#mail-magazine_form .form_sec .cont dl dd.check ul li{ font-size: 0.9rem; line-height: 1.25em; margin-top: 0.75em; padding-left: 1.5em; position: relative;}
#mail-magazine_form .form_sec .cont dl dd.check ul li label{ display: flex; align-items: center;}
#mail-magazine_form .form_sec .cont dl dd.check ul li input{ position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#mail-magazine_form .form_sec .cont dl dd.check ul li span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px;}
#mail-magazine_form .pv_check{ text-align: center; margin: 50px auto; font-size: 0.8rem;}
#mail-magazine_form .pv_check a{ color: #004798; text-decoration: underline;}
#mail-magazine_form .pv_check a:hover{ text-decoration: none;}
#mail-magazine_form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; margin: 50px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s;}
#mail-magazine_form .submit_btn button:hover{ opacity: 0.7;}
/*txt size*/
body.size01 #mail-magazine_form form input,
body.size01 #mail-magazine_form form textarea{ font-size: 0.6rem;}
body.size01 #mail-magazine_form .form_sec .tit dl dd h3{ font-size: 1.0rem;}
body.size01 #mail-magazine_form .form_sec .tit dl dd p{ font-size: 0.55rem;}
body.size01 #mail-magazine_form .form_sec .cont dl dd.check ul li{ font-size: 0.7rem;}
body.size01 #mail-magazine_form .pv_check{ font-size: 0.6rem;}
body.size01 #mail-magazine_form .submit_btn button{ font-size: 0.6rem;}
body.size02 #mail-magazine_form form input,
body.size02 #mail-magazine_form form textarea{ font-size: 0.8rem;}
body.size02 #mail-magazine_form .form_sec .tit dl dd h3{ font-size: 1.2rem;}
body.size02 #mail-magazine_form .form_sec .tit dl dd p{ font-size: 0.75rem;}
body.size02 #mail-magazine_form .form_sec .cont dl dd.check ul li{ font-size: 0.9rem;}
body.size02 #mail-magazine_form .pv_check{ font-size: 0.8rem;}
body.size02 #mail-magazine_form .submit_btn button{ font-size: 0.8rem;}
body.size03 #mail-magazine_form form input,
body.size03 #mail-magazine_form form textarea{ font-size: 1.2rem;}
body.size03 #mail-magazine_form .form_sec .tit dl dd h3{ font-size: 1.6rem;}
body.size03 #mail-magazine_form .form_sec .tit dl dd p{ font-size: 1.1rem;}
body.size03 #mail-magazine_form .form_sec .cont dl dd.check ul li{ font-size: 1.3rem;}
body.size03 #mail-magazine_form .pv_check{ font-size: 1.2rem;}
body.size03 #mail-magazine_form .submit_btn button{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#mail-magazine_form p.lead{}
#mail-magazine_form form{ margin-top: 10%;}
#mail-magazine_form form input,
#mail-magazine_form form textarea{ border-radius: 1.25vw; font-size: 0.8rem;}
#mail-magazine_form .form_sec{ padding: 7.5% 5%; margin-top: 5%; border-radius: 2.5vw;}
#mail-magazine_form .form_sec .tit{ margin-bottom: 5%;}
#mail-magazine_form .form_sec .tit dl dt{ margin-top: -0.125em; width: 1.25em; font-size: 2.4rem;}
#mail-magazine_form .form_sec .tit dl dd h3{ font-size: 1.2rem; margin-bottom: 1.25%;}
#mail-magazine_form .form_sec .tit dl dd p{ font-size: 0.75rem;}
#mail-magazine_form .form_sec .cont dl{ margin-top: 5%;}
#mail-magazine_form .form_sec .cont dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#mail-magazine_form .form_sec .cont dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#mail-magazine_form .form_sec .cont dl dd.check ul li{ font-size: 0.9rem;}
#mail-magazine_form .form_sec .cont dl dd.check ul li span.req{ font-size: 0.6rem;}
#contact_form .pv_check{ margin: 7.5% auto;}
#mail-magazine_form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
}

#mail-magazine_notice{ margin: 100px auto 0;}
#mail-magazine_notice .maincontent{ background: #fff; padding: 80px 150px; border-radius: 100px;}
#mail-magazine_notice dl{ margin-top: 40px;}
#mail-magazine_notice dl dt{ font-size: 1.1rem; font-weight: bold; margin-bottom: 20px;}
#mail-magazine_notice dl dd ul li{ font-size: 0.8rem; padding-left: 24px; margin-bottom: 0.5em; position: relative;}
#mail-magazine_notice dl dd ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#mail-magazine_notice dl dd ul li a{ color: #004798; text-decoration: underline;}
#mail-magazine_notice dl dd ul li a:hover{ text-decoration: none;}
/*txt size*/
body.size01 #mail-magazine_notice dl dt{ font-size: 0.9rem;}
body.size01 #mail-magazine_notice dl dd ul li{ font-size: 0.6rem;}
body.size02 #mail-magazine_notice dl dt{ font-size: 1.1rem;}
body.size02 #mail-magazine_notice dl dd ul li{ font-size: 0.8rem;}
body.size03 #mail-magazine_notice dl dt{ font-size: 1.5rem;}
body.size03 #mail-magazine_notice dl dd ul li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#mail-magazine_notice{ margin: 15% auto 0;}
#mail-magazine_notice .maincontent{ padding: 10% 7.5%; border-radius: 10vw;}
#mail-magazine_notice dl{ margin-top: 7.5%;}
#mail-magazine_notice dl dt{ font-size: 1.1rem; margin-bottom: 3.75%;}
#mail-magazine_notice dl dd ul li{ font-size: 0.8rem; padding-left: 5vw;}
#mail-magazine_notice dl dd ul li:before{ width: 1.875vw; height: 1.875vw;}
}





/*press-release*/
.press-release h2.tit_h2 span.num{ color: #004798; font-size: 3rem; margin: 0 0.125em;}

#press-release01{ margin: 0 auto 100px;}
#press-release01 figure.btn_style01 a:hover i{ transform: translateY(-50%) rotate(90deg);}
#press-release01 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#press-release01{ margin: 0 auto 15%;}
#press-release01 p.lead{}
}

#press-release01 #press-release_nav{ margin-top: 70px;}
#press-release01 #press-release_nav ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#press-release01 #press-release_nav ul li{ width: calc(33.33% - 30px); margin: 15px;}
#press-release01 #press-release_nav ul li a{ display: flex; flex-direction: column; width: 100%; height: 180px; padding: 30px; position: relative; background: #fff; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.06) 0 3px 20px; border: 2px solid #fff; transition: 0.3s;}
#press-release01 #press-release_nav ul li h4{ display: flex; flex-direction: column; margin-top: -10px;}
#press-release01 #press-release_nav ul li h4 span{ font-size: 2.5rem; line-height: 1em; margin-bottom: 0.125em; font-weight: bold; color: #004798;}
#press-release01 #press-release_nav ul li h4 strong{ font-size: 1.1rem; line-height: 1.5em;}
#press-release01 #press-release_nav ul li span.arrow{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #004798; border-radius: 50%; color: #004798; font-size: 0.6rem; line-height: 1em; position: absolute; right: 10px; bottom: 10px; transition: 0.3s;}
#press-release01 #press-release_nav ul li a:hover{ border-color: #004798;}
#press-release01 #press-release_nav ul li a:hover span.arrow{ background: #004798; color: #fff; padding-top: 0.5em;}
@media screen and (max-width:767px){
#press-release01 #press-release_nav{ margin-top: 10%;}
#press-release01 #press-release_nav ul{ width: calc(100% + 7.5vw); margin: -1.875vw 0 -1.875vw -3.75vw;}
#press-release01 #press-release_nav ul li{ width: calc(50% - 3.75vw); margin: 1.875vw;}
#press-release01 #press-release_nav ul li a{ height: auto; padding: 3.75vw; border-radius: 2.5vw;}
#press-release01 #press-release_nav ul li h4{ margin-top: -1.25vw;}
#press-release01 #press-release_nav ul li h4 span{ font-size: 2rem;}
#press-release01 #press-release_nav ul li h4 strong{ font-size: 1rem; min-height: 3em;}
#press-release01 #press-release_nav ul li span.arrow{ width: 7.5vw; height: 7.5vw; font-size: 0.6rem; right: 1.875vw; bottom: auto; top: 3.75vw;}
}

#press-release02{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#press-release02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#press-release02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#press-release02{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#press-release02 p.lead{ text-align: center;}
#press-release02 .feature_list .feature_box{ background: #fff; padding: 80px 320px 80px 80px; border-radius: 100px; margin-top: 50px; position: relative;}
#press-release02 .feature_list .feature_box figure.ill{ width: 240px; position: absolute; right: 40px; top: 40px;}
#press-release02 .feature_list .feature_box .txt{ display: flex; flex-direction: column; margin: 0;}
#press-release02 .feature_list .feature_box h4{ display: flex; align-items: flex-end; margin-bottom: 30px;}
#press-release02 .feature_list .feature_box h4 span{ font-size: 4rem; line-height: 1em; color: #004798;}
#press-release02 .feature_list .feature_box h4 strong{ font-size: 1.5rem; margin: 0; position: relative;}
#press-release02 .feature_list .feature_box h4 small{ font-size: 0.8rem; margin: 0 1em;}
#press-release02 .feature_list .feature_box p{ font-size: 0.75rem;}
/*
#press-release02 .feature_list .feature_box:nth-child(2n){ padding: 80px 80px 80px 320px;}
#press-release02 .feature_list .feature_box:nth-child(2n) figure.ill{ right: auto; left: 40px;}
#press-release02 .feature_list .feature_box:nth-child(2n) .txt{ align-items: flex-end;}
#press-release02 .feature_list .feature_box:nth-child(2n) h4{ flex-direction: row-reverse;}
#press-release02 .feature_list .feature_box:nth-child(4){ padding: 80px;}
*/

#press-release02 .feature_list .feature_box .feature_case ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#press-release02 .feature_list .feature_box .feature_case ul li{ width: calc(50% - 30px); margin: 15px; background: #004798; color: #fff; border-radius: 20px; position: relative; overflow: hidden;}
#press-release02 .feature_list .feature_box .feature_case ul li span.cat{ display: flex; align-items: center; justify-content: center; background: #fff; color: #333; font-size: 0.7rem; line-height: 1em; padding: 0.25em 0.5em 0.33em; border-radius: 6px; position: absolute; right: 20px; top: 20px;}
#press-release02 .feature_list .feature_box .feature_case ul li h4{ display: block; text-align: left; margin: 20px 25px; font-size: 1rem;}
#press-release02 .feature_list .feature_box .feature_case ul li p{ margin: 0 25px 30px; font-size: 0.75rem; line-height: 2em;}

/*txt size*/
body.size01 #press-release02 .feature_list .feature_box p{ font-size: 0.55rem;}
body.size01 #press-release02 .feature_list .feature_box .feature_case ul li span.cat{ font-size: 0.5rem;}
body.size01 #press-release02 .feature_list .feature_box .feature_case ul li p{ font-size: 0.55rem;}
body.size02 #press-release02 .feature_list .feature_box p{ font-size: 0.75rem;}
body.size02 #press-release02 .feature_list .feature_box .feature_case ul li span.cat{ font-size: 0.7rem;}
body.size02 #press-release02 .feature_list .feature_box .feature_case ul li p{ font-size: 0.75rem;}
body.size03 #press-release02 .feature_list .feature_box p{ font-size: 1.1rem;}
body.size03 #press-release02 .feature_list .feature_box .feature_case ul li span.cat{ font-size: 1.0rem;}
body.size03 #press-release02 .feature_list .feature_box .feature_case ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#press-release02 p.lead{ text-align: center;}
#press-release02 .feature_list .feature_box{ padding: 5% 5% 5%; border-radius: 2.5vw; margin-top: 7.5%;}
#press-release02 .feature_list .feature_box figure.ill{ width: 50%; position: static; margin-top: 5%;}
#press-release02 .feature_list .feature_box .txt{ display: block;}
#press-release02 .feature_list .feature_box h4{ flex-direction: column; margin-bottom: 5%;}
#press-release02 .feature_list .feature_box h4 span{ font-size: 2.4rem;}
#press-release02 .feature_list .feature_box h4 strong{ font-size: 1.2rem; margin: 0;}
#press-release02 .feature_list .feature_box h4 small{ margin: 0.5em 0 0;}
#press-release02 .feature_list .feature_box p{ font-size: 0.75rem;}
#press-release02 .feature_list .feature_box:nth-child(2n){ padding: 5%;}
#press-release02 .feature_list .feature_box:nth-child(2n) h4{ flex-direction: column;}
#press-release02 .feature_list .feature_box:nth-child(4){ padding: 5%;}

#press-release02 .feature_list .feature_box .feature_case ul{ display: block; width: 100%; margin: 0;}
#press-release02 .feature_list .feature_box .feature_case ul li{ width: 100%; margin: 5% auto 0; border-radius: 2.5vw;}
#press-release02 .feature_list .feature_box .feature_case ul li span.cat{ font-size: 0.7rem; right: 2.5vw; top: 2.5vw;}
#press-release02 .feature_list .feature_box .feature_case ul li h4{ margin: 5%; font-size: 1rem;}
#press-release02 .feature_list .feature_box .feature_case ul li p{ margin: 0 5% 5%; font-size: 0.75rem;}
}

#press-release03{ margin-bottom: 100px;}
#press-release03 p.lead{ text-align: center;}
#press-release03 .table_wrap{ margin-top: 50px;}
#press-release03 .table_wrap table{ width: calc(100% + 20px); margin: -10px 0 -10px -10px; border-collapse: separate; border-spacing: 10px; font-size: 0.9rem; line-height: 1.5em; overflow: hidden;}
#press-release03 .table_wrap table thead th{ background: #004798; color: #fff; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0.25em;}
#press-release03 .table_wrap table thead th:nth-child(1){ width: 260px;}
#press-release03 .table_wrap table thead th:nth-child(2){ width: 320px;}
#press-release03 .table_wrap table thead th:nth-child(3){ width: 150px;}
#press-release03 .table_wrap table thead th:nth-child(4){ width: 180px;}
#press-release03 .table_wrap table thead th:nth-child(5){ width: 150px;}
#press-release03 .table_wrap table tbody th{ background: #fff; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0; position: relative; z-index: 1;}
#press-release03 .table_wrap table tbody td{ background: #fff; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0; position: relative; z-index: 1;}
/*
#press-release03 .table_wrap table tbody th:after{ content: ""; width: calc(100% + 20px); height: 100%; background: #fff; position: absolute; left: 0; top: 0; z-index: -1; border-radius: 8px;}
#press-release03 .table_wrap table tbody td:not(:last-child):after{ content: ""; width: calc(100% + 20px); height: 100%; background: #fff; position: absolute; left: 0; top: 0; z-index: -1; border-radius: 8px;}
*/
#press-release03 .table_wrap table tbody th .tit{ display: flex; min-height: 3rem; align-items: center; padding-left: 20px;}
#press-release03 .table_wrap table tbody th .tit span{ font-size: 2rem; color: #004798;}
#press-release03 .table_wrap table tbody th .tit strong{ font-size: 0.9rem; text-align: left; margin-left: 0.75em;}
/*txt size*/
body.size01 #press-release03 .table_wrap table{ font-size: 0.7rem;}
body.size02 #press-release03 .table_wrap table{ font-size: 0.9rem;}
body.size03 #press-release03 .table_wrap table{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#press-release03{ margin-bottom: 15%;}
#press-release03 .table_wrap{ margin-top: 10%;}
#press-release03 .table_wrap{ width: 100%; overflow-y: hidden; overflow-x: auto;}
#press-release03 .table_wrap table{ width: calc(200% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw; border-spacing: 1.25vw; font-size: 0.8rem;}
#press-release03 .table_wrap table thead th{ border-radius: 1.25vw;}
#press-release03 .table_wrap table tbody th{ border-radius: 1.25vw;}
#press-release03 .table_wrap table tbody td{ border-radius: 1.25vw;}
#press-release03 .table_wrap table tbody th:after{ width: calc(100% + 2.5vw); border-radius: 1.25vw;}
#press-release03 .table_wrap table tbody td:not(:last-child):after{ width: calc(100% + 2.5vw); border-radius: 1.25vw;}
#press-release03 .table_wrap table tbody th .tit{ min-height: 3rem; padding-left: 3.75vw;}
#press-release03 .table_wrap table tbody th .tit span{ font-size: 2rem;}
#press-release03 .table_wrap table tbody th .tit strong{ font-size: 0.9rem;}
/*txt size*/
body.size01 #press-release03 .table_wrap table{ font-size: 0.6rem;}
body.size02 #press-release03 .table_wrap table{ font-size: 0.8rem;}
body.size03 #press-release03 .table_wrap table{ font-size: 1.2rem;}
}

#press-release03 .att{ margin-top: 50px; text-align: center;}
#press-release03 .att h4{ text-align: center; font-size: 1.2rem; margin-bottom: 30px;}
#press-release03 .att ul{ display: inline-block; text-align: left;}
#press-release03 .att ul li{ padding-left: 20px; font-size: 0.75rem; margin-top: 10px; position: relative;}
#press-release03 .att ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; position: absolute; left: 0; top: 0.4em; border-radius: 50%;}
#press-release03 .att p span.popup-press-release{ display: flex; align-items: center; justify-content: center; width: 420px; height: 80px; background: #004798; color: #fff; font-size: 0.8rem; line-height: 1.5em; font-weight: bold; border-radius: 3em; margin: auto; cursor: pointer; transition: 0.3s;}
#press-release03 .att p span.popup-press-release:hover{ opacity: 0.7;}
/*txt size*/
body.size01 #press-release03 .att ul li{ font-size: 0.55rem;}
body.size02 #press-release03 .att ul li{ font-size: 0.75rem;}
body.size03 #press-release03 .att ul li{ font-size: 1.1rem;}
body.size01 #press-release03 .att p span.popup-press-release{ font-size: 0.6rem;}
body.size02 #press-release03 .att p span.popup-press-release{ font-size: 0.8rem;}
body.size03 #press-release03 .att p span.popup-press-release{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press-release03 .att{ margin-top: 10%;}
#press-release03 .att h4{ font-size: 1.2rem; margin-bottom: 5%;}
#press-release03 .att ul li{ padding-left: 3.75vw; font-size: 0.75rem; margin-top: 2.5%;}
#press-release03 .att ul li:before{ width: 1.875vw; height: 1.875vw;}
#press-release03 .att p{ font-size: 0.75rem;}
#press-release03 .att p span.popup-press-release{ width: 100%; height: 15vw;}
}

#popup-press-release_form{ display: none;}
#popup-press-release_form{ /*display: flex;*/ align-items: center; justify-content: center; position: fixed; left: 0; top: 0; width: 100%; height: 100%; min-height: 100dvh; z-index: 99999;}
#popup-press-release_form_bg{ width: 100%; height: 100%; background: rgba(0,0,0,0.8); position: absolute; left: 0; top: 0; z-index: -1;}
#popup-press-release_form_in{ width: 1100px; background: #fff; position: relative;}
#popup-press-release_form_in2{ padding: 0 0 40px;}
#popup-press-release_form_in3{ width: 900px; margin: auto; padding: 50px 100px; max-height: 500px; background: #E2EAF2; border-radius: 8px; overflow-x: hidden; overflow-y: auto;}
#popup-press-release_form_in h4{ background: #004798; color:#fff; text-align: center; font-size: 1.5rem; padding: 0.5em; margin-bottom: 30px; position: relative;}
#popup-press-release_form_in .close{ display: flex; align-items: center; justify-content: center; font-size: 1rem; width: 40px; height: 40px; background: #004798; color: #fff; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); border: 3px solid #fff; border-radius: 50%; transition: 0.3s; cursor: pointer;}
#popup-press-release_form_in .close:hover{ opacity: 0.7;}
#popup-press-release_form_in p{ text-align: center; font-size: 0.75rem; line-height: 1.5em; margin-bottom: 30px;}
#popup-press-release_form_in form input{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 0.75em 1em;}
#popup-press-release_form_in form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#popup-press-release_form_in form label{ cursor: pointer;}
#popup-press-release_form_in form label input{ cursor: pointer;}
#popup-press-release_form_in form select{ cursor: pointer;}
#popup-press-release_form_in form dl{ margin-top: 20px; font-size: 0.9rem;}
#popup-press-release_form_in form dl:first-child{ margin-top: 0;}
#popup-press-release_form_in form dl dt{ font-weight: bold; margin-bottom: 10px;}
#popup-press-release_form_in form dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#popup-press-release_form_in form ul.name{ display: flex; justify-content: space-between;}
#popup-press-release_form_in form ul.name li{ width: calc(50% - 1em); display: flex; align-items: center;}
#popup-press-release_form_in form ul.name li input{ flex: 1; margin-left: 1em;}
#popup-press-release_form_in form ul.destination li{ margin-top: 0.25em;}
#popup-press-release_form_in form ul.destination li label{ cursor: pointer;}
#popup-press-release_form_in form ul.destination li input{ width: auto; margin-right: 0.25em;}
#popup-press-release_form_in form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; border: none; margin: 30px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s; position: relative;}
#popup-press-release_form_in form .submit_btn button:hover{ opacity: 0.7;}
/*txt size*/
body.size01 #popup-press-release_form_in p{ font-size: 0.55rem;}
body.size01 #popup-press-release_form_in form dl{ font-size: 0.7rem;}
body.size01 #popup-press-release_form_in form input textarea{ font-size: 0.6rem;}
body.size01 #popup-press-release_form_in form .submit_btn button{ font-size: 0.6rem;}
body.size02 #popup-press-release_form_in p{ font-size: 0.75rem;}
body.size02 #popup-press-release_form_in form dl{ font-size: 0.9rem;}
body.size02 #popup-press-release_form_in form input textarea{ font-size: 0.8rem;}
body.size02 #popup-press-release_form_in form .submit_btn button{ font-size: 0.8rem;}
body.size03 #popup-press-release_form_in p{ font-size: 1.1rem;}
body.size03 #popup-press-release_form_in form dl{ font-size: 1.3rem;}
body.size03 #popup-press-release_form_in form input textarea{ font-size: 1.2rem;}
body.size03 #popup-press-release_form_in form .submit_btn button{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#popup-press-release_form_in{ width: 92.5%; border-radius: 2.5vw;}
#popup-press-release_form_in2{ padding: 0 0 7.5%;}
#popup-press-release_form_in3{ width: 92.5%; margin: auto; padding: 5%; max-height: 125vw; border-radius: 1.25vw;}
#popup-press-release_form_in h4{ font-size: 1.25rem; margin-bottom: 5%;}
#popup-press-release_form_in .close{ font-size: 0.8rem; border-width: 2px; width: 6.25vw; height: 6.25vw; right: 2.5vw;}
#popup-press-release_form_in p{ margin-bottom: 5%;}
#popup-press-release_form_in form input{ border-radius: 1.25vw; font-size: 0.8rem;}
#popup-press-release_form_in form dl{ margin-top: 5%;}
#popup-press-release_form_in form dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#popup-press-release_form_in form dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#popup-press-release_form_in form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
}

#press-release04{ background: #fff; border-radius: 100px 100px 0 0; width: calc(100% - 60px); margin: 0 30px 0; padding: 80px 0 150px; transition: 0.3s;}
@media screen and (max-width:1360px){
#press-release04{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#press-release04{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#press-release04{ margin-bottom: 0; padding: 15% 0 20%; border-radius: 10vw 10vw 0 0;}
}
#press-release04 p.lead{ text-align: center;}
#press-release04 .table_wrap{ margin-top: 50px;}
#press-release04 .table_wrap table{ table-layout: fixed; width: calc(100% + 20px); margin: -6px 0 -6px -10px; border-collapse: separate; border-spacing: 10px 6px; font-size: 0.9rem; line-height: 1.5em; overflow: hidden;}
#press-release04 .table_wrap table thead th{ background: #004798; color: #fff; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0.25em;}
#press-release04 .table_wrap table tbody th{ background: #F4F6FA; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0; position: relative; z-index: 1;}
#press-release04 .table_wrap table tbody td{ background: #F4F6FA; border-radius: 8px; text-align: center; vertical-align: middle; padding: 0.75em 0; position: relative; z-index: 1;}
#press-release04 .table_wrap table tbody th:after{ content: ""; width: calc(100% + 20px); height: 100%; background: #F4F6FA; position: absolute; left: 0; top: 0; z-index: -1; border-radius: 8px;}
#press-release04 .table_wrap table tbody td:not(:last-child):after{ content: ""; width: calc(100% + 20px); height: 100%; background: #F4F6FA; position: absolute; left: 0; top: 0; z-index: -1; border-radius: 8px;}
#press-release04 .table_wrap table tbody th span{ display: block; font-size: 0.75rem; font-weight: 400;}
#press-release04 .table_wrap table tbody th strong{ display: block;}
#press-release04 .table_wrap table tbody td{ color: #D50A22; font-size: 1rem; font-weight: bold;}
#press-release04 .table_wrap table tbody td strong{ font-size: 1.5rem;}
/*txt size*/
body.size01 #press-release04 .table_wrap table{ font-size: 0.7rem;}
body.size01 #press-release04 .table_wrap table tbody th span{ font-size: 0.55rem;}
body.size01 #press-release04 .table_wrap table tbody td{ font-size: 0.8rem;}
body.size01 #press-release04 .table_wrap table tbody td strong{ font-size: 1.25rem;}
body.size02 #press-release04 .table_wrap table{ font-size: 0.9rem;}
body.size02 #press-release04 .table_wrap table tbody th span{ font-size: 0.75rem;}
body.size02 #press-release04 .table_wrap table tbody td{ font-size: 1rem;}
body.size02 #press-release04 .table_wrap table tbody td strong{ font-size: 1.5rem;}
body.size03 #press-release04 .table_wrap table{ font-size: 1.3rem;}
body.size03 #press-release04 .table_wrap table tbody th span{ font-size: 1.1rem;}
body.size03 #press-release04 .table_wrap table tbody td{ font-size: 1.4rem;}
body.size03 #press-release04 .table_wrap table tbody td strong{ font-size: 2.0rem;}
@media screen and (max-width:767px){
#press-release04 .table_wrap{ margin-top: 10%;}
#press-release04 .table_wrap{ width: 100%; overflow-y: hidden; overflow-x: auto;}
#press-release04 .table_wrap table{ width: calc(150% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw; border-spacing: 1.25vw; font-size: 0.8rem;}
#press-release04 .table_wrap table thead th{ border-radius: 1.25vw;}
#press-release04 .table_wrap table tbody th{ border-radius: 1.25vw;}
#press-release04 .table_wrap table tbody td{ border-radius: 1.25vw;}
#press-release04 .table_wrap table tbody th:after{ width: calc(100% + 2.5vw); border-radius: 1.25vw;}
#press-release04 .table_wrap table tbody td:not(:last-child):after{ width: calc(100% + 2.5vw); border-radius: 1.25vw;}
}

#press-release04 .att{ margin-top: 50px; text-align: center;}
#press-release04 .att h4{ text-align: center; font-size: 1.2rem; margin-bottom: 30px;}
#press-release04 .att ul{ display: inline-block; text-align: left;}
#press-release04 .att ul li{ padding-left: 20px; font-size: 0.75rem; margin-top: 10px; position: relative;}
#press-release04 .att ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; position: absolute; left: 0; top: 0.4em; border-radius: 50%;}
/*txt size*/
body.size01 #press-release04 .att ul li{ font-size: 0.55rem;}
body.size02 #press-release04 .att ul li{ font-size: 0.75rem;}
body.size03 #press-release04 .att ul li{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#press-release04 .att{ margin-top: 10%;}
#press-release04 .att h4{ font-size: 1.2rem; margin-bottom: 5%;}
#press-release04 .att ul li{ padding-left: 3.75vw; font-size: 0.75rem; margin-top: 2.5%;}
#press-release04 .att ul li:before{ width: 1.875vw; height: 1.875vw;}
}

#press-release_simulator{ background: #004798; border-radius: 100px; width: calc(100% - 60px); margin: -100px 30px 100px; padding: 50px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#press-release_simulator{ width: 1300px; margin: -100px auto 100px;}
}
@media screen and (max-width:1300px){
#press-release_simulator{ width: 100%; margin: -100px  0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#press-release_simulator{ margin: -10vw 0 15%; padding: 7.5% 0; border-radius: 10vw;}
}
#press-release_simulator h3{ text-align: center; color: #fff; font-size: 1.3rem; margin-bottom: 40px;}
#press-release_simulator .form{ display: flex; justify-content: center; width: calc(100% + 24px); margin: 40px 0 20px -12px;}
#press-release_simulator .form .form_box{ text-align: center; width: calc(33.33% - 24px); background: #fff; padding: 40px 20px; border-radius: 10px; margin: 0 12px;}
#press-release_simulator .form .form_box h4{ text-align: center; font-size: 1rem; margin-bottom: 20px;}
#press-release_simulator .form .form_box ul{ display:block; text-align: left;}
#press-release_simulator .form .form_box ul li{ font-size: 1rem; margin-top: 0.5em;}
#press-release_simulator .form .form_box label{ display: block; font-weight: bold; cursor: pointer; position: relative; padding-left: 1.25em;}
#press-release_simulator .form .form_box label.negative{ pointer-events: none; color: #aaa;}
#press-release_simulator .form .form_box label input{ width: auto; padding: 0; margin: 0 0.5em 0 0; position: absolute; left: 0; top: 0.5em;}
#press-release_simulator .result{ display: flex; align-items: flex-end; justify-content: center; text-align: center; color: #fff; border-bottom: 4px solid #fff; margin: 0 auto; width: 750px; font-weight: bold; padding-bottom: 20px;}
#press-release_simulator .result span{ font-size: 1.2rem;}
#press-release_simulator .result strong{ font-size: 2.5rem; margin: 0 1em; position: relative; top: 0.25em;}
#press-release_simulator .result strong span{ font-size: 3.5rem;}
#press-release_simulator .result small{ font-size: 1rem;}
#press-release_simulator p.result_att{ width: 720px; margin: 0.75em auto 0; text-align: right; color: #fff; font-size: 0.65rem;}
@media screen and (max-width:767px){
#press-release_simulator h3{ font-size: 1.3rem; margin-bottom: 5%;}
#press-release_simulator .form{ display: block; width: 100%; margin: 5% auto 2.5%;}
#press-release_simulator .form .form_box{ width: 100%; padding: 5%; border-radius: 1.25vw; margin: 7.5% auto 7.5%;}
#press-release_simulator .form .form_box h4{ font-size: 1rem; margin-bottom: 2.5%;}
#press-release_simulator .form .form_box ul li{ font-size: 0.9rem;}
#press-release_simulator .result{ align-items: center; justify-content: center; flex-wrap: wrap; width: 100%; padding-bottom: 0;}
#press-release_simulator .result span{ font-size: 1.2rem; width: 100%;}
#press-release_simulator .result strong{ font-size: 2.5rem; margin: 0 0.125em 0 0; top: -0.25em;}
#press-release_simulator .result strong span{ font-size: 3.5rem;}
#press-release_simulator .result small{ font-size: 1rem;}
#press-release_simulator p.result_att{ width: 100%;}
}

#press-release05{ background: #E9F0F4; border-radius: 100px 0 0 100px; width: calc(100% - 30px); margin: 0 0 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#press-release05{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#press-release05{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#press-release05{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw 10vw 0 0;}
}
#press-release05 p.lead{ text-align: center;}

#press-release05 .flow{ width: 1000px; margin: 50px auto 0;}
#press-release05 .flow ul{ position: relative; z-index: 1;}
#press-release05 .flow ul:after{ content: ""; width: 0; height: 90%; border-left: 4px dotted #004798; position: absolute; left: 60px; top: 50%; transform: translateY(-50%); z-index: -1;}
#press-release05 .flow ul li{ margin: 70px auto 0;}
#press-release05 .flow ul li:first-child{ margin-top: 0;}
#press-release05 .flow ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#press-release05 .flow ul li dl dt{ width: 120px; margin-right: 40px;}
#press-release05 .flow ul li dl dd{ width: calc(100% - 160px);}
#press-release05 .flow ul li .num{ display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; background: #fff; border: 2px solid #004798; font-size: 2.5rem; font-weight: bold; color: #004798; border-radius: 50%; margin: 0;}
#press-release05 .flow ul li h4{ color: #004798; font-size: 1.3rem; margin-bottom: 10px;}
#press-release05 .flow ul li p{ font-size: 0.75rem; line-height: 1.5em;}
/*txt size*/
body.size01 #press-release05 .flow ul li h4{ font-size: 1.1rem;}
body.size01 #press-release05 .flow ul li p{ font-size: 0.55rem;}
body.size02 #press-release05 .flow ul li h4{ font-size: 1.3rem;}
body.size02 #press-release05 .flow ul li p{ font-size: 0.75rem;}
body.size03 #press-release05 .flow ul li h4{ font-size: 1.7rem;}
body.size03 #press-release05 .flow ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#press-release05 .flow{ width: 100%; margin: 7.5% auto 0;}
#press-release05 .flow ul:after{ left: 12.5vw;}
#press-release05 .flow ul li{ margin: 10% auto;}
#press-release05 .flow ul li dl dt{ width: 25vw; margin: 0;}
#press-release05 .flow ul li dl dd{ width: calc(100% - 30vw);}
#press-release05 .flow ul li .num{ width: 25vw; height: 25vw; font-size: 2.5rem; margin: 0;}
#press-release05 .flow ul li h4{ font-size: 1.2rem; margin-bottom: 2.5%;}
#press-release05 .flow ul li p{ font-size: 0.75rem;}
/*txt size*/
body.size01 #press-release05 .flow ul li h4{ font-size: 1.0rem;}
body.size01 #press-release05 .flow ul li p{ font-size: 0.55rem;}
body.size02 #press-release05 .flow ul li h4{ font-size: 1.2rem;}
body.size02 #press-release05 .flow ul li p{ font-size: 0.75rem;}
body.size03 #press-release05 .flow ul li h4{ font-size: 1.6rem;}
body.size03 #press-release05 .flow ul li p{ font-size: 1.1rem;}
}

#press-release06{ margin-bottom: 100px;}
@media screen and (max-width:767px){
#press-release06{ margin-bottom: 15%;}
}
#press-release06 p.lead{ text-align: center;}
#press-release06 .faq_list{ margin-top: 30px;}
#press-release06 .faq_list dl{ margin-top: 10px; border: 2px solid #fff; background: #fff; border-radius: 20px; transition: 0.3s;}
#press-release06 .faq_list dl dt{ font-size: 1rem; padding: 20px 70px 20px 40px; font-weight: bold; color: #004798; position: relative; cursor: pointer;}
#press-release06 .faq_list dl dt span{ display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; position: absolute; right: 30px; top: 50%; transform: translateY(-50%);}
#press-release06 .faq_list dl dt span:before{ content: ""; width: 100%; height: 4px; background: #004798; border-radius: 4px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
#press-release06 .faq_list dl dt span:after{ content: ""; width: 100%; height: 4px; background: #004798; border-radius: 4px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); transition: 0.3s;}
#press-release06 .faq_list dl.active{ border-color: #004798;}
#press-release06 .faq_list dl.active dt span:after{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0;}
#press-release06 .faq_list dl dd{ display: none; padding: 0 40px 20px;}
#press-release06 .faq_list dl dd p.txt{ margin: 0;}
#press-release06 .faq_list dl dd ol{ font-size: 0.8rem; line-height: 2em; margin-top: 1em;}
#press-release06 .faq_list dl dd ol li{ padding-left: 2em; position: relative;}
#press-release06 .faq_list dl dd ol li span{ position: absolute; left: 0; top: 0;}

#press-release06 .faq_list dl dd table{ width: calc(100% + 8px); margin: 20px 0 20px -4px; border-collapse: collapse; border-spacing: 0;}
#press-release06 .faq_list dl dd table thead th{ font-size: 0.9rem; padding: 0.75em; text-align: center; color: #fff; border: 4px solid #fff; position: relative; z-index: 1;}
#press-release06 .faq_list dl dd table thead th:before{ content: ""; width: 100%; height: 100%; background: #004798; border-radius: 4px; position: absolute; left: 0; top: 0; z-index: -1;}
#press-release06 .faq_list dl dd table thead th:nth-child(1){ width: 190px;}
#press-release06 .faq_list dl dd table thead th:nth-child(2){ width: 250px;}

#press-release06 .faq_list dl dd table tbody th{ font-size: 0.9rem; padding: 1em; vertical-align: middle; border: 4px solid #fff; position: relative; z-index: 1;}
#press-release06 .faq_list dl dd table tbody th:before{ content: ""; width: 100%; height: 100%; background: #EAEAEA; border-radius: 4px; position: absolute; left: 0; top: 0; z-index: -1;}
#press-release06 .faq_list dl dd table tbody td{ vertical-align: middle; text-align: center; font-size: 0.9rem; padding: 1em 1.5em; border: 2px solid #EAEAEA;}
#press-release06 .faq_list dl dd table tbody td:nth-child(3){ text-align: left;}
#press-release06 .faq_list dl dd table tbody td p{ display: inline-block; text-align: left; line-height: 1.5em; margin-bottom: 0;}
#press-release06 .faq_list dl dd table tbody td p.mt40{ margin-top: 40px;}
#press-release06 .faq_list dl dd table tbody td img{ height: 28px;}
#press-release06 .faq_list dl dd table tbody td h5{ display: flex; align-items: center; font-size: 1rem; text-align: left; width: 100%; margin-bottom: 10px;}
#press-release06 .faq_list dl dd table tbody td h5 span{ margin-right: 10px;}
#press-release06 .faq_list dl dd table tbody td ol{ margin-top: 0.5em; line-height: 1.5em;}
#press-release06 .faq_list dl dd table tbody td ol li{ padding-left: 1.5em;}
/*txt size*/
body.size01 #press-release06 .faq_list dl dt{ font-size: 0.8rem;}
body.size02 #press-release06 .faq_list dl dt{ font-size: 1rem;}
body.size03 #press-release06 .faq_list dl dt{ font-size: 1.4rem;}
body.size01 #press-release06 .faq_list dl dd .contact p.txt{ font-size: 0.8rem;}
body.size02 #press-release06 .faq_list dl dd .contact p.txt{ font-size: 1rem;}
body.size03 #press-release06 .faq_list dl dd .contact p.txt{ font-size: 1.4rem;}
body.size01 #press-release06 .faq_list dl dd ol{ font-size: 0.6rem;}
body.size02 #press-release06 .faq_list dl dd ol{ font-size: 0.8rem;}
body.size03 #press-release06 .faq_list dl dd ol{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press-release06 .faq_list{ margin-top: 5%;}
#press-release06 .faq_list dl{ margin-top: 2.5%; border-radius: 2.5vw;}
#press-release06 .faq_list dl dt{ font-size: 1rem; padding: 2.5vw 10vw 2.5vw 3.75vw;}
#press-release06 .faq_list dl dt span{ width: 3.75vw; height: 3.75vw; right: 3.75vw}
#press-release06 .faq_list dl dt span:before{ height: 0.75vw; border-radius: 0.75vw;}
#press-release06 .faq_list dl dt span:after{ height: 0.75vw; border-radius: 0.75vw;}
#press-release06 .faq_list dl dd{  padding: 0 3.75vw 2.5vw 3.75vw;}

#press-release06 .faq_list dl dd .table_wrap{ overflow-y: hidden; overflow-x: auto;}
#press-release06 .faq_list dl dd table{ width: 220%; margin: 5% 0 5% -4px;}
#press-release06 .faq_list dl dd table thead th{ font-size: 0.9rem;}
#press-release06 .faq_list dl dd table thead th:nth-child(1){ width: 22.5%;}
#press-release06 .faq_list dl dd table thead th:nth-child(2){ width: 25%;}
#press-release06 .faq_list dl dd table tbody td{ padding: 1em 1em;}
#press-release06 .faq_list dl dd table tbody td p.mt40{ margin-top: 10%;}
#press-release06 .faq_list dl dd table tbody td img{ height: 5vw;}
#press-release06 .faq_list dl dd table tbody td h5{ margin-bottom: 2.5%;}
#press-release06 .faq_list dl dd table tbody td h5 span{ margin-right: 2.5%;}
}

#press-release_form{ background: #E2EAF2; border-radius: 0 100px 100px 0; width: calc(100% - 30px); margin: 0 30px 0 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#press-release_form{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#press-release_form{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#press-release_form{ margin-bottom: 0; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}
#press-release_form p.lead{ text-align: center;}
#press-release_form form{ margin-top: 50px;}
#press-release_form form input,
#press-release_form form textarea,
#press-release_form form select{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 1em;}
#press-release_form form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#press-release_form form input[type=radio]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#press-release_form form label{ cursor: pointer;}
#press-release_form form label input{ cursor: pointer;}
#press-release_form form select{ cursor: pointer;}

#press-release_form .form_sec{ background: #D3E2F0; padding: 80px 150px; margin-top: 30px; border-radius: 30px;}
#press-release_form .form_sec h3{ font-size: 1.2rem; border-bottom: 3px solid #333; padding-bottom: 0.75em;}
#press-release_form .form_sec h4{ font-size: 1.1rem; margin: 30px auto 10px;}
#press-release_form .form_sec h4 span.num{ font-size: 1.3rem; line-height: 1em; margin-right: 0.5em;}
#press-release_form .form_sec p.att_txt{ font-size: 0.7rem; line-height: 1.5em; font-weight: bold; color: #D50A22;}
#press-release_form .form_sec h5{ display: flex; font-size: 1rem; line-height: 1.25em; margin: 30px auto 20px;}
#press-release_form .form_sec h5 i{ margin-right: 0.25em; line-height: 1.25em;}
#press-release_form .form_sec hr{ margin: 50px auto; border: none; border-bottom: 1px dotted #333;}
#press-release_form .form_sec .file-ja{ margin-bottom: 50px;}
#press-release_form .form_sec .file-ja:last-child{ margin-bottom: 0;}
#press-release_form .form_sec .file-ja h5{ color: #179A8B;}
#press-release_form .form_sec .file-ja dl{ margin-top: 20px;}
#press-release_form .form_sec .file-ja input,
#press-release_form .form_sec .file-ja textarea{ border: 2px solid #179A8B;}
#press-release_form .form_sec .file-en{ margin-bottom: 50px;}
#press-release_form .form_sec .file-en:last-child{ margin-bottom: 0;}
#press-release_form .form_sec .file-en h5{ color: #004798;}
#press-release_form .form_sec .file-en dl{ margin-top: 20px;}
#press-release_form .form_sec .file-en input,
#press-release_form .form_sec .file-en textarea{ border: 2px solid #004798;}
#press-release_form .form_sec dl{ margin-top: 40px;}
#press-release_form .form_sec dl dt{ font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#press-release_form .form_sec dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#press-release_form .form_sec dl dt span.ja{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #179A8B; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#press-release_form .form_sec dl dt span.en{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #004798; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#press-release_form .form_sec dl dt.num{ padding-left: 30px; position: relative;}
#press-release_form .form_sec dl dt.num span.num{ color: #004798; font-size: 1.3rem; line-height: 1em; position: absolute; left: 0; top: 0;}
#press-release_form .form_sec dl dt.att{ color: #D50A22; font-size: 0.7rem; margin-top: -5px;}
#press-release_form .form_sec dl dd.check ul li{ font-size: 0.9rem; line-height: 1.25em; margin-top: 0.75em; padding-left: 1.5em; position: relative;}
#press-release_form .form_sec dl dd.check ul li label{ display: flex; align-items: center;}
#press-release_form .form_sec dl dd.check ul li input{ position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#press-release_form .form_sec dl dd.check ul li span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px;}
#press-release_form .form_sec dl dd.check ul p.att{ font-size: 0.7rem; padding-left: 1.5em;}
#press-release_form .form_sec dl dd.estimate ul li{ display: flex; align-items: center; font-size: 0.9rem; line-height: 1.25em; margin-top: 0.75em; padding-left: 1.5em; position: relative;}
#press-release_form .form_sec dl dd.estimate ul li label{ display: flex; align-items: center;}
#press-release_form .form_sec dl dd.estimate ul li input{ position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#press-release_form .form_sec dl dd.estimate ul li .calender_wrap{ width: 350px; margin-left: 15px;}
#press-release_form .form_sec dl dd.estimate ul li .calender_wrap input{ position: static; transform: none;}

#press-release_form .pv_check{ text-align: center; margin: 50px auto; font-size: 0.8rem;}
#press-release_form .pv_check a{ color: #004798; text-decoration: underline;}
#press-release_form .pv_check a:hover{ text-decoration: none;}
#press-release_form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; margin: 50px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s; position: relative;}
#press-release_form .submit_btn button i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #004798; color: #fff; border: 1px solid #fff; border-radius: 50%; font-size: 0.6rem; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#press-release_form .submit_btn button:hover i{ background: #fff; color: #004798; transform: translateY(-50%) rotate(-45deg);}
#press-release_form .form_sec .select_wrap{ cursor: pointer; position: relative;}
#press-release_form .form_sec .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#press-release_form .form_sec .calender_wrap{ position: relative;}
#press-release_form .form_sec .calender_wrap i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
/*txt size*/
body.size01 #press-release_form form input,
body.size01 #press-release_form form select,
body.size01 #press-release_form form textarea{ font-size: 0.6rem;}
body.size01 #press-release_form .pv_check{ font-size: 0.6rem;}
body.size01 #press-release_form .submit_btn button{ font-size: 0.6rem;}
body.size02 #press-release_form form input,
body.size02 #press-release_form form select,
body.size02 #press-release_form form textarea{ font-size: 0.8rem;}
body.size02 #press-release_form .pv_check{ font-size: 0.8rem;}
body.size02 #press-release_form .submit_btn button{ font-size: 0.8rem;}
body.size03 #press-release_form form input,
body.size03 #press-release_form form select,
body.size03 #press-release_form form textarea{ font-size: 1.2rem;}
body.size03 #press-release_form .pv_check{ font-size: 1.2rem;}
body.size03 #press-release_form .submit_btn button{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press-release_form p.lead{}
#press-release_form form{ margin-top: 10%;}
#press-release_form form input,
#press-release_form form textarea{ border-radius: 1.25vw; font-size: 0.8rem;}

#press-release_form .form_sec{ padding: 5% 5%; margin-top: 5%; border-radius: 2.5vw;}
#press-release_form .form_sec h3{ font-size: 1rem;}
#press-release_form .form_sec h3 small{ font-size: 75%;}
#press-release_form .form_sec h4{ font-size: 0.9rem; margin: 5% auto 2.5%;}
#press-release_form .form_sec h4 span.num{ font-size: 1rem;}
#press-release_form .form_sec p.att_txt{ font-size: 0.7rem;}
#press-release_form .form_sec h5{ font-size: 1rem; margin: 5% auto 3.75%;}
#press-release_form .form_sec hr{ margin: 10% auto;}
#press-release_form .form_sec .file-ja{ margin-bottom: 10%;}
#press-release_form .form_sec .file-ja dl{ margin-top: 5%;}
#press-release_form .form_sec .file-en{ margin-bottom: 10%;}
#press-release_form .form_sec .file-en dl{ margin-top: 5%;}
#press-release_form .form_sec dl{ margin-top: 5%;}
#press-release_form .form_sec dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#press-release_form .form_sec dl dt small{ font-size: 75%;}
#press-release_form .form_sec dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#press-release_form .form_sec dl dt span.ja{ font-size: 0.6rem; top: -0.125em;}
#press-release_form .form_sec dl dt span.en{ font-size: 0.6rem; top: -0.125em;}
#press-release_form .form_sec dl dt.num{ padding-left: 5vw;}
#press-release_form .form_sec dl dt.num span.num{ font-size: 1.2rem;}
#press-release_form .form_sec dl dt.att{ margin-top: -1.25%;}
#press-release_form .form_sec dl dd.check ul li{ font-size: 0.9rem;}
#press-release_form .form_sec dl dd.check ul li span.req{ font-size: 0.6rem;}
#press-release_form .form_sec dl dd.estimate ul li{ display: block;}
#press-release_form .form_sec dl dd.estimate ul li:last-child{ margin-top: 0.75em;}
#press-release_form .form_sec dl dd.estimate ul li label{ display: flex; align-items: center;}
#press-release_form .form_sec dl dd.estimate ul li input{ position: absolute; left: 0; top: 0.75em;}
#press-release_form .form_sec dl dd.estimate ul li .calender_wrap{ width: 100%; margin: 0.5em 0 0;}
#press-release_form .form_sec .calender_wrap i{ right: 0.75em;}

#press-release_form .pv_check{ margin: 7.5% auto;}
#press-release_form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
#press-release_form .submit_btn button i{ width: 7.5vw; height: 7.5vw; right: 2.5vw;}
}





/*media-support-form*/
#media-support-form{ background: #E2EAF2; border-radius: 0 100px 100px 0; width: calc(100% - 30px); margin: 0 30px 0 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#media-support-form{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#media-support-form{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#media-support-form{ margin-bottom: 0; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}

#media-support-form p.lead{ text-align: center;}
#media-support-form form{ margin-top: 50px;}
#media-support-form form input,
#media-support-form form textarea,
#media-support-form form select{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 1em;}
#media-support-form form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#media-support-form form label{ cursor: pointer;}
#media-support-form form label input{ cursor: pointer;}
#media-support-form form select{ cursor: pointer;}

#media-support-form .form_sec dl dd.check ul li{ display: flex; font-size: 0.9rem; margin-bottom: 0.5em;}
#media-support-form .form_sec dl dd.check ul li label{ display: flex; align-items: center;}
#media-support-form .form_sec dl dd.check ul li input{ width: auto; padding: 0; margin: 0 0.5em 0 0;}
#media-support-form .form_sec{ background: #E2EAF2; padding: 0 150px; margin-top: 30px; border-radius: 30px;}
#media-support-form .form_sec dl{ margin-top: 40px;}
#media-support-form .form_sec dl dt{ font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#media-support-form .form_sec dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#media-support-form .form_sec dl dd p.att{ margin-top: 0.75em; font-size: 0.65rem; line-height: 1.5em; padding-left: 1em; position: relative;}
#media-support-form .form_sec dl dd p.att:before{ content: "※"; position: absolute; left: 0; top: 0;}
#media-support-form .form_sec dl dd p.att2{ margin-top: 0.75em; font-size: 0.8rem; line-height: 1.5em; color: #D50A22; font-weight: bold; padding-left: 1em; position: relative;}
#media-support-form .form_sec dl dd p.att2:before{ content: "※"; position: absolute; left: 0; top: 0;}
#media-support-form .form_sec dl dd .file_wrap{ display: flex;}
#media-support-form .form_sec dl dd .file_wrap_in{ display: flex; align-items: center; max-width: 100%;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn{ display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; width: 190px; height: 60px; border-radius: 10px; font-size: 0.8rem; transition: 0.3s;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn:hover{ opacity: 0.7;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn span{ margin-left: 0.5em;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn span img{ height: 20px;}
#media-support-form .form_sec dl dd .file_wrap p{ font-size: 0.9rem; line-height: 1em; color: #004798; padding: 0.5em 0; margin: 0 0.5em 0 1em; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; flex: 1;}
#media-support-form .form_sec dl dd .file_wrap button.clear{ display: flex; align-items: center; justify-content: center; border: none; background: #606060; color: #fff; width: 80px; height: 30px; border-radius: 10px; font-size: 0.7rem; transition: 0.3s; cursor: pointer;}
#media-support-form .form_sec dl dd .file_wrap button.clear:hover{ opacity: 0.7;}
#media-support-form .form_sec dl dd .file_wrap button.clear i{ margin-left: 0.25em;}

#media-support-form .agreement{ width: 800px; background: #fff; border-radius: 12px; padding: 20px 30px 30px; margin: 40px auto;}
#media-support-form .agreement h4{ font-size: 1rem; text-align: center; margin-bottom: 0.5em;}
#media-support-form .agreement p{ font-size: 0.8rem; font-weight: bold; line-height: 1.75em; margin: 0;}
#media-support-form .agreement ol li{ font-size: 0.8rem; line-height: 1.75em; padding-left: 1.75em; position: relative;}
#media-support-form .agreement ol li span{ position: absolute; left: 0; top: 0;}
#media-support-form .pv_check{ text-align: center; margin: 50px auto; font-size: 0.8rem;}
#media-support-form .pv_check a{ color: #004798; text-decoration: underline;}
#media-support-form .pv_check a:hover{ text-decoration: none;}
#media-support-form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; margin: 50px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s; position: relative;}
#media-support-form .submit_btn button i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #004798; color: #fff; border: 1px solid #fff; border-radius: 50%; font-size: 0.6rem; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#media-support-form .submit_btn button:hover i{ background: #fff; color: #004798; transform: translateY(-50%) rotate(-45deg);}
#media-support-form .form_sec .select_wrap{ cursor: pointer; position: relative;}
#media-support-form .form_sec .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#media-support-form .form_sec .calender_wrap{ position: relative;}
#media-support-form .form_sec .calender_wrap i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#media-support-form .form_sec .date2date{ display: flex; align-items: center; justify-content: space-between;}
#media-support-form .form_sec .date2date p{ line-height: 1em; margin: 0 1em;}
/*txt size*/
body.size01 #media-support-form form input,
body.size01 #media-support-form form select,
body.size01 #media-support-form form textarea{ font-size: 0.6rem;}
body.size01 #media-support-form .pv_check{ font-size: 0.6rem;}
body.size01 #media-support-form .submit_btn button{ font-size: 0.6rem;}
body.size01 #media-support-form form .form_sec dl dd.check ul li{ font-size: 0.7rem;}
body.size01 #media-support-form .form_sec dl dd p.att{ font-size: 0.5rem;}
body.size01 #media-support-form .form_sec dl dd .file_wrap label.file_btn{ font-size: 0.6rem;}
body.size01 #media-support-form .form_sec dl dd .file_wrap p{ font-size: 0.7rem;}
body.size01 #media-support-form .form_sec dl dd .file_wrap button.clear{ font-size: 0.5rem;}
body.size01 #media-support-form .agreement h4{ font-size: 0.8rem;}
body.size01 #media-support-form .agreement p{ font-size: 0.6rem;}
body.size01 #media-support-form .agreement ol li{ font-size: 0.6rem;}
body.size02 #media-support-form form input,
body.size02 #media-support-form form select,
body.size02 #media-support-form form textarea{ font-size: 0.8rem;}
body.size02 #media-support-form .pv_check{ font-size: 0.8rem;}
body.size02 #media-support-form .submit_btn button{ font-size: 0.8rem;}
body.size02 #media-support-form form .form_sec dl dd.check ul li{ font-size: 0.9rem;}
body.size02 #media-support-form .form_sec dl dd p.att{ font-size: 0.65rem;}
body.size02 #media-support-form .form_sec dl dd .file_wrap label.file_btn{ font-size: 0.8rem;}
body.size02 #media-support-form .form_sec dl dd .file_wrap p{ font-size: 0.9rem;}
body.size02 #media-support-form .form_sec dl dd .file_wrap button.clear{ font-size: 0.7rem;}
body.size02 #media-support-form .agreement h4{ font-size: 1rem;}
body.size02 #media-support-form .agreement p{ font-size: 0.8rem;}
body.size02 #media-support-form .agreement ol li{ font-size: 0.8rem;}
body.size03 #media-support-form form input,
body.size03 #media-support-form form select,
body.size03 #media-support-form form textarea{ font-size: 1.2rem;}
body.size03 #media-support-form .pv_check{ font-size: 1.2rem;}
body.size03 #media-support-form .submit_btn button{ font-size: 1.2rem;}
body.size03 #media-support-form form .form_sec dl dd.check ul li{ font-size: 1.3rem;}
body.size03 #media-support-form .form_sec dl dd p.att{ font-size: 1rem;}
body.size03 #media-support-form .form_sec dl dd .file_wrap label.file_btn{ font-size: 1.2rem;}
body.size03 #media-support-form .form_sec dl dd .file_wrap p{ font-size: 1.3rem;}
body.size03 #media-support-form .form_sec dl dd .file_wrap button.clear{ font-size: 1rem;}
body.size03 #media-support-form .agreement h4{ font-size: 1.4rem;}
body.size03 #media-support-form .agreement p{ font-size: 1.2rem;}
body.size03 #media-support-form .agreement ol li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#media-support-form p.lead{}
#media-support-form form{ margin-top: 10%;}
#media-support-form form input,
#media-support-form form textarea{ border-radius: 1.25vw; font-size: 0.8rem;}
#media-support-form .form_sec{ padding: 0 0; margin-top: 5%; border-radius: 2.5vw;}
#media-support-form .form_sec dl{ margin-top: 5%;}
#media-support-form .form_sec dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#media-support-form .form_sec dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#media-support-form .form_sec dl dd .file_wrap_in{ width: 100%; flex-direction: column;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn{ width: 100%; height: 10vw; border-radius: 1.25vw; font-size: 0.8rem;}
#media-support-form .form_sec dl dd .file_wrap label.file_btn span img{ height: 3.75vw;}
#media-support-form .form_sec dl dd .file_wrap p{ width: 100%; font-size: 0.9rem; margin: 0.5em 0; flex: 1;}
#media-support-form .form_sec dl dd .file_wrap button.clear{ width: 15vw; height: 6.25vw; border-radius: 1.25vw; font-size: 0.7rem; margin: 0;}
#media-support-form .form_sec .calender_wrap i{ right: 0.75em;}

#media-support-form .agreement{ width: 100%; border-radius: 1.25vw; padding: 5%; margin: 7.5% auto;}
#media-support-form .agreement ol li span{ position: absolute; left: 0; top: 0;}
#media-support-form .pv_check{ margin: 7.5% auto;}
#media-support-form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
#media-support-form .submit_btn button i{ width: 7.5vw; height: 7.5vw; right: 2.5vw;}
}





/*planning*/
#planning_lead{ margin-bottom: 50px;}
#planning_lead p.lead{ text-align: center;}
@media screen and (max-width:767px){
#planning_lead{ margin-bottom: 10%;}
#planning_lead p.lead{ }
}

#planning01{ margin-bottom: 120px;}
#planning01 p.lead{ text-align: center;}
#planning01 figure.zu{ margin-top: 50px;}
#planning01 figure.zu img{ width: 780px;}
@media screen and (max-width:767px){
#planning01{ margin-bottom: 20%;}
#planning01 figure.zu{ margin-top: 10%;}
#planning01 figure.zu img{ width: 100%;}
}

#planning02{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#planning02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#planning02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#planning02{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#planning02 p.lead{ text-align: center;}

#planning02 .menu{ background: #fff; margin: 80px 0 150px; padding: 100px 40px 80px; border-radius: 30px; box-shadow:rgba(0, 0, 0, 0.04) 10px 10px 20px; position: relative;}
#planning02 .menu:last-child{ margin-bottom: 0;}

#planning02 .menu .tit{ display: flex; align-items: center; height: 100px; position: absolute; left: 0; top: -50px;}
#planning02 .menu p.txt.lead{ text-align: center;}
#planning02 .menu h3{ display: flex; align-items: flex-end; background: #004798; color: #fff; padding: 20px 40px; border-radius: 30px 40px 40px 0;}
#planning02 .menu h3 span{ font-size: 3rem; line-height: 1em;}
#planning02 .menu h3 strong{ font-size: 1.5rem; line-height: 1.5em; margin-left: 0.25em;}
#planning02 .menu .detail{ margin: 50px auto; background: #EAF2FA; padding: 60px 75px; border-radius: 40px;}
#planning02 .menu .detail:last-child{ margin-bottom: 0;}
#planning02 .menu .detail h4{ color: #004798; font-size: 1.5rem; border-bottom: 4px solid #004798; padding-bottom: 0.5em; margin-bottom: 50px;}
#planning02 .menu .detail .list{ position: relative; z-index: 1;}
#planning02 .menu .detail .list:after{ content: ""; width: 0; height: 90%; border-left: 4px dotted #004798; position: absolute; left: 30px; top: 50%; transform: translateY(-50%); z-index: -1;}
#planning02 .menu .detail .list dl{ display: flex; margin: 30px auto;}
#planning02 .menu .detail .list dl dt{ width: 80px;}
#planning02 .menu .detail .list dl dd{ width: calc(100% - 80px); padding-top: 10px;}
#planning02 .menu .detail .list dl dt strong{ display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; background: #fff; border: 2px solid #004798; color: #004798; font-size: 1.3rem; border-radius: 50%;}
#planning02 .menu .detail .list dl dd h5{ font-size: 1rem; color: #004798; margin-bottom: 0.5em;}
#planning02 .menu .detail .list dl dd p{ font-size: 0.8rem; line-height: 1.5em;}
#planning02 .menu .detail .list dl dd figure.btn_style02{ margin-top: 30px;}
#planning02 .menu .detail .list dl dd figure.btn_style02 a{ margin: 0;}
#planning02 .menu .detail .option{ margin-top: 40px; background: #fff; padding: 20px 40px; border-radius: 20px;}
#planning02 .menu .detail .option h5{ font-size: 1rem; color: #004798; margin-bottom: 0.5em;}
#planning02 .menu .detail .option p{ font-size: 0.8rem; line-height: 1.5em; margin-bottom: 0;}
#planning02 .menu .detail .option ul li{ padding-left: 1.5em; font-size: 0.8rem; position: relative; margin-top: 0.5em;}
#planning02 .menu .detail .option ul li span{ font-size: 1rem; color: #004798; font-weight: 900; position: absolute; left: 0; top: 0;}
#planning02 .menu .img_list{ margin: 50px auto;}
#planning02 .menu .img_list:last-child{ margin-bottom: 0;}
#planning02 .menu .img_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#planning02 .menu .img_list ul li{ width: calc(50% - 30px); margin: 15px;}
#planning02 .menu .img_list ul li figure img{ border-radius: 20px;}
#planning02 .menu .img_list ul li span.date{ display: block; font-size: 1rem; line-height: 1em; margin-top: 0.5em;}
#planning02 .menu .img_list ul li p{ font-size: 0.9rem; line-height: 1.5em; margin-top: 0.25em;}
/*txt size*/
body.size01 #planning02 .menu .detail h4{ font-size: 1.25rem;}
body.size01 #planning02 .menu .detail .list dl dt strong{ font-size: 1.1rem;}
body.size01 #planning02 .menu .detail .list dl dd h5{ font-size: 0.8rem;}
body.size01 #planning02 .menu .detail .list dl dd p{ font-size: 0.6rem;}
body.size01 #planning02 .menu .detail .option h5{ font-size: 0.8rem;}
body.size01 #planning02 .menu .detail .option p{ font-size: 0.6rem;}
body.size01 #planning02 .menu .detail .option ul li{ font-size: 0.6rem;}
body.size01 #planning02 .menu .detail .option ul li span{ font-size: 0.8rem;}
body.size01 #planning02 .menu .img_list ul li span.date{ font-size: 0.8rem;}
body.size01 #planning02 .menu .img_list ul li p{ font-size: 0.7rem;}
body.size02 #planning02 .menu .detail h4{ font-size: 1.5rem;}
body.size02 #planning02 .menu .detail .list dl dt strong{ font-size: 1.3rem;}
body.size02 #planning02 .menu .detail .list dl dd h5{ font-size: 1rem;}
body.size02 #planning02 .menu .detail .list dl dd p{ font-size: 0.8rem;}
body.size02 #planning02 .menu .detail .option h5{ font-size: 1rem;}
body.size02 #planning02 .menu .detail .option p{ font-size: 0.8rem;}
body.size02 #planning02 .menu .detail .option ul li{ font-size: 0.8rem;}
body.size02 #planning02 .menu .detail .option ul li span{ font-size: 1rem;}
body.size02 #planning02 .menu .img_list ul li span.date{ font-size: 1rem;}
body.size02 #planning02 .menu .img_list ul li p{ font-size: 0.9rem;}
body.size03 #planning02 .menu .detail h4{ font-size: 2.0rem;}
body.size03 #planning02 .menu .detail .list dl dt strong{ font-size: 1.7rem;}
body.size03 #planning02 .menu .detail .list dl dd h5{ font-size: 1.4rem;}
body.size03 #planning02 .menu .detail .list dl dd p{ font-size: 1.2rem;}
body.size03 #planning02 .menu .detail .option h5{ font-size: 1.4rem;}
body.size03 #planning02 .menu .detail .option p{ font-size: 1.2rem;}
body.size03 #planning02 .menu .detail .option ul li{ font-size: 1.2rem;}
body.size03 #planning02 .menu .detail .option ul li span{ font-size: 1.4rem;}
body.size03 #planning02 .menu .img_list ul li span.date{ font-size: 1.4rem;}
body.size03 #planning02 .menu .img_list ul li p{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#planning02 .menu{ margin: 25% 0 0; padding: 1px 5vw 10vw; border-radius: 3.75vw;}
#planning02 .menu .tit{ position: static; height: auto; width: calc(100% + 5vw); margin: -10vw 0 5% -5vw}
#planning02 .menu p.txt.lead{ text-align: left;}
#planning02 .menu h3{ padding: 3.75% 5%; border-radius: 5vw 5vw 5vw 0; flex-direction: column; align-items: flex-start; width: 100%;}
#planning02 .menu h3 span{ font-size: 2rem; margin-bottom: 0.125em;}
#planning02 .menu h3 strong{ font-size: 1.5rem; line-height: 1.25em; flex: 1;}
#planning02 .menu .detail{ margin: 10% auto; padding: 5%; border-radius: 3.75vw;}
#planning02 .menu .detail h4{ font-size: 1.5rem; border-bottom: 2px solid #004798; margin-bottom: 7.5%;}
#planning02 .menu .detail .list:after{ height: 90%; left: 5vw; top: 2.5vw; transform: none;}
#planning02 .menu .detail .list dl{ display: flex; margin: 5% auto;}
#planning02 .menu .detail .list dl dt{ width: 12.5vw;}
#planning02 .menu .detail .list dl dd{ width: calc(100% - 12.5vw); padding-top: 2.5%;}
#planning02 .menu .detail .list dl dt strong{ width: 10vw; height: 10vw;}
#planning02 .menu .detail .list dl dd h5{ font-size: 1rem;}
#planning02 .menu .detail .list dl dd p{ font-size: 0.8rem;}
#planning02 .menu .detail .list dl dd figure.btn_style02{ margin-top: 5%;}
#planning02 .menu .detail .option{ margin-top: 5%; padding: 5%; border-radius: 2.5vw;}
#planning02 .menu .detail .option h5{ font-size: 1rem;}
#planning02 .menu .detail .option p{ font-size: 0.8rem;}
#planning02 .menu .detail .option ul li{ font-size: 0.8rem;}
#planning02 .menu .detail .option ul li span{ font-size: 1rem;}
#planning02 .menu .img_list{ margin: 10% auto;}
#planning02 .menu .img_list ul{ display: block; width: 100%; margin: 0;}
#planning02 .menu .img_list ul li{ width: 100%; margin: 5% auto 0;}
#planning02 .menu .img_list ul li figure img{ border-radius: 2.5vw;}
#planning02 .menu .img_list ul li span.date{ font-size: 1rem;}
#planning02 .menu .img_list ul li p{ font-size: 0.9rem;}
}

.planning footer{ margin-top: -100px;}
#planning03 h2{ text-align: center; font-size: 1.9rem; color: #004798; margin-bottom: 20px;}
#planning03 p{ text-align: center; font-size: 1rem; line-height: 1.5em; font-weight: bold; color: #004798;}
#planning03 figure{ width: 1920px; margin: -160px 0 0 -410px;}
@media screen and (max-width:767px){
.planning footer{ margin-top: 25vw;}
#planning03 h2{ font-size: 1.8rem; margin-bottom: 3.75%;}
#planning03 p{ font-size: 1rem;}
#planning03 figure{ width: calc(100% + 80vw); margin: -15vw 0 0 -40vw;}
}

#planning_cv{ margin: 100px auto;}
#planning_cv .maincontent{ background: #fff; padding: 60px 40px; border-radius: 100px; text-align: center; position: relative;}
#planning_cv figure.ill{ width: 200px; position: absolute; right: 100px; bottom: 0;}
@media screen and (max-width:767px){
#planning_cv{ margin: 15% auto;}
#planning_cv .maincontent{ padding: 10% 5% 0; border-radius: 10vw;}
#planning_cv figure.ill{ position: static; width: 33.33%; margin-top: 10%;}
}

#planning_cv2{ margin: 100px auto;}
#planning_cv2 .maincontent{ background: #fff; padding: 60px 40px; border-radius: 100px; text-align: center; position: relative;}
#planning_cv2 figure.ill{ width: 200px; position: absolute; right: 100px; bottom: 0;}
@media screen and (max-width:767px){
#planning_cv2{ margin: 15% auto;}
#planning_cv2 .maincontent{ padding: 10% 5% 0; border-radius: 10vw;}
#planning_cv2 figure.ill{ position: static; width: 33.33%; margin-top: 10%;}
}

#planning_form{ background: #E2EAF2; border-radius: 0 100px 100px 0; width: calc(100% - 30px); margin: 0 30px 100px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#planning_form{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#planning_form{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#planning_form{ margin-bottom: 15%; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}
#planning_form p.lead{ text-align: center;}
#planning_form form{ margin-top: 30px;}
#planning_form form input,
#planning_form form textarea,
#planning_form form select{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 1em;}
#planning_form form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#planning_form form input[type=radio]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#planning_form form label{ cursor: pointer;}
#planning_form form label input{ cursor: pointer;}
#planning_form form select{ cursor: pointer;}

#planning_form .form_sec{ padding: 0 150px; margin-top: 30px; border-radius: 30px;}
#planning_form .form_sec dl{ margin-top: 40px;}
#planning_form .form_sec dl dt{ font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#planning_form .form_sec dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#planning_form .form_sec dl dt.att{ color: #D50A22; font-size: 0.7rem; margin-top: -5px;}
#planning_form .form_sec dl dd.check ul li{ font-size: 0.9rem; line-height: 1.25em; margin-top: 0.75em; padding-left: 1.5em; position: relative;}
#planning_form .form_sec dl dd.check ul li label{ display: flex; align-items: center;}
#planning_form .form_sec dl dd.check ul li input{ position: absolute; left: 0; top: 0.33em;}
#planning_form .form_sec dl dd.check ul li span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px;}
#planning_form .form_sec dl dd.check ul p.att{ font-size: 0.7rem; padding-left: 1.5em;}
#planning_form .form_sec dl dd p.att{ font-size: 0.7rem; line-height: 1.5em; margin-top: 0.75em;}
#planning_form .form_sec dl dd.estimate ul li{ display: flex; align-items: center; font-size: 0.9rem; line-height: 1.25em; margin-top: 0.75em; padding-left: 1.5em; position: relative;}
#planning_form .form_sec dl dd.estimate ul li label{ display: flex; align-items: center;}
#planning_form .form_sec dl dd.estimate ul li input{ position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
#planning_form .form_sec dl dd.estimate ul li .calender_wrap{ width: 350px; margin-left: 15px;}
#planning_form .form_sec dl dd.estimate ul li .calender_wrap input{ position: static; transform: none;}

#planning_form .pv_check{ text-align: center; margin: 50px auto; font-size: 0.8rem;}
#planning_form .pv_check a{ color: #004798; text-decoration: underline;}
#planning_form .pv_check a:hover{ text-decoration: none;}
#planning_form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; margin: 50px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s; position: relative;}
#planning_form .submit_btn button i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #004798; color: #fff; border: 1px solid #fff; border-radius: 50%; font-size: 0.6rem; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#planning_form .submit_btn button:hover i{ background: #fff; color: #004798; transform: translateY(-50%) rotate(-45deg);}
#planning_form .form_sec .select_wrap{ cursor: pointer; position: relative;}
#planning_form .form_sec .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#planning_form .form_sec .calender_wrap{ position: relative;}
#planning_form .form_sec .calender_wrap i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
/*txt size*/
body.size01 #planning_form form input,
body.size01 #planning_form form select,
body.size01 #planning_form form textarea{ font-size: 0.6rem;}
body.size01 #planning_form .pv_check{ font-size: 0.6rem;}
body.size01 #planning_form .submit_btn button{ font-size: 0.6rem;}
body.size02 #planning_form form input,
body.size02 #planning_form form select,
body.size02 #planning_form form textarea{ font-size: 0.8rem;}
body.size02 #planning_form .pv_check{ font-size: 0.8rem;}
body.size02 #planning_form .submit_btn button{ font-size: 0.8rem;}
body.size03 #planning_form form input,
body.size03 #planning_form form select,
body.size03 #planning_form form textarea{ font-size: 1.2rem;}
body.size03 #planning_form .pv_check{ font-size: 1.2rem;}
body.size03 #planning_form .submit_btn button{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#planning_form form{ margin-top: 10%;}
#planning_form form input,
#planning_form form textarea{ border-radius: 1.25vw; font-size: 0.8rem;}

#planning_form .form_sec{ padding: 0 5%; margin-top: 5%; border-radius: 2.5vw;}
#planning_form .form_sec dl{ margin-top: 5%;}
#planning_form .form_sec dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#planning_form .form_sec dl dt small{ font-size: 75%;}
#planning_form .form_sec dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#planning_form .form_sec dl dt.att{ margin-top: -1.25%;}
#planning_form .form_sec dl dd.check ul li{ font-size: 0.9rem;}
#planning_form .form_sec dl dd.check ul li span.req{ font-size: 0.6rem;}
#planning_form .form_sec dl dd.estimate ul li{ display: block;}
#planning_form .form_sec dl dd.estimate ul li:last-child{ margin-top: 0.75em;}
#planning_form .form_sec dl dd.estimate ul li label{ display: flex; align-items: center;}
#planning_form .form_sec dl dd.estimate ul li input{ position: absolute; left: 0; top: 0.75em;}
#planning_form .form_sec dl dd.estimate ul li .calender_wrap{ width: 100%; margin: 0.5em 0 0;}
#planning_form .form_sec .calender_wrap i{ right: 0.75em;}

#planning_form .pv_check{ margin: 7.5% auto;}
#planning_form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
#planning_form .submit_btn button i{ width: 7.5vw; height: 7.5vw; right: 2.5vw;}
}



/*request*/
.request footer{ margin-top: 100px;}
@media screen and (max-width:767px){
.request footer{ margin-top: 15%;}
}

#request_lead{ margin-bottom: 50px;}
#request_lead p.lead{ text-align: center;}
#request_lead figure.btn_style01 a:hover i{ transform: translateY(-50%) rotate(45deg);}
@media screen and (max-width:767px){
#request_lead{ margin-bottom: 10%;}
#request_lead p.lead{ text-align: left;}
}

#request01{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#request01{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#request01{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#request01{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#request01 dl{ display: flex; justify-content: space-between;}
#request01 dl dt{ width: 416px;}
#request01 dl dt figure img{ border-radius: 10px;}
#request01 dl dd{ width: 634px;}
@media screen and (max-width:767px){
#request01 dl{ display: block;}
#request01 dl dt{ width: 100%; margin-bottom: 5%;}
#request01 dl dt figure img{ border-radius: 1.25vw;}
#request01 dl dd{ width: 100%;}
}


#request02{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 100px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#request02{ width: 1300px; margin: 0 auto 100px;}
}
@media screen and (max-width:1300px){
#request02{ width: 100%; margin: 0 0 100px; border-radius: 0;}
}
@media screen and (max-width:767px){
#request02{ margin-bottom: 15%; padding: 15% 0; border-radius: 10vw;}
}
#request02 p.lead{ text-align: center;}
#request02 .list{ background: #fff; width: 980px; margin: 50px auto 0; padding: 40px 60px; border-radius: 10px;}
#request02 .list ul li{ padding: 1em 0 1em 20px; border-bottom: 1px solid #E2EAF2; font-size: 0.9rem; position: relative;}
#request02 .list ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 1.5em;}
/*txt size*/
body.size01 #request02 .list ul li{ font-size: 0.7rem;}
body.size02 #request02 .list ul li{ font-size: 0.9rem;}
body.size03 #request02 .list ul li{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#request02 p.lead{ text-align: left;}
#request02 .list{ margin-top: 5%; width: 100%; padding: 5%; border-radius: 1.25vw;}
#request02 .list ul li{ padding: 1em 0 1em 3.75vw; font-size: 0.9rem;}
#request02 .list ul li:before{ content: ""; width: 1.875vw; height: 1.875vw; top: 1.5em;}
}

#request03{ margin-bottom: 100px;}
#request03 .maincontent{ padding: 80px 100px; background: #fff; border-radius: 100px;}
#request03 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#request03{ margin-bottom: 15%;}
#request03 .maincontent{ width: 100%; padding: 10% 6%; border-radius: 10vw;}
#request03 p.lead{ text-align: left;}
}

#request04{ margin-bottom: 100px;}
#request04 .maincontent{ padding: 80px 100px; background: #fff; border-radius: 100px;}
#request04 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#request04{ margin-bottom: 15%;}
#request04 .maincontent{ width: 100%; padding: 10% 6%; border-radius: 10vw;}
#request04 p.lead{ text-align: left;}
}

#request05{ margin-bottom: 100px;}
#request05 .maincontent{ padding: 80px 100px; background: #EAF2FA; border-radius: 100px;}
#request05 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#request05{ margin-bottom: 15%;}
#request05 .maincontent{ width: 100%; padding: 10% 6%; border-radius: 10vw;}
#request05 p.lead{ text-align: left;}
}
.request #request05 .cont .info{ background: #fff;}

#request05 .kind h4{ padding-left: 0;}
#request05 .kind .kind_table01{ margin-top: 30px;}
#request05 .kind .kind_table01 table{ width: 100%; border-collapse: separate; border-spacing: 0 4px;}
#request05 .kind .kind_table01 table th{ width: 250px; vertical-align: middle; text-align: center; font-size: 0.9rem; line-height: 1.5em; padding: 0.75em; background: #000; color: #fff; border-radius: 10px 0 0 10px;}
#request05 .kind .kind_table01 table td{ vertical-align: middle; font-size: 0.8rem; line-height: 1.5em; padding: 1em 1.5em; background: #fff; border-radius: 0 10px 10px 0;}
#request05 .kind .kind_table01 table tr:nth-child(1) th{ background: #004798;}
#request05 .kind .kind_table01 table tr:nth-child(2) th{ background: #0377B4;}
#request05 .kind .kind_table01 table tr:nth-child(3) th{ background: #008FB3;}
#request05 .kind .kind_table01 table tr:nth-child(4) th{ background: #127593;}
/*txt size*/
body.size01 #request05 .kind .kind_table01 table th{ font-size: 0.7rem;}
body.size01 #request05 .kind .kind_table01 table td{ font-size: 0.6rem;}
body.size02 #request05 .kind .kind_table01 table th{ font-size: 0.9rem;}
body.size02 #request05 .kind .kind_table01 table td{ font-size: 0.8rem;}
body.size03 #request05 .kind .kind_table01 table th{ font-size: 1.3rem;}
body.size03 #request05 .kind .kind_table01 table td{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#request05 .kind .kind_table01{ margin-top: 5%;}
#request05 .kind .kind_table01 table th{ width: 8em; font-size: 0.9rem; border-radius: 1.25vw 0 0 1.25vw;}
#request05 .kind .kind_table01 table td{ font-size: 0.8rem; border-radius: 0 1.25vw 1.25vw 0;}
}

#request05 .kind .kind_table02{ margin-top: 30px;}
#request05 .kind .kind_table02 table{ width: 100%; border-collapse: separate; border-spacing: 4px 0; table-layout: fixed;}
#request05 .kind .kind_table02 table thead th{ vertical-align: middle; text-align: center; background: #000; color: #fff; padding: 0.75em; font-size: 0.9rem; border-radius: 8px 8px 0 0;}
#request05 .kind .kind_table02 table thead th:nth-child(1){ background: #004798; width: 310px;}
#request05 .kind .kind_table02 table thead th:nth-child(2){ background: #004798;}
#request05 .kind .kind_table02 table thead th:nth-child(3){ background: #0377B4;}
#request05 .kind .kind_table02 table thead th:nth-child(4){ background: #008FB3;}
#request05 .kind .kind_table02 table thead th:nth-child(5){ background: #127593;}
#request05 .kind .kind_table02 table tbody th{ vertical-align: middle; background: #fff; padding: 1.25em 1em; border-bottom: 2px dotted #E2EAF2; font-size: 0.8rem;}
#request05 .kind .kind_table02 table tbody td{ vertical-align: middle; background: #fff; padding: 1.25em 1em; border-bottom: 2px dotted #E2EAF2; font-size: 0.8rem;}
#request05 .kind .kind_table02 table tbody tr:last-child th{ border-bottom: none; border-radius: 0 0 8px 8px;}
#request05 .kind .kind_table02 table tbody tr:last-child td{ border-bottom: none; border-radius: 0 0 8px 8px;}
#request05 .kind .kind_table02 table tbody th .tit{ display: flex;}
#request05 .kind .kind_table02 table tbody th .tit span{ font-size: 1.4rem; line-height: 1em; color: #004798; position: relative; top: -0.125em; margin-right: 0.25em;}
#request05 .kind .kind_table02 table tbody td figure img{ width: 28px;}
#request05 .kind .kind_table02 table tbody td span{ display: block; text-align: center; font-size: 0.65rem; color: #004798; margin-top: 0.5em;}
/*txt size*/
body.size01 #request05 .kind .kind_table02 table th{ font-size: 0.7rem;}
body.size01 #request05 .kind .kind_table02 table th .tit span{ font-size: 1.2rem;}
body.size01 #request05 .kind .kind_table02 table td span{ font-size: 0.5rem;}
body.size02 #request05 .kind .kind_table02 table th{ font-size: 0.9rem;}
body.size02 #request05 .kind .kind_table02 table th .tit span{ font-size: 1.4rem;}
body.size02 #request05 .kind .kind_table02 table td span{ font-size: 0.65rem;}
body.size03 #request05 .kind .kind_table02 table th{ font-size: 1.3rem;}
body.size03 #request05 .kind .kind_table02 table th .tit span{ font-size: 1.8rem;}
body.size03 #request05 .kind .kind_table02 table td span{ font-size: 1rem;}
@media screen and (max-width:767px){
#request05 .kind .kind_table02{ margin-top: 5%; overflow-y: hidden; overflow-x: auto;}
#request05 .kind .kind_table02 table{ width: 175%;}
#request05 .kind .kind_table02 table thead th{ font-size: 0.9rem; border-radius: 1.25vw 1.25vw 0 0;}
#request05 .kind .kind_table02 table thead th:nth-child(1){ width: 15em;}
#request05 .kind .kind_table02 table tbody th{ background: #fff; padding: 1.25em 1em; border-bottom: 2px dotted #E2EAF2; font-size: 0.8rem;}
#request05 .kind .kind_table02 table tbody td{ background: #fff; padding: 1.25em 1em; border-bottom: 2px dotted #E2EAF2; font-size: 0.8rem;}
#request05 .kind .kind_table02 table tbody tr:last-child th{ border-bottom: none; border-radius: 0 0 8px 8px;}
#request05 .kind .kind_table02 table tbody tr:last-child td{ border-bottom: none; border-radius: 0 0 8px 8px;}
#request05 .kind .kind_table02 table tbody th .tit span{ font-size: 1.4rem;}
#request05 .kind .kind_table02 table tbody td figure img{ width: 5vw;}
#request05 .kind .kind_table02 table tbody td span{ font-size: 0.65rem;}
}

#request05 .file{ margin-top: 50px; background: #fff; padding: 24px 40px; border-radius: 20px;}
#request05 .file hr{ width: 100%; height: 0; border: none; border-top: 1px solid #E2EAF2; margin: 30px auto;}
#request05 .file h4{ margin-top: 30px;}
#request05 .file h5{ font-size: 0.9rem; line-height: 1.75em; color: #004798; margin: 20px auto 0;}
#request05 .file ul{ margin: 20px auto;}
#request05 .file .btns{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
#request05 .file .btns figure{ width: calc(50% - 20px); margin: 0 10px;}
#request05 .file .btns figure a{ width: 100%; height: 60px; border-radius: 30px; display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; font-size: 0.8rem; transition: 0.3s;}
#request05 .file .btns figure a:hover{ opacity: 0.7;}
#request05 .file .btns figure a span{ width: 24px; margin-right: 10px;}
/*txt size*/
body.size01 #request05 .file h5{ font-size: 0.7rem;}
body.size01 #request05 .file .btns figure a{ font-size: 0.6rem;}
body.size02 #request05 .file h5{ font-size: 0.9rem;}
body.size02 #request05 .file .btns figure a{ font-size: 0.8rem;}
body.size03 #request05 .file h5{ font-size: 1.3rem;}
body.size03 #request05 .file .btns figure a{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#request05 .file{ margin-top: 10%; padding: 7.5% 3.75%; border-radius: 2.5vw;}
#request05 .file hr{ margin: 7.5% auto;}
#request05 .file h4{ margin-top: 5%;}
#request05 .file h5{ font-size: 0.9rem; margin: 3.75% auto 0;}
#request05 .file ul{ margin: 3.75% auto;}
#request05 .file .btns{ display: block; width: 100%; margin: 0;}
#request05 .file .btns figure{ width: 100%; margin: 3.75% auto 0;}
#request05 .file .btns figure a{ height: 10vw; border-radius: 5vw; font-size: 0.8rem;}
#request05 .file .btns figure a span{ width: 5vw; margin-right: 1.875vw;}
}

.request #content .cont h3{ margin: 50px auto 30px; font-size: 1.5rem; color: #004798; padding-bottom: 0.25em; border-bottom: 4px solid #004798;}
.request #content .cont h4{ margin: 50px auto 20px; padding-left: 1.25em; font-size: 1.1rem; position: relative;}
.request #content .cont h4 span{ font-size: 1.4rem; color: #004798; position: absolute; left: 0; top: 0;}
.request #content .cont p{ font-size: 0.75rem;}
.request #content .cont p .red{ color: #D50A22;}
.request #content .cont p a{ color: #004798; text-decoration: underline;}
.request #content .cont p a:hover{ text-decoration: none;}
.request #content .cont ul{ margin: 30px auto;}
.request #content .cont ul li{ margin-bottom: 0.5em; padding-left: 24px; font-size: 0.9rem; line-height: 2em; position: relative;}
.request #content .cont ul li:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.8em;}
.request #content .cont ol{ margin: 30px auto;}
.request #content .cont ol li{ margin-bottom: 0.5em; padding-left: 32px; font-size: 0.9rem; line-height: 2em; position: relative;}
.request #content .cont ol li span{ position: absolute; left: 0; top: 0;}
.request #content .cont .info{ margin-top: 30px; background: #fff; padding: 30px; border-radius: 20px;}
.request #content .cont .info dl{ display: flex; margin-bottom: 1em;}
.request #content .cont .info dl dt{ width: 200px; font-size: 1.2rem; font-weight: bold;}
.request #content .cont .info dl dd p{ font-size: 1rem; line-height: 1.75em; font-weight: bold; margin: 0;}
.request #content .cont .info dl dd p small{ font-size: 80%;}
.request #content .cont .info dl dd p a{ display: inline-block; margin-left: 0.5em; color: #004798;}
.request #content .cont .info dl dd p.att{ font-size: 0.65rem; margin-top: 0.5em;}
.request #content .cont .info p.txt{ font-size: 0.65rem;}
.request #content .cont .info .info_box{ background: #efefef; padding: 1em;}
/*txt size*/
body.size01.request #content .cont h3{ font-size: 1.25rem;}
body.size01.request #content .cont h4{ font-size: 0.9rem;}
body.size01.request #content .cont h4 span{ font-size: 1.2rem;}
body.size01.request #content .cont p{ font-size: 0.55rem;}
body.size01.request #content .cont ul li{ font-size: 0.7rem;}
body.size01.request #content .cont .info dl dt{ font-size: 1.0rem;}
body.size01.request #content .cont .info dl dd p{ font-size: 0.8rem;}
body.size01.request #content .cont .info dl dd p.att{ font-size: 0.5rem;}
body.size01.request #content .cont .info p.txt{ font-size: 0.5rem;}
body.size02.request #content .cont h3{ font-size: 1.5rem;}
body.size02.request #content .cont h4{ font-size: 1.1rem;}
body.size02.request #content .cont h4 span{ font-size: 1.4rem;}
body.size02.request #content .cont p{ font-size: 0.75rem;}
body.size02.request #content .cont ul li{ font-size: 0.9rem;}
body.size02.request #content .cont .info dl dt{ font-size: 1.2rem;}
body.size02.request #content .cont .info dl dd p{ font-size: 1rem;}
body.size02.request #content .cont .info dl dd p.att{ font-size: 0.65rem;}
body.size02.request #content .cont .info p.txt{ font-size: 0.65rem;}
body.size03.request #content .cont h3{ font-size: 2.0rem;}
body.size03.request #content .cont h4{ font-size: 1.5rem;}
body.size03.request #content .cont h4 span{ font-size: 1.8rem;}
body.size03.request #content .cont p{ font-size: 1.1rem;}
body.size03.request #content .cont ul li{ font-size: 1.3rem;}
body.size03.request #content .cont .info dl dt{ font-size: 1.6rem;}
body.size03.request #content .cont .info dl dd p{ font-size: 1.4rem;}
body.size03.request #content .cont .info dl dd p.att{ font-size: 1rem;}
body.size03.request #content .cont .info p.txt{ font-size: 1rem;}
@media screen and (max-width:767px){
.request #content .cont h3{ margin: 10% auto 5%; font-size: 1.5rem;}
.request #content .cont h4{ margin: 10% auto 3.75%; font-size: 1.1rem;}
.request #content .cont h4 span{ font-size: 1.4rem;}
.request #content .cont p{ font-size: 0.75rem;}
.request #content .cont ul{ margin: 5% auto;}
.request #content .cont ul li{ padding-left: 3.75vw; font-size: 0.9rem;}
.request #content .cont ul li:before{ content: ""; width: 1.875vw; height: 1.875vw; top: 0.75em;}
.request #content .cont ol{ margin: 5% auto;}
.request #content .cont ol li{ padding-left: 5vw; font-size: 0.9rem;}
.request #content .cont ol li span{ content: ""; width: 1.875vw; height: 1.875vw; top: 0;}
.request #content .cont .info{ margin-top: 5%; padding: 3.75%; border-radius: 2.5vw;}
.request #content .cont .info dl{ display: block;}
.request #content .cont .info dl dt{ width: 100%; font-size: 1.2rem; margin-bottom: 2.5%;}
.request #content .cont .info dl dd p{ font-size: 1rem;}
.request #content .cont .info dl dd p.att{ font-size: 0.65rem;}
}

#request06{ margin-bottom: 100px;}
#request06 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#request06{ margin-bottom: 15%;}
#request06 p.lead{ text-align: left;}
}

#request06 .flow{ width: 1000px; margin: 50px auto 0;}
#request06 .flow ul{ position: relative; z-index: 1;}
#request06 .flow ul:after{ content: ""; width: 0; height: calc(100% - 220px); border-left: 4px dotted #004798; position: absolute; left: 60px; top: 0; z-index: -1;}
#request06 .flow ul li{ margin: 70px auto 0;}
#request06 .flow ul li:first-child{ margin-top: 0;}
#request06 .flow ul li dl{ display: flex; align-items: flex-start; justify-content: space-between;}
#request06 .flow ul li dl dt{ width: 120px; margin-right: 40px;}
#request06 .flow ul li dl dd{ width: calc(100% - 160px);}
#request06 .flow ul li .num{ display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; background: #fff; border: 2px solid #004798; font-size: 2.5rem; font-weight: bold; color: #004798; border-radius: 50%; margin: 0;}
#request06 .flow ul li h4{ color: #004798; font-size: 1.3rem; margin-bottom: 10px;}
#request06 .flow ul li h5{ color: #004798; font-size: 0.9rem; margin: 10px 0; padding-left: 24px; position: relative;}
#request06 .flow ul li h5:before{ content: ""; width: 10px; height: 10px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.5em;}
#request06 .flow ul li p.txt_in{ margin-left: 24px;}
#request06 .flow ul li p{ font-size: 0.75rem; line-height: 1.5em;}

#request06 .flow ul li p.tel{ font-size: 1rem; font-weight: bold; color: #004798;}
#request06 .flow ul li p.tel a{ font-size: 1.1rem;}
/*txt size*/
body.size01 #request06 .flow ul li h4{ font-size: 1.1rem;}
body.size01 #request06 .flow ul li h5{ font-size: 0.7rem;}
body.size01 #request06 .flow ul li p{ font-size: 0.55rem;}
body.size01 #request06 .flow ul li p.tel{ font-size: 0.8rem;}
body.size01 #request06 .flow ul li p.tel a{ font-size: 0.9rem;}
body.size02 #request06 .flow ul li h4{ font-size: 1.3rem;}
body.size02 #request06 .flow ul li h5{ font-size: 0.9rem;}
body.size02 #request06 .flow ul li p{ font-size: 0.75rem;}
body.size02 #request06 .flow ul li p.tel{ font-size: 1rem;}
body.size02 #request06 .flow ul li p.tel a{ font-size: 1.1rem;}
body.size03 #request06 .flow ul li h4{ font-size: 1.7rem;}
body.size03 #request06 .flow ul li h5{ font-size: 1.3rem;}
body.size03 #request06 .flow ul li p{ font-size: 1.1rem;}
body.size03 #request06 .flow ul li p.tel{ font-size: 1.4rem;}
body.size03 #request06 .flow ul li p.tel a{ font-size: 1.5rem;}
#request06 .flow .table .cel { display: flex; justify-content: flex-start; align-items: stretch; text-align: center; font-weight: 500;}
#request06 .flow .table .cel p { width: 200px; margin: 4px 4px 0 0; padding: 5px; line-height: 1.5em; min-height: 3em; border-radius: 8px; background-color: #fff; display: flex; justify-content: center; align-items: center;}
#request06 .flow .table .heading p { background-color: #004798; color: #fff;}
@media screen and (max-width:767px){
#request06 .flow{ width: 100%; margin: 7.5% auto 0;}
#request06 .flow ul:after{ height: 115vw; left: 12.5vw;}
#request06 .flow ul li{ margin: 10% auto;}
#request06 .flow ul li dl dt{ width: 25vw; margin: 0;}
#request06 .flow ul li dl dd{ width: calc(100% - 30vw);}
#request06 .flow ul li .num{ width: 25vw; height: 25vw; font-size: 2.5rem; margin: 0;}
#request06 .flow ul li h4{ font-size: 1.3rem; margin-bottom: 2.5%;}
#request06 .flow ul li p{ font-size: 0.75rem;}
#request06 .flow .table{ width: calc(100% + 30vw); margin-left: -30vw;}
#request06 .flow .table .cel p{ width: calc(33.33% - 1.25vw); margin: 0.625vw; padding: 1.25vw; min-height: 4.5em; border-radius: 1.25vw;}
}

#request06 .flow .info_box{ background: #efefef; padding: 1em; margin-top: 40px;}
#request06 .flow .info_box p strong{ font-size: 1.2rem;}
#request06 .flow .info_box p{ font-size: 1rem;}
/*txt size*/
body.size01 #request06 .flow .info_box p strong{ font-size: 1.0rem;}
body.size01 #request06 .flow .info_box p{ font-size: 0.8rem;} 
body.size02 #request06 .flow .info_box p strong{ font-size: 1.2rem;}
body.size02 #request06 .flow .info_box p{ font-size: 1rem;} 
body.size03 #request06 .flow .info_box p strong{ font-size: 1.6rem;}
body.size03 #request06 .flow .info_box p{ font-size: 1.2rem;} 
@media screen and (max-width:767px){
#request06 .flow .info_box{ margin-top: 7.5%;}
}

#request07{ margin-bottom: 0;}
#request07 p.lead{ text-align: center;}
@media screen and (max-width:767px){
#request07{ margin-bottom: 0;}
#request07 p.lead{ text-align: left;}
}

#request08{ margin-bottom: 100px;}
#request08 .maincontent{ padding: 80px 100px; background: #EAF2FA; border-radius: 100px;}
@media screen and (max-width:767px){
#request08{ margin-bottom: 15%;}
#request08 .maincontent{width: 100%; padding: 10% 6%; border-radius: 10vw;}
}

.request #f_cv3{ margin: -220px auto 120px; background: #fff; width: 1040px; padding: 50px 100px 25px; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.16) 10px 10px 20px;}
.request #f_cv3 h2{ display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 70px;}
.request #f_cv3 h2 strong{ font-size: 2.5rem; font-weight: bold; line-height: 1em; color: #004798;}
.request #f_cv3 h2 span{ font-size: 1.5rem; line-height: 1em; letter-spacing: 0.04em; margin-top: 40px; position: relative;}
.request #f_cv3 h2 span:before{ content: ""; background: url("../images/cv_tit_ico.png") center center; background-size: 100%; width: 20px; height: 10px; position: absolute; left: 0; right: 0; top: -25px; margin: auto;}
.request #f_cv3 hr{ width: 100%; height: 0; border: none; border-top: 1px solid #E2EAF2; margin: 40px auto;}
.request #f_cv3 dl{ display: flex;}
.request #f_cv3 dl dt{ width: 400px; font-size: 1.2rem; font-weight: bold;}
.request #f_cv3 dl dd{ width: calc(100% - 400px);}
.request #f_cv3 table{ width: 100%;}
.request #f_cv3 table th{ font-size: 1rem; width: 100px; padding-bottom: 1em;}
.request #f_cv3 table td{ font-size: 1rem; color: #004798; font-weight: bold; padding-bottom: 1em;}
.request #f_cv3 table td span{ font-size: 0.8rem;}
.request #f_cv3 table tr:last-child th,
.request #f_cv3 table tr:last-child td{ padding-bottom: 0;}
.request #f_cv3 p{ margin-top: 30px; font-size: 0.7rem; text-align: center;}
/*txt size*/
body.size01.request #f_cv3 dl dt{ font-size: 1.0rem;}
body.size01.request #f_cv3 table th{ font-size: 0.8rem;}
body.size01.request #f_cv3 table td{ font-size: 0.8rem;}
body.size01.request #f_cv3 table td span{ font-size: 0.6rem;}
body.size01.request #f_cv3 p{ font-size: 0.5rem;}
body.size02.request #f_cv3 dl dt{ font-size: 1.2rem;}
body.size02.request #f_cv3 table th{ font-size: 1.0rem;}
body.size02.request #f_cv3 table td{ font-size: 1.0rem;}
body.size02.request #f_cv3 table td span{ font-size: 0.8rem;}
body.size02.request #f_cv3 p{ font-size: 0.7rem;}
body.size03.request #f_cv3 dl dt{ font-size: 1.6rem;}
body.size03.request #f_cv3 table th{ font-size: 1.4rem;}
body.size03.request #f_cv3 table td{ font-size: 1.4rem;}
body.size03.request #f_cv3 table td span{ font-size: 1.2rem;}
body.size03.request #f_cv3 p{ font-size: 1rem;}
@media screen and (max-width:767px){
.request #f_cv3{ margin: -50vw auto 15%; padding: 7.5% 3.75% 3.75%; border-radius: 2.5vw;}
.request #f_cv3{ margin: -50vw auto 15%; display: block; width: 100%; padding: 10% 7.5%; border-radius: 5vw;}
.request #f_cv3 h2{ margin: 0 0 15%;}
.request #f_cv3 h2 strong{ font-size: 2.5rem;}
.request #f_cv3 h2 span{ margin-top: 7.5vw}
.request #f_cv3 h2 span:before{ width: 5vw; height: 2.5vw; top: -5vw;}
.request #f_cv3 hr{ margin: 5% auto;}
.request #f_cv3 dl{ display: block;}
.request #f_cv3 dl dt{ width: 100%; font-size: 1.2rem; margin-bottom: 2.5%;}
.request #f_cv3 dl dd{ width: 100%;}
.request #f_cv3 table th{ font-size: 1rem; width: 30%;}
.request #f_cv3 table td{ font-size: 1rem;}
.request #f_cv3 table td span{ font-size: 0.8rem;}
.request #f_cv3 p{ text-align: left; margin-top: 5%; font-size: 0.7rem;}
}





/*performance*/
#performance_result01{ background: #E2EAF2; border-radius: 100px 0 0 0; margin-bottom: 100px; padding: 80px 0;}
@media screen and (max-width:767px){
#performance_result01{ margin-bottom: 15%; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}

#performance_result01 #result{ overflow: hidden;}
#performance_result01 #result .slider{ position: relative; z-index: 10;}
#performance_result01 #result .slider ul{ display: flex; justify-content: center; align-items: flex-end; width: 100%; margin-left: 0;}
#performance_result01 #result .slider ul li{ width: 580px; transition: 0.3s;}
#performance_result01 #result .slider ul li p{ font-size: 1.1rem;}
#performance_result01 #result .slider ul li{ transform: scale(0.9); transform-origin: center bottom; margin-top: -4px; transition: 0.3s;}
#performance_result01 #result .slider ul li.slick-center{ transform: scale(1); margin-top: 0;}
#performance_result01 #result .slider ul li.slick-center p{ transform: scale(1);}
#performance_result01 #result .slider ul li img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px;}
@media screen and (max-width:767px){
#performance_result01 #result .slider ul li{ width: 70vw;}
#performance_result01 #result .slider ul li{ margin-top: -0.75vw;}
#performance_result01 #result .slider ul li img{ border-radius: 2.5vw;}
}

#performance_result01 #result .slider .slick-prev,
#performance_result01 #result .slider .slick-next{ display: flex; width: 60px; height: 60px; border-radius: 50%; background: #fff; border: 2px solid #004798; position: absolute; right: 0; bottom: 0; transition: 0.3s;}
#performance_result01 #result .slider .slick-prev{ left: 185px; top: 50%; transform: translateY(-50%); z-index: 99;}
#performance_result01 #result .slider .slick-next{ right: 185px; top: 50%; transform: translateY(-50%); z-index: 99;}
#performance_result01 #result .slider .slick-prev:before{ font-family: "Font Awesome 5 Free"; font-size: 0.9rem; font-weight: 900; content: "\f060"; color: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#performance_result01 #result .slider .slick-next:before{ font-family: "Font Awesome 5 Free"; font-size: 0.9rem; font-weight: 900; content: "\f061"; color: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#performance_result01 #result .slider .slick-prev:hover,
#performance_result01 #result .slider .slick-next:hover{ background: #004798; color: #fff;}
#performance_result01 #result .slider .slick-prev:hover:before,
#performance_result01 #result .slider .slick-next:hover:before{ color: #fff;}
@media screen and (max-width:767px){
#performance_result01 #result .slider .slick-prev,
#performance_result01 #result .slider .slick-next{ width: 10vw; height: 10vw;}
#performance_result01 #result .slider .slick-prev{ left: 0;}
#performance_result01 #result .slider .slick-next{ right: 0;}
}

#performance_result02{ margin: 100px auto;}
#performance_result02 p.lead{ text-align: center;}
#performance_result02 figure img{ width: 1000px; margin-top: 40px;}
@media screen and (max-width:767px){
#performance_result02{ margin: 15% auto;}
#performance_result02 p.lead{ }
#performance_result02 figure img{ width: 100%; margin-top: 7.5%;}
}

#performance_result03{ background: #E2EAF2; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#performance_result03{ width: 1300px; margin: 100px auto;}
}
@media screen and (max-width:1300px){
#performance_result03{ width: 100%; margin: 100px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#performance_result03{ margin: 15% auto; padding: 15% 0; border-radius: 10vw;}
}
#performance_result03 h2{ text-align: center; font-size: 1.9rem; margin-bottom: 100px;}
#performance_result03 ul{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#performance_result03 ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: calc(33.33% - 30px); margin: 0 15px; background: #fff; color: #004798; padding: 80px 20px; border-radius: 100px; text-align: center;}
#performance_result03 ul li figure img{ width: 140px;}
#performance_result03 ul li h4{ font-size: 1.2rem; margin: 10px auto 0;}
#performance_result03 ul li .num{ display: flex; justify-content: center; align-items: flex-end; margin: 10px auto 15px;}
#performance_result03 ul li .num strong{ font-size: 3.5rem; line-height: 1em;}
#performance_result03 ul li .num span{ text-align: left; font-size: 0.8rem; font-weight: 500; margin-left: 0.5em;}
#performance_result03 ul li p{ font-size: 0.8rem; line-height: 1.5em; margin-top: 10px;}
/*txt size*/
body.size01 #performance_result03 ul li p{ font-size: 0.6rem;}
body.size02 #performance_result03 ul li p{ font-size: 0.8rem;}
body.size03 #performance_result03 ul li p{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#performance_result03 h2{ font-size: 1.8rem; margin-bottom: 10%;}
#performance_result03 ul{ display: block; width: 100%; margin: auto;}
#performance_result03 ul li{ display: block; width: 100%; margin: 5% auto 0; padding: 5%; border-radius: 10vw;}
#performance_result03 ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#performance_result03 ul li dl dt{ width: 33.33%;}
#performance_result03 ul li dl dd{ width: 63.33%;}
#performance_result03 ul li figure img{ width: 100%;}
#performance_result03 ul li h4{ font-size: 1rem; margin: 0 auto;}
#performance_result03 ul li .num{ display: flex; align-items: flex-end; margin: 2.5% auto;}
#performance_result03 ul li .num strong{ font-size: 3rem;}
#performance_result03 ul li .num span{ font-size: 0.8rem;}
#performance_result03 ul li p{ font-size: 0.8rem; margin-top: 2.5%;}
/*txt size*/
body.size01 #performance_result03 ul li p{ font-size: 0.55rem;}
body.size02 #performance_result03 ul li p{ font-size: 0.75rem;}
body.size03 #performance_result03 ul li p{ font-size: 1.1rem;}
}

#performance_result04{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#performance_result04{ width: 1300px; margin: 100px auto;}
}
@media screen and (max-width:1300px){
#performance_result04{ width: 100%; margin: 100px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#performance_result04{ margin: 15% auto; padding: 15% 0; border-radius: 10vw;}
}
#performance_result04 h2{ text-align: center; font-size: 1.9rem; margin-bottom: 50px;}
@media screen and (max-width:767px){
#performance_result04 h2{ font-size: 1.8rem; margin-bottom: 10%;}
}

#performance_result04 ul{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin: -20px 0;}
#performance_result04 ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; width: 260px; height: 260px; margin: 20px 15px; background: #EAF2FA; color: #004798; border-radius: 50%;}
#performance_result04 ul li figure img{ width: 90px;}
#performance_result04 ul li h4{ font-size: 0.9rem; margin: 10px auto 5px; text-align: center;}
#performance_result04 ul li .num{ display: flex; align-items: flex-end; justify-content: center;}
#performance_result04 ul li .num strong{ font-size: 3rem; line-height: 1em;}
#performance_result04 ul li .num span{ font-size: 1.1rem; line-height: 1em; font-weight: bold; margin-left: 0.25em; margin-bottom: 0.5em;}
@media screen and (max-width:767px){
#performance_result04 ul{ width: calc(100% + 12vw); margin: -1.875vw 0 -1.875vw -6vw;}
#performance_result04 ul li{ width: 44vw; height: 44vw; margin: 1.875vw 1.25vw;}
#performance_result04 ul li figure img{ width: 15vw;}
#performance_result04 ul li h4{ font-size: 0.9rem; margin: 2.5% auto 1.25%;}
#performance_result04 ul li .num strong{ font-size: 2.75rem;}
#performance_result04 ul li .num span{ font-size: 1rem;}
}

#performance_result05{ margin-top: 100px; padding-bottom: 20px;}
#performance_result05 h2{ text-align: center; font-size: 1.9rem; margin-bottom: 80px;}
#performance_result05 ul{ width: calc(100% + 50px); margin: -25px 0 -25px -25px; display: flex; flex-wrap: wrap;}
#performance_result05 ul li{ width: calc(50% - 50px); margin: 25px; background: #fff; padding: 30px; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.16) 10px 10px 20px;}
#performance_result05 figure{ margin-bottom: 20px;}
#performance_result05 figure img{ border-radius: 10px;}
#performance_result05 h4{ font-size: 1.3rem; line-height: 1.5em; margin-bottom: 10px;}
#performance_result05 p{  font-size: 0.75rem; line-height: 1.5em;}
#performance_result05 figure.btn_more{ margin: 20px 0 0; justify-content: flex-end;}
#performance_result05 figure.btn_more a{ justify-content: flex-end;}
/*txt size*/
body.size01 #performance_result05 p{ font-size: 0.55rem;}
body.size02 #performance_result05 p{ font-size: 0.75rem;}
body.size03 #performance_result05 p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#performance_result05 h2{ font-size: 1.8rem; margin-bottom: 10%;}
#performance_result05 ul{ width: 100%; margin: 0; display: block;}
#performance_result05 ul li{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#performance_result05 ul li figure{ margin-bottom: 3.75%;}
#performance_result05 ul li figure img{ border-radius: 1.25vw;}
#performance_result05 ul li h4{ font-size: 1.3rem; margin-bottom: 2.5%;}
#performance_result05 p{ font-size: 0.75rem;}
#performance_result05 ul li figure.btn_more{ margin-top: 3.75%;}
}





/*support*/
#support01{ margin-bottom: 100px;}
#support01 p.lead{ text-align: center; margin-bottom: 100px;}
#support01 .howto p{ font-size: 0.75rem; text-align: center;}
#support01 .howto ul{ margin-top: 100px; display: flex; justify-content: center;}
#support01 .howto ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 500px; height: 500px; border-radius: 50%; background: #E9F0F4; margin: 0 -30px;}
#support01 .howto ul li figure img{ width: 107px;}
#support01 .howto ul li h4{ font-size: 1.5rem; color: #179A8B; margin: 10px auto 20px;}
#support01 .howto ul li p{ font-size: 0.8rem; line-height: 1.5em; margin: 0;}
#support01 .howto ul li .price{ margin-top: 20px; display: flex; align-items: center; justify-content: center; background: #fff; width: 280px; height: 80px; border-radius: 40px;}
#support01 .howto ul li .price p{ color: #D50A22; color: #d50a22; font-size: 1rem; font-weight: bold;}
#support01 .howto ul li .price p span{ font-size: 1.2rem;}
#support01 .howto ul li .price p strong{ display: inline-block; font-size: 2rem; margin: 0.125em 0.25em 0;}
#support01 .howto ul li:nth-child(1){ background: #EAF2FA;}
#support01 .howto ul li:nth-child(1) h4{ color: #004798;}
/*txt size*/
body.size01 #support01 .howto p{ font-size: 0.55rem;}
body.size01 #support01 .howto ul li p{ font-size: 0.6rem;}
body.size02 #support01 .howto p{ font-size: 0.75rem;}
body.size02 #support01 .howto ul li p{ font-size: 0.8rem;}
body.size03 #support01 .howto p{ font-size: 1.1rem;}
body.size03 #support01 .howto ul li p{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#support01{ margin-bottom: 15%;}
#support01 p.lead{  margin-bottom: 15%;}
#support01 .howto p{ font-size: 0.75rem;}
#support01 .howto ul{ display: block; margin: 20% auto;}
#support01 .howto ul li{ width: 88vw; height: 88vw; margin: -7.5vw 0;}
#support01 .howto ul li figure img{ width: 20vw;}
#support01 .howto ul li h4{ font-size: 1.4rem; margin: 2.5% auto 5%;}
#support01 .howto ul li p{ font-size: 0.8rem;}
#support01 .howto ul li .price{ margin-top: 5%; width: 50vw; height: 15vw; border-radius: 12.5vw;}
#support01 .howto ul li .price p{font-size: 1rem;}
#support01 .howto ul li .price p span{ font-size: 1.2rem;}
#support01 .howto ul li .price p strong{ font-size: 1.8rem;}
}

#support01 .incentives{ margin-top: 100px; background: #D2E8E6; padding: 60px; border-radius: 100px;}
#support01 .incentives h3{ text-align: center; font-size: 1.5rem; color: #179A8B; margin-bottom: 30px;}
#support01 .incentives p.txt{ text-align: center;}
#support01 .incentives p.txt strong{ color: #179A8B;}
#support01 .incentives figure.btn{ display: flex; align-items: center; justify-content: center; margin-top: 40px;}
#support01 .incentives figure.btn a{ display: flex; align-items: center; justify-content: center; background: #179A8B; color: #fff; width: 360px; height: 60px; border-radius: 60px; font-size: 0.8rem; font-weight: bold; transition: 0.3s;}
#support01 .incentives figure.btn a i{ margin-right: 0.5em;}
#support01 .incentives figure.btn a:hover{ opacity: 0.7;}
@media screen and (max-width:767px){
#support01 .incentives{ margin-top: 15%; padding: 10% 5%; border-radius: 10vw;}
#support01 .incentives p.txt{ }
#support01 .incentives h3{ font-size: 1.5rem; margin-bottom: 5%;}
#support01 .incentives figure.btn{ margin-top: 7.5%;}
#support01 .incentives figure.btn a{ width: 88%; height: 12.5vw; border-radius: 12.5vw; font-size: 0.8rem;}
}

#support02{ background: #E9F0F4; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#support02{ width: 1300px; margin: 100px auto;}
}
@media screen and (max-width:1300px){
#support02{ width: 100%; margin: 100px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#support02{ margin: 15% auto; padding: 15% 0; border-radius: 10vw;}
}
#support02 .price{ margin: 0 auto 40px; display: flex; align-items: center; justify-content: center; background: #fff; width: 360px; height: 70px; border-radius: 40px;}
#support02 .price p{ color: #D50A22; color: #d50a22; font-size: 1rem; font-weight: bold;}
#support02 .price p span{ font-size: 1.2rem;}
#support02 .price p strong{ font-size: 2rem; margin: 0 0.25em;}
#support02 p.lead{ text-align: center;}
#support02 p.att{ text-align: center; font-size: 0.75rem; line-height: 1.5em;}
#support02 .info{ background: #fff; margin: 40px auto 20px; padding: 40px; border-radius: 60px;}
#support02 .info h4{ text-align: center; font-size: 1.4rem; color: #179A8B; margin-bottom: 40px;}
#support02 .info ul{ display: flex; justify-content: center;}
#support02 .info ul li{ border-right: 2px dotted #333; padding: 10px 40px;}
#support02 .info ul li:last-child{ border: none;}
#support02 .info ul li h5{ font-size: 1.2rem; margin-bottom: 10px;}
#support02 .info ul li p{ font-size: 1rem; line-height: 1.5em;}
/*txt size*/
body.size01 #support02 p.att{ font-size: 0.55rem;}
body.size02 #support02 p.att{ font-size: 0.75rem;}
body.size03 #support02 p.att{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#support02 .price{ margin: 0 auto 10%; width: 66.66vw; height: 12.5vw; border-radius: 12.5vw;}
#support02 .price p{ font-size: 1rem;}
#support02 .price p span{ font-size: 1.2rem;}
#support02 .price p strong{ font-size: 1.8rem;}
#support02 p.lead{ }
#support02 .info{ margin: 10% auto 5%; padding: 5%; border-radius: 10vw;}
#support02 .info h4{ font-size: 1.4rem; margin-bottom: 3.75%;}
#support02 .info ul{ display: block;}
#support02 .info ul li{ border: none; border-bottom: 2px dotted #333; padding: 3.75%;}
#support02 .info ul li:last-child{ border: none;}
#support02 .info ul li h5{ font-size: 1rem; margin-bottom: 2.5%;}
#support02 .info ul li p{ font-size: 0.9rem;}
}

#support03{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#support03{ width: 1300px; margin: 100px auto;}
}
@media screen and (max-width:1300px){
#support03{ width: 100%; margin: 100px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#support03{ margin: 15% auto; padding: 15% 0; border-radius: 10vw;}
}
#support03 .price{ margin: 0 auto 40px; display: flex; align-items: center; justify-content: center; text-align: center; background: #fff; width: 360px; height: 80px; border-radius: 40px;}
#support03 .price p{ color: #D50A22; color: #d50a22; font-size: 1rem; line-height: 1.5em; font-weight: bold;}
#support03 .price p span{ font-size: 1.2rem;}
#support03 .price p strong{ font-size: 2rem; margin: 0 0.25em;}
#support03 p.lead{ text-align: center;}
#support03 .list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: 40px 0 -10px -15px;}
#support03 .list ul li{ display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; width: calc(33.33% - 30px); margin: 10px 15px; background: #fff; padding: 30px 40px; border-radius: 40px;}
#support03 .list ul li h4{ display: flex; align-items: center; justify-content: center; font-size: 1.2rem; line-height: 1.25em; min-height: 2.5em; color: #004798; margin-bottom: 10px;}
#support03 .list ul li p{font-size: 0.75rem; line-height: 1.5em; min-height: 3em;}
/*txt size*/
body.size01 #support03 .list ul li p{ font-size: 0.55rem;}
body.size02 #support03 .list ul li p{ font-size: 0.75rem;}
body.size03 #support03 .list ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#support03 .price{ margin: 0 auto 10%; width: 66.66vw; height: 15vw; border-radius: 12.5vw;}
#support03 .price p{ font-size: 1rem;}
#support03 .price p span{ font-size: 1.2rem;}
#support03 .price p strong{ font-size: 1.8rem;}
#support03 p.lead{ }
#support03 .list ul{ display: block; width: 100%; margin: 0 auto;}
#support03 .list ul li{ width: 100%; margin: 5% auto 0; padding: 5%; border-radius: 5vw;}
#support03 .list ul li h4{ font-size: 1.2rem; min-height: 1.25em; margin-bottom: 2.5%;}
#support03 .list ul li p{font-size: 0.75rem; min-height: 1em;}
}

#support04{ margin: 100px auto;}
#support04 p.lead{ text-align: center; margin-bottom: 40px;}
#support04 .flow ul{ display: flex; position: relative; z-index: 1;}
#support04 .flow ul:after{ content: ""; width: 800px; height: 0; border-top: 4px dotted #004798; position: absolute; left: 0; right: 0; top: 60px; margin: auto; z-index: -1;}
#support04 .flow ul li{ width: 240px; margin: 0 10px;}
#support04 .flow ul li .num{ display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; background: #fff; border: 2px solid #004798; font-size: 2.5rem; font-weight: bold; color: #004798; border-radius: 50%; margin: 0 auto 20px;}
#support04 .flow ul li h4{ text-align: center; color: #004798; font-size: 1.3rem; margin-bottom: 10px;}
#support04 .flow ul li p{ text-align: center; font-size: 0.75rem; line-height: 1.5em;}
/*txt size*/
body.size01 #support04 .flow ul li p{ font-size: 0.5rem;}
body.size02 #support04 .flow ul li p{ font-size: 0.75rem;}
body.size03 #support04 .flow ul li p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#support04{ margin: 15% auto;}
#support04 p.lead{  margin-bottom: 10%;}
#support04 .flow ul{ display: block;}
#support04 .flow ul:after{ content: ""; width: 0; height: 90%; border: none; border-left: 4px dotted #004798; left: 12.5vw; right: auto; top: 50%; transform: translateY(-50%);}
#support04 .flow ul li{ width: 100%; margin: 10% auto;}
#support04 .flow ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#support04 .flow ul li dl dt{ width: 25vw;}
#support04 .flow ul li dl dd{ width: calc(100% - 30vw);}
#support04 .flow ul li .num{ width: 25vw; height: 25vw; font-size: 2.5rem; margin: 0;}
#support04 .flow ul li h4{ text-align: left; font-size: 1.3rem; margin-bottom: 2.5%;}
#support04 .flow ul li p{ text-align: left; font-size: 0.75rem;}
}

#support05{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#support05{ width: 1300px; margin: 100px auto 0;}
}
@media screen and (max-width:1300px){
#support05{ width: 100%; margin: 100px 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#support05{ margin: 15% auto 0; padding: 15% 0; border-radius: 10vw;}
}
#support05 p.lead{ text-align: center;}
#support05 h3{ font-size: 1.5rem; color: #004798; margin: 50px auto 30px; border-bottom: 4px solid #004798; padding-bottom: 0.25em;}
#support05 ul{ display: flex; flex-wrap: wrap; width: calc(100% + 10px); margin: -5px 0 -5px -5px;}
#support05 ul li{ display: flex; align-items: center; justify-content: center; width: calc(33.33% - 10px); margin: 5px; background: #EAF2FA; padding: 10px; font-size: 0.8rem; text-align: center; border-radius: 10px;}
/*txt size*/
body.size01 #support05 ul li{ font-size: 0.6rem;}
body.size02 #support05 ul li{ font-size: 0.8rem;}
body.size03 #support05 ul li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#support05 p.lead{ }
#support05 h3{ font-size: 1.5rem; margin:10% auto 5%;}
#support05 ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#support05 ul li{ width: calc(50% - 2.5vw); margin: 1.25vw; padding: 2.5%; font-size: 0.8rem; border-radius: 1.25vw;}
}





/*faq*/
.faq footer{ margin-top: 100px;}
#faq_lead p.txt{ text-align: center;}
@media screen and (max-width:767px){
.faq footer{ margin-top: 15%;}
#faq_lead p.txt{}
}

.faq_sec{ margin: 100px auto 0;}
.faq_sec .faq_list dl{ margin-top: 10px; border: 2px solid #fff; background: #fff; border-radius: 20px; transition: 0.3s;}
.faq_sec .faq_list dl dt{ font-size: 1rem; padding: 20px 70px 20px 40px; font-weight: bold; color: #004798; position: relative; cursor: pointer;}
.faq_sec .faq_list dl dt span{ display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; position: absolute; right: 30px; top: 50%; transform: translateY(-50%);}
.faq_sec .faq_list dl dt span:before{ content: ""; width: 100%; height: 4px; background: #004798; border-radius: 4px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);}
.faq_sec .faq_list dl dt span:after{ content: ""; width: 100%; height: 4px; background: #004798; border-radius: 4px; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); transition: 0.3s;}
.faq_sec .faq_list dl.active{ border-color: #004798;}
.faq_sec .faq_list dl.active dt span:after{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0;}
.faq_sec .faq_list dl dd{ display: none; padding: 0 40px 20px;}
.faq_sec .faq_list dl dd p.txt{ margin: 0;}

.faq_sec .faq_list dl dd .btn_list{ display: flex; align-items: center; margin-top: 30px;}
.faq_sec .faq_list dl dd .btn_list figure.btn_more{ margin: 0 60px 0 0;}
.faq_sec .faq_list dl dd .btn_list figure.btn_more:last-child{ margin: 0;}

.faq_sec .faq_list dl dd .contact{ margin: 5px auto 15px;}
.faq_sec .faq_list dl dd .contact p.txt{ display: flex; align-items: center; font-size: 1rem; font-weight: bold;}
.faq_sec .faq_list dl dd .contact p.txt span{ margin-left: 1em;}
/*txt size*/
body.size01 .faq_sec .faq_list dl dt{ font-size: 0.8rem;}
body.size02 .faq_sec .faq_list dl dt{ font-size: 1rem;}
body.size03 .faq_sec .faq_list dl dt{ font-size: 1.4rem;}
body.size01 .faq_sec .faq_list dl dd .contact p.txt{ font-size: 0.8rem;}
body.size02 .faq_sec .faq_list dl dd .contact p.txt{ font-size: 1rem;}
body.size03 .faq_sec .faq_list dl dd .contact p.txt{ font-size: 1.4rem;}
@media screen and (max-width:767px){
.faq_sec{ margin: 15% auto 0;}
.faq_sec .faq_list dl{ margin-top: 2.5%; border-radius: 2.5vw;}
.faq_sec .faq_list dl dt{ font-size: 1rem; padding: 2.5vw 10vw 2.5vw 3.75vw;}
.faq_sec .faq_list dl dt span{ width: 3.75vw; height: 3.75vw; right: 3.75vw}
.faq_sec .faq_list dl dt span:before{ height: 0.75vw; border-radius: 0.75vw;}
.faq_sec .faq_list dl dt span:after{ height: 0.75vw; border-radius: 0.75vw;}
.faq_sec .faq_list dl dd{  padding: 0 3.75vw 2.5vw 3.75vw;}
.faq_sec .faq_list dl dd .btn_list{ display: block; margin-top: 5%;}
.faq_sec .faq_list dl dd .btn_list figure.btn_more{ margin: 5% 0 0; justify-content: flex-start;}
.faq_sec .faq_list dl dd .btn_list figure.btn_more:last-child{ margin: 5% 0 0;}
.faq_sec .faq_list dl dd .contact{ margin: 2.5% auto 3.75%;}
}





/*activities*/
#activity_lead p.txt{ text-align: center;}
@media screen and (max-width:767px){
#activity_lead p.txt{ }
}

#activity_list{ margin-top: 100px;}
#activity_list ul{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -20px 0 -20px -15px;}
#activity_list ul li{ width: calc(33.33% - 30px); margin: 20px 15px; padding-bottom: 40px; background: #004798; color: #fff; overflow: hidden; border-radius: 20px;}
#activity_list ul li h4{ text-align: center; font-size: 1rem; margin: 30px auto 20px;}
#activity_list ul li p.txt{  margin: 0 30px; min-height: 10em}
#activity_list figure.btn_style02{ margin: 20px 30px 0;}
#activity_list figure.btn_style02 a{ width: 100%;}
/*txt size*/
body.size01 #activity_list ul li h4{ font-size: 0.8rem;}
body.size02 #activity_list ul li h4{ font-size: 1rem;}
body.size03 #activity_list ul li h4{ font-size: 1.4rem;}
@media screen and (max-width:767px){
#activity_list{ margin-top: 15%;}
#activity_list ul{ display: block; width: 100%; margin: 0; padding: 0;}
#activity_list ul li{ width: 100%; margin: 0 auto 7.5%; padding-bottom: 7.5%; border-radius: 2.5vw;}
#activity_list ul li h4{ font-size: 1rem; margin: 5% auto;}
#activity_list ul li p.txt{  margin: 0 7.5%; min-height: 2em;}
#activity_list figure.btn_style02{ margin: 5% 7.5% 0;}
}

#activity_foreigner{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 100px 30px; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#activity_foreigner{ width: 1300px; margin: 100px auto;}
}
@media screen and (max-width:1300px){
#activity_foreigner{ width: 100%; margin: 100px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#activity_foreigner{ margin: 15% auto; padding: 15% 0; border-radius: 10vw;}
}
#activity_foreigner p.lead{ text-align: center;}
#activity_foreigner ul{ display: flex; width: calc(100% + 40px); margin: 50px 0 0 -20px;}
#activity_foreigner ul li{ width: calc(33.33% - 40px); margin: 0 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #fff; padding: 60px 20px; border-radius: 50px;}
#activity_foreigner ul li figure img{ width: 120px;}
#activity_foreigner ul li h4{ display: flex; align-items: center; justify-content: center; font-size: 1.2rem; line-height: 1.5em; min-height: 3em; color: #004798;}
/*txt size*/
body.size01 #activity_foreigner ul li h4{ font-size: 1.0rem;}
body.size02 #activity_foreigner ul li h4{ font-size: 1.2rem;}
body.size03 #activity_foreigner ul li h4{ font-size: 1.6rem;}
@media screen and (max-width:767px){
#activity_foreigner p.lead{ }
#activity_foreigner ul{ display: block; width: 100%; margin: 10% auto 0;}
#activity_foreigner ul li{ display: block; width: 100%; margin: 5% auto 0; padding: 10% 3.75%; border-radius: 2.5vw;}
#activity_foreigner ul li figure img{ width: 33.33%;}
#activity_foreigner ul li h4{ min-height: 1em; margin-top: 2.5%;}
}





/*recruitment*/
.recruitment footer{ margin-top: 100px;}
#reqruitment_lead .maincontent{ background: #E9F0F4; padding: 80px 0; border-radius: 100px;}
#reqruitment_lead h2{ text-align: center; font-size: 1.5rem; margin-bottom: 40px;}
#reqruitment_lead p.lead{ text-align: center;}
@media screen and (max-width:767px){
.recruitment footer{ margin-top: 15%;}
#reqruitment_lead .maincontent{ padding: 10% 5%; border-radius: 10vw;}
#reqruitment_lead h2{ text-align: center; font-size: 1.5rem; margin-bottom: 7.5%;}
#reqruitment_lead p.lead{}
}

#recruitment_kind{ margin-top: 100px;}
#recruitment_kind p.lead{ text-align: center;}
@media screen and (max-width:767px){
#recruitment_kind{ margin-top: 15%;}
}

.recruitement_kind{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 50px 30px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
.recruitement_kind{ width: 1300px; margin: 50px auto 0;}
}
@media screen and (max-width:1300px){
.recruitement_kind{ width: 100%; margin: 50px 0; border-radius: 0;}
}
@media screen and (max-width:767px){
.recruitement_kind{ margin: 10% auto 0; padding: 10% 0; border-radius: 10vw;}
}
.recruitement_kind h3{ text-align: center; font-size: 1.8rem; color: #004798; margin-bottom: 50px;}
.recruitement_kind .feature{ margin-bottom: 30px;}
.recruitement_kind .feature ul{ display: flex; width: calc(100% + 20px); margin-left: -10px;}
.recruitement_kind .feature ul li{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: calc(25% - 20px); margin: 0 10px; border-radius: 20px; background: #fff; padding: 30px 10px 20px; box-shadow:rgba(0, 0, 0, 0.04) 10px 10px 10px;}
.recruitement_kind .feature ul li h4{ font-size: 0.9rem; margin-bottom: 10px;}
.recruitement_kind .feature ul li p{ font-size: 0.8rem;}
/*txt size*/
body.size01 .recruitement_kind .feature ul li h4{ font-size: 0.7rem;}
body.size01 .recruitement_kind .feature ul li p{ font-size: 0.6rem;}
body.size02 .recruitement_kind .feature ul li h4{ font-size: 0.9rem;}
body.size02 .recruitement_kind .feature ul li p{ font-size: 0.8rem;}
body.size03 .recruitement_kind .feature ul li h4{ font-size: 1.3rem;}
body.size03 .recruitement_kind .feature ul li p{ font-size: 1.2rem;}

.recruitement_kind .table_wrap{ background: #fff; padding: 40px 60px; border-radius: 20px;}
.recruitement_kind .table_wrap table{ width: 100%; border-collapse: collapse; border-spacing: 0;}
.recruitement_kind .table_wrap table th{ font-size: 0.9rem; color: #004798; border-bottom: 1px solid #E2EAF2; padding: 20px 0; width: 7em;}
.recruitement_kind .table_wrap table td{ font-size: 0.8rem; border-bottom: 1px solid #E2EAF2; padding: 20px 0;}
.recruitement_kind .table_wrap table tr:last-child th,
.recruitement_kind .table_wrap table tr:last-child td{ border-bottom: none; padding-bottom: 0;}
/*txt size*/
body.size01 .recruitement_kind .table_wrap table th{ font-size: 0.7rem;}
body.size01 .recruitement_kind .table_wrap table td{ font-size: 0.6rem;}
body.size02 .recruitement_kind .table_wrap table th{ font-size: 0.9rem;}
body.size02 .recruitement_kind .table_wrap table td{ font-size: 0.8rem;}
body.size03 .recruitement_kind .table_wrap table th{ font-size: 1.2rem;}
body.size03 .recruitement_kind .table_wrap table td{ font-size: 1.0rem;}
@media screen and (max-width:767px){
.recruitement_kind h3{ font-size: 1.6rem; margin-bottom: 7.5%;}
.recruitement_kind h3 span{ font-size: 75%;}
.recruitement_kind .feature{ margin-bottom: 7.5%;}
.recruitement_kind .feature ul{ flex-wrap: wrap; width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
.recruitement_kind .feature ul li{ width: calc(50% - 2.5vw); margin: 1.25vw; border-radius: 2.5vw; padding: 3.75%;}
.recruitement_kind .feature ul li h4{ font-size: 0.9rem; margin-bottom: 3.75%;}
.recruitement_kind .feature ul li p{ font-size: 0.8rem; line-height: 1.5em;}

.recruitement_kind .table_wrap{ padding: 3.75% 5%; border-radius: 2.5vw;}
.recruitement_kind .table_wrap table th{ display: block; width: 100%; border-bottom: none; padding: 2.5vw 0 0;}
.recruitement_kind .table_wrap table td{ display: block; width: 100%; border-bottom: 1px solid #E2EAF2; padding: 1.25vw 0 2.5vw;}
}

#recruitment_flow{ margin-top: 100px;}
#recruitment_flow p.lead{ text-align: center;}

#recruitment_flow .flow{ width: 730px; margin: 50px auto;}
#recruitment_flow .flow ul{ position: relative; z-index: 1;}
#recruitment_flow .flow ul:after{ content: ""; width: 0; height: 90%; border-left: 4px dotted #004798; position: absolute; left: 60px; top: 50%; transform: translateY(-50%); z-index: -1;}
#recruitment_flow .flow ul li{ margin: 70px auto 0;}
#recruitment_flow .flow ul li:first-child{ margin-top: 0;}
#recruitment_flow .flow ul li dl{ display: flex; align-items: center; justify-content: space-between;}
#recruitment_flow .flow ul li dl dt{ width: 120px; margin-right: 40px;}
#recruitment_flow .flow ul li dl dd{ width: calc(100% - 160px);}
#recruitment_flow .flow ul li .num{ display: flex; align-items: center; justify-content: center; width: 120px; height: 120px; background: #fff; border: 2px solid #004798; font-size: 2.5rem; font-weight: bold; color: #004798; border-radius: 50%; margin: 0;}
#recruitment_flow .flow ul li h4{ color: #004798; font-size: 1.3rem; margin-bottom: 10px;}
#recruitment_flow .flow ul li p{ font-size: 0.75rem; line-height: 1.5em;}
/*txt size*/
body.size01 #recruitment_flow .flow ul li h4{ font-size: 1.1rem;}
body.size01 #recruitment_flow .flow ul li p{ font-size: 0.55rem;}
body.size02 #recruitment_flow .flow ul li h4{ font-size: 1.3rem;}
body.size02 #recruitment_flow .flow ul li p{ font-size: 0.75rem;}
body.size03 #recruitment_flow .flow ul li h4{ font-size: 1.7rem;}
body.size03 #recruitment_flow .flow ul li p{ font-size: 1.1rem;}

#recruitment_flow .point{ width: 880px; margin: 50px auto 0; padding: 40px 20px; background: #E9F0F4; border-radius: 40px;}
#recruitment_flow .point dl{ display: flex; align-items: center; justify-content: center;}
#recruitment_flow .point dl dt{ font-size: 1.2rem; font-weight: bold;}
#recruitment_flow .point dl dd{ margin-left: 40px;}
#recruitment_flow .point dl dd p.txt{ line-height: 1.5em;}
@media screen and (max-width:767px){
#recruitment_flow{ margin-top: 15%;}

#recruitment_flow .flow{ width: 100%; margin: 7.5% auto;}
#recruitment_flow .flow ul:after{ left: 12.5vw;}
#recruitment_flow .flow ul li{ margin: 10% auto;}
#recruitment_flow .flow ul li dl dt{ width: 25vw; margin: 0;}
#recruitment_flow .flow ul li dl dd{ width: calc(100% - 30vw);}
#recruitment_flow .flow ul li .num{ width: 25vw; height: 25vw; font-size: 2.5rem; margin: 0;}
#recruitment_flow .flow ul li h4{ font-size: 1.3rem; margin-bottom: 2.5%;}
#recruitment_flow .flow ul li p{ font-size: 0.75rem;}

#recruitment_flow .point{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#recruitment_flow .point dl{ display: block;}
#recruitment_flow .point dl dt{ font-size: 1.2rem;}
#recruitment_flow .point dl dd{ margin: 2.5% auto 0;}
}





/*contact*/
#contact_lead{ margin-bottom: 100px;}
#contact_lead .contact_list{ display: flex; width: calc(100% + 30px); margin-left: -15px;}
#contact_lead .contact_list .contact_kind{ display: flex; flex-direction: column; width: 33.33%; margin: 0 auto;}
#contact_lead .contact_list .contact_kind h4{ font-size: 0.9rem; padding: 0.75em; display: flex; align-items: center; justify-content: center; background: #004798; color: #fff; border-radius: 8px;}
#contact_lead .contact_list .contact_kind .cont{ background: #fff; height: 100%; padding: 24px; border-radius: 8px; box-shadow:rgba(0, 0, 0, 0.1) 10px 10px 20px;}
#contact_lead .contact_list .contact_kind .cont .table_wrap table{ border-collapse: separate; border-spacing: 1em 0.5em; font-size: 1rem; margin: -0.5em auto;}
#contact_lead .contact_list .contact_kind .cont .table_wrap table th{ text-align: right;}
#contact_lead .contact_list .contact_kind .cont .table_wrap table td{ font-weight: bold; color: #004798;}
#contact_lead .contact_list .contact_kind .cont ul{ background: #FAFAFA; border-radius: 6px; padding: 20px; margin-top: 20px;}
#contact_lead .contact_list .contact_kind .cont ul li{ font-size: 0.75rem; line-height: 1.5em; margin-bottom: 0.5em; padding-left: 15px; position: relative;}
#contact_lead .contact_list .contact_kind .cont ul li:last-child{ margin-bottom: 0;}
#contact_lead .contact_list .contact_kind .cont ul li:before{ content: ""; width: 5px; height: 5px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.66em;}
#contact_lead p.txt{ text-align: center; margin-top: 50px;}
/*txt size*/
body.size01 #contact_lead .contact_list .contact_kind h4{ font-size: 0.7rem;}
body.size01 #contact_lead .contact_list .contact_kind .cont .table_wrap table{ font-size: 0.8rem;}
body.size01 #contact_lead .contact_list .contact_kind .cont ul li{ font-size: 0.55rem;}
body.size02 #contact_lead .contact_list .contact_kind h4{ font-size: 0.9rem;}
body.size02 #contact_lead .contact_list .contact_kind .cont .table_wrap table{ font-size: 1rem;}
body.size02 #contact_lead .contact_list .contact_kind .cont ul li{ font-size: 0.75rem;}
body.size03 #contact_lead .contact_list .contact_kind h4{ font-size: 1.3rem;}
body.size03 #contact_lead .contact_list .contact_kind .cont .table_wrap table{ font-size: 1.4rem;}
body.size03 #contact_lead .contact_list .contact_kind .cont ul li{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#contact_lead{ margin-bottom: 15%;}
#contact_lead .contact_list{ display: block; width: 100%; margin: 0;}
#contact_lead .contact_list .contact_kind{ width: 100%; margin: 5% auto 0;}
#contact_lead .contact_list .contact_kind:first-child{ margin-top: 0;}
#contact_lead .contact_list .contact_kind h4{ font-size: 0.9rem; border-radius: 1.25vw;}
#contact_lead .contact_list .contact_kind .cont{ padding: 3.75%; border-radius: 1.25vw;}
#contact_lead .contact_list .contact_kind .cont .table_wrap table{ border-collapse: separate; border-spacing: 1em 0.5em; font-size: 1rem;}
#contact_lead .contact_list .contact_kind .cont ul{ border-radius: 1.25vw; padding: 3.75%; margin-top: 3.75%;}
#contact_lead .contact_list .contact_kind .cont ul li{ font-size: 0.75rem; padding-left: 3.75vw;}
#contact_lead .contact_list .contact_kind .cont ul li:before{ width: 1.25vw; height: 1.25vw;}
#contact_lead p.txt{ text-align: center; margin-top: 10%;}
}

#contact_form{ background: #E2EAF2; border-radius: 0 100px 100px 0; width: calc(100% - 30px); margin: 0 30px 0 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1330px){
#contact_form{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#contact_form{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#contact_form{ margin-bottom: 0; padding: 15% 0; border-radius: 0 10vw 10vw 0;}
}
#contact_form p.lead{ text-align: center;}
#contact_form form{ margin-top: 50px;}
#contact_form form input,
#contact_form form textarea,
#contact_form form select{ border: none; border-radius: 10px; font-size: 0.8rem; padding: 1em;}
#contact_form form input[type=checkbox]{ width: auto; padding: 0; border-radius: 0; margin-right: 0.5em;}
#contact_form form label{ cursor: pointer;}
#contact_form form label input{ cursor: pointer;}
#contact_form form select{ cursor: pointer;}
#contact_form .form_sec{ background: #E2EAF2; padding: 0 150px; margin-top: 30px; border-radius: 30px;}
#contact_form .form_sec dl{ margin-top: 40px;}
#contact_form .form_sec dl dt{ font-size: 0.9rem; font-weight: bold; margin-bottom: 10px;}
#contact_form .form_sec dl dt span.req{ margin: 0 0 0 1em; display: inline-block; font-size: 0.6rem; padding: 0.125em 0.5em 0.25em; background: #D50A22; color: #fff; border-radius: 2px; position: relative; top: -0.125em;}
#contact_form .pv_check{ text-align: center; margin: 50px auto; font-size: 0.8rem;}
#contact_form .pv_check a{ color: #004798; text-decoration: underline;}
#contact_form .pv_check a:hover{ text-decoration: none;}
#contact_form .submit_btn button{ display: flex; align-items: center; justify-content: center; width: 320px; height: 60px; border-radius: 60px; background: #004798; color: #fff; margin: 50px auto 0; font-size: 0.8rem; font-weight: bold; cursor: pointer; transition: 0.3s; position: relative;}
#contact_form .submit_btn button i{ display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; background: #004798; color: #fff; border: 1px solid #fff; border-radius: 50%; font-size: 0.6rem; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
#contact_form .submit_btn button:hover i{ background: #fff; color: #004798; transform: translateY(-50%) rotate(-45deg);}
#contact_form .form_sec .select_wrap{ cursor: pointer; position: relative;}
#contact_form .form_sec .select_wrap:after{ font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
#contact_form .form_sec .calender_wrap{ position: relative;}
#contact_form .form_sec .calender_wrap i{ position: absolute; right: 1em; top: 50%; transform: translateY(-50%); pointer-events: none;}
/*txt size*/
body.size01 #contact_form form input,
body.size01 #contact_form form select,
body.size01 #contact_form form textarea{ font-size: 0.6rem;}
body.size01 #contact_form .pv_check{ font-size: 0.6rem;}
body.size01 #contact_form .submit_btn button{ font-size: 0.6rem;}
body.size02 #contact_form form input,
body.size02 #contact_form form select,
body.size02 #contact_form form textarea{ font-size: 0.8rem;}
body.size02 #contact_form .pv_check{ font-size: 0.8rem;}
body.size02 #contact_form .submit_btn button{ font-size: 0.8rem;}
body.size03 #contact_form form input,
body.size03 #contact_form form select,
body.size03 #contact_form form textarea{ font-size: 1.2rem;}
body.size03 #contact_form .pv_check{ font-size: 1.2rem;}
body.size03 #contact_form .submit_btn button{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#contact_form p.lead{ }
#contact_form form{ margin-top: 10%;}
#contact_form form input,
#contact_form form textarea{ border-radius: 1.25vw; font-size: 0.8rem;}
#contact_form .form_sec{ padding: 0 5%; margin-top: 5%; border-radius: 2.5vw;}
#contact_form .form_sec dl{ margin-top: 5%;}
#contact_form .form_sec dl dt{ font-size: 0.9rem; margin-bottom: 1.25%;}
#contact_form .form_sec dl dt span.req{ font-size: 0.6rem; top: -0.125em;}
#contact_form .form_sec .calender_wrap i{ right: 0.75em;}
#contact_form .pv_check{ margin: 7.5% auto;}
#contact_form .submit_btn button{ margin-top: 7.5%; width: 88%; height: 12.5vw; border-radius: 15vw;}
#contact_form .submit_btn button i{ width: 7.5vw; height: 7.5vw; right: 2.5vw;}
}





/*access*/
#access{ background: #EAF2FA; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#access{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#access{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#access{ margin-bottom: 0; padding: 15% 0; border-radius: 10vw;}
}
#access table{ width: 980px; margin: 0 auto; border-collapse: separate; border-spacing: 0 4px;}
#access table th{ background: #004798; color: #fff; text-align: center; vertical-align: middle; padding: 16px; border-radius: 10px 0 0 10px; font-size: 0.9rem;}
#access table td{ background: #fff; vertical-align: middle; padding: 20px 24px; border-radius: 0 10px 10px 0; font-size: 0.8rem; font-weight: bold;}
#access table td p{ line-height: 1.5em;}
#access table td p.sofia{ font-size: 1rem;}
#access table td p.sofia a{ color: #004798; margin: 0 0.25em;}
#access table td p.sofia small{ font-size: 0.8rem;}
#access figure.gmap{ width: 980px; margin: 60px auto 0;}
#access figure.gmap iframe{ width: 100%; height: 600px;}
/*txt size*/
body.size01 #access table th{ font-size: 0.7rem;}
body.size01 #access table td{ font-size: 0.6rem;}
body.size01 #access table td p.sofia{ font-size: 0.8rem;}
body.size01 #access table td p.sofia small{ font-size: 0.6rem;}
body.size02 #access table th{ font-size: 0.9rem;}
body.size02 #access table td{ font-size: 0.8rem;}
body.size02 #access table td p.sofia{ font-size: 1rem;}
body.size02 #access table td p.sofia small{ font-size: 0.8rem;}
body.size03 #access table th{ font-size: 1.3rem;}
body.size03 #access table td{ font-size: 1.2rem;}
body.size03 #access table td p.sofia{ font-size: 1.4rem;}
body.size03 #access table td p.sofia small{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#access table{ width: 100%; border-spacing: 0 1.25vw;}
#access table th{ display: block; width: 100%; padding: 2.5vw 3.75vw; border-radius: 1.25vw 1.25vw 0 0; font-size: 0.9rem;}
#access table td{ display: block; width: 100%; padding: 3.75vw; border-radius: 0 0 1.25vw 1.25vw; font-size: 0.8rem;}
#access table td p.sofia{ font-size: 1rem;}
#access table td p.sofia small{ font-size: 0.8rem;}
#access figure.gmap{ width: 100%; margin: 10% auto 0;}
#access figure.gmap iframe{ width: 100%; height: 66.66vw;}
}





/*pv*/
#pv_lead{ margin-bottom: 50px;}
#pv_lead .lead{ text-align: center;}
@media screen and (max-width:767px){
#pv_lead{ margin-bottom: 10%;}
#pv_lead .lead{ }
}

#pv .maincontent{ background: #fff; padding: 80px; border-radius: 100px;}
#pv dl{ margin-top: 40px;}
#pv dl:first-child{ margin-top: 0;}
#pv dl dt{ margin-bottom: 10px;}
#pv dl dt h4{ padding-left: 50px; font-size: 1.2rem; position: relative;}
#pv dl dt h4 span{ font-size: 2.5rem; color: #004798; font-weight: bold; line-height: 1em; position: absolute; left: 0; top: -0.33em;} 
#pv dl dd{ padding-left: 50px;}
#pv dl dd p{ font-size: 0.9rem; line-height: 1.5em; }
/*txt size*/
body.size01 #pv dl dd p{ font-size: 0.7rem;}
body.size02 #pv dl dd p{ font-size: 0.9rem;}
body.size03 #pv dl dd p{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#pv .maincontent{ width: 100%; padding: 12% 6% 8%; border-radius: 10vw;}
#pv dl{ margin-top: 7.5%;}
#pv dl:first-child{ margin-top: 0;}
#pv dl dt{ margin-bottom: 2.5%;}
#pv dl dt h4{ padding-left: 10vw; font-size: 1.2rem;}
#pv dl dt h4 span{ font-size: 2.5rem; top: -0.33em;} 
#pv dl dd{ padding-left: 10vw;}
#pv dl dd p{ font-size: 0.9rem;}
}

#pv .info{ margin-top: 60px; background: #EAF2FA; padding: 30px; border-radius: 20px;}
#pv .info dl{ display: flex; justify-content: center;}
#pv .info dl dt{ width: 240px; font-size: 1.2rem; font-weight: bold;}
#pv .info dl dd{ padding: 0;}
#pv .info dl dd h3{ font-size: 1rem; line-height: 1.5em; margin-bottom: 10px;}
#pv .info dl dd p{ font-size: 0.8rem; line-height: 1.75em; font-weight: bold; margin: 0;}
#pv .info dl dd p a{ display: inline-block; color: #004798;}
/*txt size*/
body.size01 #pv .info dl dt{ font-size: 1.0rem;}
body.size01 #pv .info dl dd h3{ font-size: 0.8rem;}
body.size01 #pv .info dl dd p{ font-size: 0.6rem;}
body.size02 #pv .info dl dt{ font-size: 1.2rem;}
body.size02 #pv .info dl dd h3{ font-size: 1.0rem;}
body.size02 #pv .info dl dd p{ font-size: 0.8rem;}
body.size03 #pv .info dl dt{ font-size: 1.6rem;}
body.size03 #pv .info dl dd h3{ font-size: 1.4rem;}
body.size03 #pv .info dl dd p{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#pv .info{ margin-top: 5%; padding: 3.75%; border-radius: 2.5vw;}
#pv .info dl{ display: block;}
#pv .info dl dt{ width: 100%; font-size: 1.2rem; margin-bottom: 2.5%;}
#pv .info dl dd p{ font-size: 1rem;}
#pv .info dl dd p.att{ font-size: 0.65rem;}
}





/*sitemap*/
#sitemap{ background: #fff; border-radius: 100px; width: calc(100% - 60px); margin: 0 30px 0; padding: 80px 0; transition: 0.3s;}
@media screen and (max-width:1360px){
#sitemap{ width: 1300px; margin: 0 auto 0;}
}
@media screen and (max-width:1300px){
#sitemap{ width: 100%; margin: 0 0 0; border-radius: 0;}
}
@media screen and (max-width:767px){
#sitemap{ margin-bottom: 0; padding: 15% 0; border-radius: 10vw;}
}
#sitemap .sitemap_wrap{ display: flex; flex-wrap: wrap; margin: -50px 0;}
#sitemap .sitemap_wrap .sitemap_box{ width: calc(33.33%); margin: 50px 0;}
#sitemap .sitemap_wrap .sitemap_box dl dt{ margin-bottom: 20px; padding-left: 20px; font-size: 1.2rem; font-weight: bold; color: #004798; position: relative;}
#sitemap .sitemap_wrap .sitemap_box dl dt:before{ content: ""; width: 8px; height: 8px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.66em;}
#sitemap .sitemap_wrap .sitemap_box dl dd ul{ font-size: 0.9rem;}
#sitemap .sitemap_wrap .sitemap_box dl dd ul li{ margin-top: 1em;}
#sitemap .sitemap_wrap .sitemap_box a:hover{ color: #004798; text-decoration: underline;}
/*txt size*/
body.size01 #sitemap .sitemap_wrap .sitemap_box dl dt{ font-size: 1.0rem;}
body.size01 #sitemap .sitemap_wrap .sitemap_box dl dd ul{ font-size: 0.7rem;}
body.size02 #sitemap .sitemap_wrap .sitemap_box dl dt{ font-size: 1.2rem;}
body.size02 #sitemap .sitemap_wrap .sitemap_box dl dd ul{ font-size: 0.9rem;}
body.size03 #sitemap .sitemap_wrap .sitemap_box dl dt{ font-size: 1.6rem;}
body.size03 #sitemap .sitemap_wrap .sitemap_box dl dd ul{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#sitemap .sitemap_wrap{ display: block; margin: 0;}
#sitemap .sitemap_wrap .sitemap_box{ width: 100%; margin-bottom: 7.5%;}
#sitemap .sitemap_wrap .sitemap_box:last-child{ margin-bottom: 0;}
#sitemap .sitemap_wrap .sitemap_box dl dt{ margin-bottom: 2.5%; padding-left: 3.75vw; font-size: 1.2rem;}
#sitemap .sitemap_wrap .sitemap_box dl dt:before{ width: 1.875vw; height: 1.875vw; top: 0.6em;}
#sitemap .sitemap_wrap .sitemap_box dl dd ul{ font-size: 0.9rem;}
}














/*topics*/
/*archive*/
#topics_archive h2{ display: flex; align-items: flex-end; color: #004798; padding-top: 10px; margin-bottom: 50px; position: relative;}
#topics_archive h2:before{ content: ""; width: 17px; height: 10px; background: url("../images/tit_ico.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: 0;}
#topics_archive h2 strong{ font-size: 3rem; line-height: 1em;}
#topics_archive h2 span{ font-size: 1.2rem; line-height: 1em; margin-left: 1em;}
@media screen and (max-width:767px){
#topics_archive h2{ padding-top: 3.75vw; margin-bottom: 10%;}
#topics_archive h2:before{ width: 3.4vw; height: 2vw;}
#topics_archive h2 strong{ font-size: 3rem;}
#topics_archive h2 span{ font-size: 1.2rem;}
}

#topics_archive_years{ margin: 50px auto; background: #E2EAF2; display: flex; padding: 20px 80px; border-radius: 20px;}
#topics_archive_years h3{ width: 210px; font-size: 1.5rem; color: #004798; margin-top: 1em;}
#topics_archive_years nav{ flex: 1;}
#topics_archive_years nav ul{ display: flex; flex-wrap: wrap; margin: -4px 0; font-size: 1.1rem; height: calc(4em + 12px); overflow: hidden;}
#topics_archive_years nav ul li{ width: calc(16.66% - 8px); margin: 4px;}
#topics_archive_years nav ul li a{ display: flex; align-items: center; justify-content: center; background: #fff; color: #004798; width: 100%; padding: 0.5em; border-radius: 8px; line-height: 1em; font-weight: bold; transition: 0.3s;}
#topics_archive_years nav ul li a.active,
#topics_archive_years nav ul li a:hover{ background: #004798; color: #fff;}
#topics_archive_years nav figure.btn{ margin-top: 16px; display: flex; align-items: center; justify-content: center;}
#topics_archive_years nav figure.btn strong{ width: 350px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; border: 1px solid #004798; color: #004798; cursor: pointer; transition: 0.3s;}
#topics_archive_years nav figure.btn strong:before{ content: "全てを表示";}
#topics_archive_years nav figure.btn strong span{ display: flex; align-items: center; justify-content: center; width: 12px; height: 12px; margin-left: 8px; position: relative; top: 0.05em;}
#topics_archive_years nav figure.btn strong span:before{ content: ""; width: 100%; height: 2px; background: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#topics_archive_years nav figure.btn strong span:after{ content: ""; width: 100%; height: 2px; background: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); transition: 0.3s;}
#topics_archive_years nav figure.btn strong:hover{ background: #004798; color: #fff;}
#topics_archive_years nav figure.btn strong:hover span:before{ background: #fff;}
#topics_archive_years nav figure.btn strong:hover span:after{ background: #fff;}
#topics_archive_years nav.active ul{ height: auto;}
#topics_archive_years nav.active figure.btn strong:before{ content: "表示を減らす";}
#topics_archive_years nav.active figure.btn strong span:after{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0;}
@media screen and (max-width:767px){
#topics_archive_years{ margin: 10% auto; padding: 3.75% 2.5% 2.5%; display: block; border-radius: 2.5vw;}
#topics_archive_years h3{ width: 100%; font-size: 1.5rem; text-align: center; margin: 0 auto 3.75%;}
#topics_archive_years nav ul{ margin: -0.75vw 0; font-size: 1.1rem; height: calc(8em + 5.25vw);}
#topics_archive_years nav ul li{ width: calc(33.33% - 1.5vw); margin: 0.75vw;}
#topics_archive_years nav ul li a{ border-radius: 1.25vw;}
#topics_archive_years nav figure.btn{ margin-top: 3.75%;}
#topics_archive_years nav figure.btn strong{ width:100%; height: 10vw; border-radius: 1.25vw;}
#topics_archive_years nav figure.btn strong span{ width: 2.5vw; height: 2.5vw; margin-left: 2.5vw;}
}


#topics_archive #topics_pickup ul{ width: calc(100% + 50px); margin-left: -25px; display: flex;}
#topics_archive #topics_pickup ul li{ width: calc(50% - 50px); margin: 0 25px;}
#topics_archive #topics_pickup ul li a{ display: flex; flex-direction: column; transition: 0.3s;}
#topics_archive #topics_pickup ul li figure{ margin-bottom: 20px; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.16) 10px 10px 20px; overflow: hidden;}
#topics_archive #topics_pickup ul li figure img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: 0.3s;}
#topics_archive #topics_pickup ul li .date{ font-size: 0.8rem; font-weight: bold; margin-bottom: 15px;}
#topics_archive #topics_pickup ul li h4{ font-size: 1.2rem; line-height: 1.5em;}
#topics_archive #topics_pickup ul li a:hover{ opacity: 0.7;}
#topics_archive #topics_pickup ul li a:hover figure img{ transform: scale(1.1);}
/*txt size*/
body.size01 #topics_archive #topics_pickup ul li .date{ font-size: 0.6rem;}
body.size01 #topics_archive #topics_pickup ul li h4{ font-size: 1.0rem;}
body.size02 #topics_archive #topics_pickup ul li .date{ font-size: 0.8rem;}
body.size02 #topics_archive #topics_pickup ul li h4{ font-size: 1.2rem;}
body.size03 #topics_archive #topics_pickup ul li .date{ font-size: 1.2rem;}
body.size03 #topics_archive #topics_pickup ul li h4{ font-size: 1.6rem;}
@media screen and (max-width:767px){
#topics_archive #topics_pickup ul{ width:100%; margin: 0; display: block;}
#topics_archive #topics_pickup ul li{ width: 100%; margin: 7.5% auto 0;}
#topics_archive #topics_pickup ul li figure{ margin-bottom: 3.75%;}
#topics_archive #topics_pickup ul li figure img{ border-radius: 2.5vw;}
#topics_archive #topics_pickup ul li .date{ font-size: 0.8rem; margin-bottom: 2.5%;}
#topics_archive #topics_pickup ul li h4{ font-size: 1.2rem;}
/*txt size*/
body.size01 #topics_archive #topics_pickup ul li .date{ font-size: 0.6rem;}
body.size01 #topics_archive #topics_pickup ul li h4{ font-size: 1.0rem;}
body.size02 #topics_archive #topics_pickup ul li .date{ font-size: 0.8rem;}
body.size02 #topics_archive #topics_pickup ul li h4{ font-size: 1.2rem;}
body.size03 #topics_archive #topics_pickup ul li .date{ font-size: 1.2rem;}
body.size03 #topics_archive #topics_pickup ul li h4{ font-size: 1.6rem;}
}

#topics_archive #topics_list{ margin-top: 100px;}
#topics_archive #topics_list ul{ width: calc(100% + 30px); margin: -15px 0 -15px -15px; display: flex; flex-wrap: wrap;}
#topics_archive #topics_list ul li{ width: calc(33.33% - 30px); margin: 15px;}
#topics_archive #topics_list ul li a{ display: flex; flex-direction: column; transition: 0.3s;}
#topics_archive #topics_list ul li figure{ margin-bottom: 10px; border-radius: 20px; overflow: hidden;}
#topics_archive #topics_list ul li figure img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: 0.3s;}
#topics_archive #topics_list ul li .date{ font-size: 0.8rem; font-weight: bold; margin-bottom: 10px;}
#topics_archive #topics_list ul li h4{ font-size: 1rem; line-height: 1.5em;}
#topics_archive #topics_list ul li a:hover{ opacity: 0.7;}
#topics_archive #topics_list ul li a:hover figure img{ transform: scale(1.1);}
/*txt size*/
body.size01 #topics_archive #topics_list ul li .date{ font-size: 0.6rem;}
body.size01 #topics_archive #topics_list ul li h4{ font-size: 0.8rem;}
body.size02 #topics_archive #topics_list ul li .date{ font-size: 0.8rem;}
body.size02 #topics_archive #topics_list ul li h4{ font-size: 1rem;}
body.size03 #topics_archive #topics_list ul li .date{ font-size: 1.2rem;}
body.size03 #topics_archive #topics_list ul li h4{ font-size: 1.4rem;}
@media screen and (max-width:767px){
#topics_archive #topics_list{ margin-top: 20%;}
#topics_archive #topics_list ul{ width: calc(100% + 3.75vw); margin: -2.5vw 0 -1.875vw -1.875vw;}
#topics_archive #topics_list ul li{ width: calc(50% - 3.75vw); margin: 2.5vw 1.875vw;}
#topics_archive #topics_list ul li figure{ margin-bottom: 3.75%;}
#topics_archive #topics_list ul li figure img{ border-radius: 2.5vw;}
#topics_archive #topics_list ul li .date{ font-size: 0.75rem; margin-bottom: 2.5%;}
#topics_archive #topics_list ul li h4{ font-size: 0.9rem;}
/*txt size*/
body.size01 #topics_archive #topics_list ul li .date{ font-size: 0.55rem;}
body.size01 #topics_archive #topics_list ul li h4{ font-size: 0.7rem;}
body.size02 #topics_archive #topics_list ul li .date{ font-size: 0.75rem;}
body.size02 #topics_archive #topics_list ul li h4{ font-size: 0.9rem;}
body.size03 #topics_archive #topics_list ul li .date{ font-size: 1.1rem;}
body.size03 #topics_archive #topics_list ul li h4{ font-size: 1.3rem;}
}



/*post*/
#topics_post .maincontent{ background: #fff; padding: 80px 185px; border-radius: 100px; position: relative;}
#topics_post .share{ position: absolute; left: 80px; top: 80px;}
#topics_post .share dl{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
#topics_post .share dl dt{ writing-mode: vertical-rl; font-size: 1rem; font-weight: bold;}
#topics_post .share dl dd{ display: flex; flex-direction: column; align-items: center; justify-content: center;}
#topics_post .share dl dd a{ font-size: 1rem; margin-top: 1em; line-height: 1em;}
#topics_post figure.mv_img{ margin: 30px auto;}
#topics_post figure.mv_img img{ border-radius: 20px; width: 100%; aspect-ratio: 3 / 2; object-fit: cover;}
#topics_post span.date{ display: block; font-size: 0.8rem; font-weight: bold; margin-bottom: 20px;}
#topics_post h1{ font-size: 2rem; margin-bottom: 30px;}
#topics_post h2{ font-size: 1.8rem; margin-bottom: 30px;}
#topics_post h3{ font-size: 1.5rem; margin-bottom: 30px;}
#topics_post h4{ font-size: 1.3rem; margin-bottom: 30px;}
#topics_post p.txt{ margin: 30px auto;}
#topics_post p a{ color: #004798; text-decoration: underline;}
#topics_post p a:hover{ text-decoration: none;}
#topics_post .list ul{ font-size: 0.8rem; line-height: 1.75em;}
#topics_post .list ul li{ margin-bottom: 0.5em; padding-left: 1.5em; position: relative;}
#topics_post .list ul li:last-child{ margin-bottom: 0;}
#topics_post .list ul li:before{ content: ""; width: 0.5em; height: 0.5em; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.75em; line-height: 1.75em;}
#topics_post .box{ background: #EAF2FA; padding: 30px; margin: 30px auto; border-radius: 20px;}
#topics_post .box p.txt{ margin: 0 auto 1em;}
#topics_post .box p.txt:last-child{ margin-bottom: 0;}
#topics_post .inc{ background: #F7F7F7; border-left: 4px solid #004798; padding: 30px; margin: 30px auto; border-radius: 0 20px 20px 0;}
#topics_post .inc p.txt{ margin: 0 auto 1em;}
#topics_post .inc p.txt:last-child{ margin-bottom: 0;}
#topics_post .inc p.txt.min{ font-size: 0.7rem;}
/*txt size*/
body.size01 #topics_post span.date{ font-size: 0.6rem;}
body.size01 #topics_post h1{ font-size: 1.5rem;}
body.size01 #topics_post h2{ font-size: 1.4rem;}
body.size01 #topics_post h3{ font-size: 1.25rem;}
body.size01 #topics_post h4{ font-size: 1.1rem;}
body.size01 #topics_post .inc p.txt.min{ font-size: 0.5rem;}
body.size02 #topics_post span.date{ font-size: 0.8rem;}
body.size02 #topics_post h1{ font-size: 2rem;}
body.size02 #topics_post h2{ font-size: 1.8rem;}
body.size02 #topics_post h3{ font-size: 1.5rem;}
body.size02 #topics_post h4{ font-size: 1.3rem;}
body.size02 #topics_post .inc p.txt.min{ font-size: 0.7rem;}
body.size03 #topics_post span.date{ font-size: 1.2rem;}
body.size03 #topics_post h1{ font-size: 2.5rem;}
body.size03 #topics_post h2{ font-size: 2.25rem;}
body.size03 #topics_post h3{ font-size: 2rem;}
body.size03 #topics_post h4{ font-size: 1.7rem;}
body.size03 #topics_post .inc p.txt.min{ font-size: 1.0rem;}
@media screen and (max-width:767px){
#topics_post .maincontent{ width: 92.5%; padding: 7.5% 3.75%; border-radius: 10vw;}
#topics_post .share{ position: static; margin-bottom: 7.5%;}
#topics_post .share dl{ flex-direction: row;} 
#topics_post .share dl dt{ writing-mode: inherit; font-size: 1rem;}
#topics_post .share dl dd{ flex-direction: row;} 
#topics_post .share dl dd a{ font-size: 1rem; margin: 0 0 0 1em;}
#topics_post figure.mv_img{ margin: 5% auto;}
#topics_post figure.mv_img img{ border-radius: 2.5vw;}
#topics_post span.date{ font-size: 0.8rem; margin-bottom: 3.75%;}
#topics_post h1{ font-size: 2rem; margin-bottom: 5%;}
#topics_post h2{ font-size: 1.8rem; margin-bottom: 5%;}
#topics_post h3{ font-size: 1.5rem; margin-bottom: 5%;}
#topics_post h4{ font-size: 1.3rem; margin-bottom: 5%;}
#topics_post p.txt{ margin: 5% auto;}
#topics_post .list ul{ font-size: 0.8rem;}
#topics_post .box{ padding: 5%; margin: 5% auto; border-radius: 2.5vw;}
#topics_post .inc{ padding: 5%; margin: 5% auto; border-radius: 0 2.5vw 2.5vw 0;}
}





/*press*/
/*archive*/
#press_archive p.lead{ text-align: center;}
#press_archive .news{ margin-top: 50px; border: 2px solid #004798; background: #fff; padding: 20px; border-radius: 20px;}
#press_archive .news dl{ display: flex; align-items: center; justify-content: center;}
#press_archive .news dl dt{ width: 210px; text-align: center; font-size: 0.8rem; color: #004798; font-weight: bold;}
#press_archive .news dl dd{ width: calc(100% - 210px);}
#press_archive .news dl dd p{ font-size: 0.75rem; }
/*txt size*/
body.size01 #press_archive .news dl dt{ font-size: 0.6rem;}
body.size01 #press_archive .news dl dd p{ font-size: 0.55rem;}
body.size02 #press_archive .news dl dt{ font-size: 0.8rem;}
body.size02 #press_archive .news dl dd p{ font-size: 0.75rem;}
body.size03 #press_archive .news dl dt{ font-size: 1.2rem;}
body.size03 #press_archive .news dl dd p{ font-size: 1.1rem;}
@media screen and (max-width:767px){
#press_archive p.lead{ }
#press_archive .news{ margin-top: 10%; padding: 5% 5%; border-radius: 2.5vw;}
#press_archive .news dl{ display: block}
#press_archive .news dl dt{ width: 100%; font-size: 0.9rem; margin-bottom: 3.75%}
#press_archive .news dl dd{ width: 100%;}
#press_archive .news dl dd p{ font-size: 0.8rem;}
/*txt size*/
body.size01 #press_archive .news dl dt{ font-size: 0.7rem;}
body.size01 #press_archive .news dl dd p{ font-size: 0.6rem;}
body.size02 #press_archive .news dl dt{ font-size: 0.9rem;}
body.size02 #press_archive .news dl dd p{ font-size: 0.8rem;}
body.size03 #press_archive .news dl dt{ font-size: 1.3rem;}
body.size03 #press_archive .news dl dd p{ font-size: 1.2rem;}
}

#press_archive_years{ margin: 50px auto; background: #E2EAF2; display: flex; padding: 20px 80px; border-radius: 20px;}
#press_archive_years h3{ width: 210px; font-size: 1.5rem; color: #004798; margin-top: 1em;}
#press_archive_years nav{ flex: 1;}
#press_archive_years nav ul{ display: flex; flex-wrap: wrap; margin: -4px 0; font-size: 1.1rem; height: calc(4em + 12px); overflow: hidden;}
#press_archive_years nav ul li{ width: calc(16.66% - 8px); margin: 4px;}
#press_archive_years nav ul li a{ display: flex; align-items: center; justify-content: center; background: #fff; color: #004798; width: 100%; padding: 0.5em; border-radius: 8px; line-height: 1em; font-weight: bold; transition: 0.3s;}
#press_archive_years nav ul li a.active,
#press_archive_years nav ul li a:hover{ background: #004798; color: #fff;}
#press_archive_years nav figure.btn{ margin-top: 16px; display: flex; align-items: center; justify-content: center;}
#press_archive_years nav figure.btn strong{ width: 350px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; border: 1px solid #004798; color: #004798; cursor: pointer; transition: 0.3s;}
#press_archive_years nav figure.btn strong:before{ content: "Show All";}
#press_archive_years nav figure.btn strong span{ display: flex; align-items: center; justify-content: center; width: 12px; height: 12px; margin-left: 8px; position: relative; top: 0.05em;}
#press_archive_years nav figure.btn strong span:before{ content: ""; width: 100%; height: 2px; background: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#press_archive_years nav figure.btn strong span:after{ content: ""; width: 100%; height: 2px; background: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%) rotate(90deg); transition: 0.3s;}
#press_archive_years nav figure.btn strong:hover{ background: #004798; color: #fff;}
#press_archive_years nav figure.btn strong:hover span:before{ background: #fff;}
#press_archive_years nav figure.btn strong:hover span:after{ background: #fff;}
#press_archive_years nav.active ul{ height: auto;}
#press_archive_years nav.active figure.btn strong:before{ content: "Show less";}
#press_archive_years nav.active figure.btn strong span:after{ transform: translateX(-50%) translateY(-50%) rotate(0deg); opacity: 0;}
@media screen and (max-width:767px){
#press_archive_years{ margin: 10% auto; padding: 3.75% 2.5% 2.5%; display: block; border-radius: 2.5vw;}
#press_archive_years h3{ width: 100%; font-size: 1.5rem; text-align: center; margin: 0 auto 3.75%;}
#press_archive_years nav ul{ margin: -0.75vw 0; font-size: 1.1rem; height: calc(8em + 5.25vw);}
#press_archive_years nav ul li{ width: calc(33.33% - 1.5vw); margin: 0.75vw;}
#press_archive_years nav ul li a{ border-radius: 1.25vw;}
#press_archive_years nav figure.btn{ margin-top: 3.75%;}
#press_archive_years nav figure.btn strong{ width:100%; height: 10vw; border-radius: 1.25vw;}
#press_archive_years nav figure.btn strong span{ width: 2.5vw; height: 2.5vw; margin-left: 2.5vw;}
}

#press_archive_list{ margin-top: 100px;}
#press_archive_list ul{ width: calc(100% + 50px); margin: -25px 0 -25px -25px; display: flex; flex-wrap: wrap;}
#press_archive_list ul li{ width: calc(50% - 50px); margin: 25px; background: #fff; padding: 30px; border-radius: 20px; box-shadow:rgba(0, 0, 0, 0.16) 10px 10px 20px;}
#press_archive_list ul li h4{ font-size: 1.3rem; line-height: 1.5em; margin-bottom: 20px;}
#press_archive_list ul li figure{ margin-bottom: 20px; background: #fff; border-radius: 10px; overflow: hidden;}
#press_archive_list ul li figure img{ height: 320px;}
#press_archive_list ul li .data{ background: #EAF2FA; border-radius: 10px; margin-bottom: 20px; padding: 20px;}
#press_archive_list ul li .data table th{ font-size: 0.75rem; line-height: 1em; font-weight: bold; color: #004798; padding: 0.25em 0; width: 4em;}
#press_archive_list ul li .data table td{ font-size: 0.8rem; line-height: 1em; padding: 0.25em 0 0.25em 1em;}
#press_archive_list ul li p.txt{  line-height: 1.5em;}
#press_archive_list ul li figure.btn_more{ margin: 20px 0 0; justify-content: flex-end;}
#press_archive_list ul li figure.btn_more a{ justify-content: flex-end;}
/*txt size*/
body.size01 #press_archive_list ul li .data table th{ font-size: 0.55rem;}
body.size01 #press_archive_list ul li .data table td{ font-size: 0.6rem;}
body.size02 #press_archive_list ul li .data table th{ font-size: 0.75rem;}
body.size02 #press_archive_list ul li .data table td{ font-size: 0.8rem;}
body.size03 #press_archive_list ul li .data table th{ font-size: 1.1rem;}
body.size03 #press_archive_list ul li .data table td{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press_archive_list{ margin-top: 15%;}
#press_archive_list ul{ width: 100%; margin: 0; display: block;}
#press_archive_list ul li{ width: 100%; margin: 7.5% auto 0; padding: 5%; border-radius: 2.5vw;}
#press_archive_list ul li h4{ font-size: 1.3rem; margin-bottom: 3.75%;}
#press_archive_list ul li figure{ margin-bottom: 3.75%; border-radius: 2.5vw;}
#press_archive_list ul li figure img{ height: 50.5vw;}
#press_archive_list ul li .data{ border-radius: 1.25vw; margin-bottom: 3.75%; padding: 2.5%;}
#press_archive_list ul li .data table th{ font-size: 0.75rem; padding: 0.25em 0;}
#press_archive_list ul li .data table td{ font-size: 0.8rem; padding: 0.25em 0 0.25em 1em;}
#press_archive_list ul li figure.btn_more{ margin-top: 3.75%;}
/*txt size*/
body.size01 #press_archive_list ul li .data table th{ font-size: 0.55rem;}
body.size01 #press_archive_list ul li .data table td{ font-size: 0.6rem;}
body.size02 #press_archive_list ul li .data table th{ font-size: 0.75rem;}
body.size02 #press_archive_list ul li .data table td{ font-size: 0.8rem;}
body.size03 #press_archive_list ul li .data table th{ font-size: 1.1rem;}
body.size03 #press_archive_list ul li .data table td{ font-size: 1.2rem;}
}



/*post*/
#press_mv_wrap{ width: 100%; overflow: hidden;}
#press_mv{ min-width: 1240px; min-height: 540px; position: relative; z-index: 1;}
#press_mv:after{ content: ""; width: 100%; height: 100%; background: #004798; border-radius: 0 60px 60px 0; position: absolute; left: -30px; top: 0; z-index: -1;}
#press_mv .press_mv_in{ padding: 60px 0; width: 1240px; margin: auto;}
#press_mv .press_mv_txt{ width: 600px; padding-top: 60px; color: #fff; position: relative; z-index: 3;}
#press_mv .press_mv_txt .date_wrap{ display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;}
#press_mv .press_mv_txt .date_wrap.date_wrap2{ flex-direction: column; align-items: flex-start;}
#press_mv .press_mv_txt .date_wrap span.date2{ display: flex; align-items: center; justify-content: center; background: #fff; color: #004798; padding: 0.25em 1em; font-size: 0.8rem; font-weight: bold;  border-radius: 2em;}
#press_mv .press_mv_txt .date_wrap span.date{ display: block; font-size: 0.8rem; font-weight: bold; line-height: 1em;}
#press_mv .press_mv_txt .date_wrap span.cat{ display: flex; align-items: center; justify-content: center; background: #fff; color: #004798; font-size: 1rem; font-weight: bold; width: 120px; height: 45px; border-radius: 6px; margin-top: 20px;}
#press_mv .press_mv_txt h1{ font-size: 2.2rem; line-height: 1.5em;}
#press_mv figure{ width: 600px; position: absolute; right: 0; top: 60px; z-index: 1;}
#press_mv figure img{ border-radius: 20px; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: top;}
@media screen and (max-width:767px){
#press_mv_wrap{ width: 100%; overflow: visible;}
#press_mv{ min-width: 100%; height: auto;}
#press_mv:after{ border-radius: 0 5vw 5vw 0; left: -5vw;}
#press_mv .press_mv_in{ padding: 7.5% 10% 1px 3.75%; width: 100%;}
#press_mv .press_mv_txt{ width: 100%; padding-top: 0; margin-bottom: 5%;}
#press_mv .press_mv_txt .date_wrap{ margin-bottom: 3.75%;}
#press_mv .press_mv_txt span.date2{ font-size: 0.8rem;}
#press_mv .press_mv_txt span.date{ font-size: 0.8rem;}
#press_mv .press_mv_txt span.cat{ font-size: 1rem; width: 6em; height: 2em; border-radius: 1.25vw; margin-top: 2.5%;}
#press_mv .press_mv_txt h1{ font-size: 1.6rem;}
#press_mv figure{ width: 100vw; position: static; transform: none; margin-left: 0; margin-bottom: -5vw;}
#press_mv figure img{ border-radius: 2.5vw; }
}

#press_post{ margin: 240px auto 0;}
#press_post .maincontent{ padding: 1px 0 80px; background: #fff; position: relative; z-index: 1;}
#press_post .maincontent:before{ content: ""; width: 101px; height: 100%; background: #fff; border-radius: 100px 0 0 100px; position: absolute; left: -100px; top: 0; z-index: -1;}
#press_post .maincontent:after{ content: ""; width: 101px; height: 100%; background: #fff; border-radius: 0 100px 100px 0; position: absolute; right: -100px; top: 0; z-index: -1;}
@media screen and (max-width:767px){
#press_post{ margin: 30vw auto 0;}
#press_post .maincontent{ padding: 1px 0 10%;}
#press_post .maincontent:before{ content: ""; width: 5vw; border-radius: 5vw 0 0 5vw; left: -3.75vw;}
#press_post .maincontent:after{ content: ""; width: 5vw; border-radius: 0 5vw 5vw 0; right: -3.75vw;}
}

#press_post #overview{ margin-top: -160px; background: #E2EAF2; padding: 40px 60px 40px 60px; display: flex; align-items: center; border-radius: 20px;}
#press_post #overview h3{ width: 240px; margin: 0 40px; display: flex; flex-direction: column; position: relative;}
#press_post #overview h3:before{ content: ""; width: 20px; height: 10px; background: url("../images/press/overview_tit_ico.png") center center no-repeat; background-size: 100%; position: absolute; left: 0; top: -15px;}
#press_post #overview h3 strong{ font-size: 2rem; line-height: 1em; color: #004798;}
#press_post #overview h3 span{ font-size: 1rem; line-height: 1em; color: #004798; margin-top: 10px;}
#press_post #overview .overview_cont{ flex: 1;}
#press_post #overview .overview_cont dl{ width: 100%; display: flex; border-bottom: 1px solid #fff; padding: 10px 0; font-size: 0.9rem;}
#press_post #overview .overview_cont dl dt{ color: #004798; font-weight: bold; margin-right: 1em; min-width: 6em; text-align: right;}
#press_post #overview .overview_cont dl dd{ flex: 1; font-weight: 500; }
#press_post #overview .overview_cont dl dd strong{ display: inline-block; margin-top: 0.5em;}
body.size01 #press_post #overview .overview_cont dl{ font-size: 0.7rem;}
body.size02 #press_post #overview .overview_cont dl{ font-size: 0.9rem;}
body.size03 #press_post #overview .overview_cont dl{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#press_post #overview{ margin-top: -15vw; padding: 7.5% 3.75% 5%; border-radius: 2.5vw; display: block;}
#press_post #overview h3{ width: 100%; margin: 0;}
#press_post #overview h3:before{ width: 3.75vw; height: 1.875vw; top: -2.5vw;}
#press_post #overview h3 span{ margin-top: 2.5%;}
#press_post #overview .overview_cont{ width: 100%; margin-top: 5%;}
#press_post #overview .overview_cont dl{ width: 100%; padding: 2.5% 0;}
}


#press_post h2.tit{ margin: 80px auto 40px; background: #004798; color: #fff; padding: 0.5em 1em; font-size: 1.5rem; border-radius: 0 2em 2em 0;}
#press_post h3{ margin: 50px auto 10px; font-size: 1.2rem;}
#press_post h3{ margin-top: 0;}
#press_post h4{ margin: 20px auto 5px; font-size: 1rem;}
#press_post h5{ margin: 20px auto 5px; font-size: 0.8rem;}
#press_post p{ margin: 20px auto;}
#press_post p a{ color: #004798; text-decoration: underline;}
#press_post p a:hover{ text-decoration: none;}
#press_post .list ul{ font-size: 0.8rem; line-height: 1.75em;}
#press_post .list ul li{ margin-bottom: 0.5em; padding-left: 1.5em; position: relative;}
#press_post .list ul li:last-child{ margin-bottom: 0;}
#press_post .list ul li:before{ content: ""; width: 0.5em; height: 0.5em; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 0.75em; line-height: 1.75em;}
#press_post .box{ background: #EAF2FA; padding: 30px; margin: 30px auto; border-radius: 20px;}
#press_post .box p.txt{ margin: 0 auto 1em;}
#press_post .box p.txt:last-child{ margin-bottom: 0;}
#press_post .inc{ background: #F7F7F7; border-left: 4px solid #004798; padding: 30px; margin: 30px auto; border-radius: 0 20px 20px 0;}
#press_post .inc p.txt{ margin: 0 auto 1em;}
#press_post .inc p.txt:last-child{ margin-bottom: 0;}
#press_post .inc p.txt.min{ font-size: 0.7rem;}

#press_post hr{ margin: 50px auto; width: 100%; height: 0; border: none; border-top: 1px dotted #004798;}
#press_post ul.img_list{ margin: 20px auto; display: flex; justify-content: center; width: calc(100% + 20px); margin-left: -10px;}
#press_post ul.img_list li{ max-width: 700px; margin: 0 10px;}
#press_post ul.img_list li img{ border-radius: 10px;}
#press_post ul.img_list li p.txt{ line-height: 1.25em;}
/*txt size*/
body.size01 #press_post h2.tit{ font-size: 1.25rem;}
body.size02 #press_post h2.tit{ font-size: 1.5rem;}
body.size03 #press_post h2.tit{ font-size: 2.0rem;}
body.size01 #press_post h3{ font-size: 1.0rem;}
body.size02 #press_post h3{ font-size: 1.2rem;}
body.size03 #press_post h3{ font-size: 1.6rem;}
body.size01 #press_post h4{ font-size: 0.8rem;}
body.size02 #press_post h4{ font-size: 1.0rem;}
body.size03 #press_post h4{ font-size: 1.4rem;}
body.size01 #press_post h5.tit{ font-size: 0.6rem;}
body.size02 #press_post h5.tit{ font-size: 0.8rem;}
body.size03 #press_post h5.tit{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press_post h2.tit{ margin: 12.5% auto 5%;}
#press_post h3{ margin: 7.5% auto 2.5%;}
#press_post h4{ margin: 3.75% auto 2.5%;}
#press_post h5{ margin: 3.75% auto 2.5%;}
#press_post p.txt{ margin: 5% auto;}
#topics_post .list ul{ font-size: 0.8rem;}
#topics_post .box{ padding: 5%; margin: 5% auto; border-radius: 2.5vw;}
#topics_post .inc{ padding: 5%; margin: 5% auto; border-radius: 0 2.5vw 2.5vw 0;}

#press_post hr{ margin: 7.5% auto;}
#press_post ul.img_list{ margin: 5% auto; width: calc(100% + 2.5vw); margin-left: -1.25vw;}
#press_post ul.img_list li{ max-width: 100%; margin: 0 1.25vw;}
#press_post ul.img_list li img{ border-radius: 1.25vw;}
}

/*旧フォーマット対応*/
#press_post .wp-caption{ width: 640px !important}
#press_post .wp-caption img{ width: 100%;}
#press_post p.wp-caption-text{ font-size: 0.7rem !important}
#press_post p.wp-caption-text span{ font-size: 0.7rem !important}
/*txt size*/
body.size01 #press_post p.wp-caption-text{ font-size: 0.5rem !important;}
body.size01 #press_post p.wp-caption-text span{ font-size: 0.5rem !important;}
body.size02 #press_post p.wp-caption-text{ font-size: 0.7rem !important;}
body.size02 #press_post p.wp-caption-text span{ font-size: 0.7rem !important;}
body.size03 #press_post p.wp-caption-text{ font-size: 1.0rem !important;}
body.size03 #press_post p.wp-caption-text span{ font-size: 1.0rem !important;}

#press_post .cont{ margin: 40px 60px 0;}
@media screen and (max-width:767px){
#press_post .cont{ margin: 5% 2.5% 0;}
}

#press_post dl.lead{ display: flex; justify-content: space-between; margin: 80px auto;}
#press_post dl.lead dt{ width: 294px;}
#press_post dl.lead dd{ width: 636px;}
#press_post dl.lead dt figure img{ border-radius: 20px;}
@media screen and (max-width:767px){
#press_post dl.lead{ margin: 12.5% auto; display: block}
#press_post dl.lead dt{ width: 50%; margin: 0 auto 5%}
#press_post dl.lead dd{ width: 100%;}
#press_post dl.lead dt figure img{ border-radius: 2.5vw;}
}

#press_post .schedule{ display: flex; margin: 50px auto;}
#press_post .schedule:first-child{ margin-top: 0;}
#press_post .schedule .day{ display: flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: bold; color: #004798; background: #E2EAF2; border-radius: 10px; width: 5em;}
body.size01 #press_post .schedule .day{ font-size: 0.8rem;}
body.size02 #press_post .schedule .day{ font-size: 1rem;}
body.size03 #press_post .schedule .day{ font-size: 1.4rem;}
#press_post .schedule_cont{ flex: 1; padding-left: 20px;}
#press_post .schedule_cont dl{ margin-top: 20px; display: flex;}
#press_post .schedule_cont dl dt{ font-size: 1rem; line-height: 1em; font-weight: bold; color: #004798; text-align: right; width: 5.5em; position: relative;}
body.size01 #press_post .schedule_cont dl dt{ font-size: 0.8rem;}
body.size02 #press_post .schedule_cont dl dt{ font-size: 1rem;}
body.size03 #press_post .schedule_cont dl dt{ font-size: 1.4rem;}
#press_post .schedule_cont dl dd{ flex: 1; margin-left: 40px; position: relative; font-size: 0.8rem;}
body.size01 #press_post .schedule_cont dl dd{ font-size: 0.6rem;}
body.size02 #press_post .schedule_cont dl dd{ font-size: 0.8rem;}
body.size03 #press_post .schedule_cont dl dd{ font-size: 1.2rem;}
#press_post .schedule_cont dl dd h4{ font-size: 0.8rem; margin-bottom: 0.5em;}
body.size01 #press_post .schedule_cont dl dd h4{ font-size: 0.6rem;}
body.size02 #press_post .schedule_cont dl dd h4{ font-size: 0.8rem;}
body.size03 #press_post .schedule_cont dl dd h4{ font-size: 1.2rem;}
#press_post .schedule_cont dl dd:before{ content: ""; width: 10px; height: 10px; border: 2px solid #004798; background: #fff; position: absolute; left: -26px; top: 0.25em; border-radius: 50%; z-index: 3;}
#press_post .schedule_cont dl dd:after{ content: ""; width: 2px; height: calc(100% + 20px); background: #004798; position: absolute; left: -20px; top: 0.5em; z-index: 1;}
#press_post .schedule_cont dl:last-child dd:after{ display: none;}
@media screen and (max-width:767px){
#press_post .schedule{ margin: 7.5% auto; display: block;}
#press_post .schedule .day{ border-radius: 1.25vw; width: 100%; padding: 0.5em; margin-bottom: 3.75%;}
#press_post .schedule_cont{ padding: 0;}
#press_post .schedule_cont dl{ margin-top: 5%;}
#press_post .schedule_cont dl dt{ width: 5.5em;}
#press_post .schedule_cont dl dd{ margin-left: 10vw;}
#press_post .schedule_cont dl dd h4{ margin-bottom: 0.5em;}
#press_post .schedule_cont dl dd:before{ width: 2.5vw; height: 2.5vw; left: calc(-6.25vw - 1px); top: 0.25em;}
#press_post .schedule_cont dl dd:after{ height: calc(100% + 5vw); left: calc(-5vw - 1px); top: 0.5em;}
}

#press_post .tour_result{ background: #E2EAF2; padding: 40px 60px; margin-top: 50px; border-radius: 20px;}
#press_post .tour_result dl{ width: 100%; display: flex; align-items: center; border-bottom: 1px solid #fff; padding: 10px 0; font-size: 0.9rem;}
#press_post .tour_result dl dt{ color: #004798; font-weight: bold; margin-right: 1em;}
#press_post .tour_result dl dd{ font-weight: 500;}
body.size01 #press_post .tour_result dl{ font-size: 0.7rem;}
body.size02 #press_post .tour_result dl{ font-size: 0.9rem;}
body.size03 #press_post .tour_result dl{ font-size: 1.3rem;}
@media screen and (max-width:767px){
#press_post .tour_result{ padding: 5% 5%; margin-top: 10%; border-radius: 2.5vw;}
#press_post .tour_result dl{ display: block; width: 100%; padding: 2.5% 0;}
#press_post .tour_result dl dt{ width: 100%; margin: 0 0 1.25%;}
#press_post .tour_result dl dd{ width: 100%;}
}

#press_post .press_post_gallery{ overflow: hidden;}
#press_post .press_post_gallery .slider{ position: relative; z-index: 10;}
#press_post .press_post_gallery .slider ul{ display: flex; justify-content: center; align-items: flex-end; width: 100%; margin-left: 0;}
#press_post .press_post_gallery .slider ul li{ width: 580px; transition: 0.3s;}
#press_post .press_post_gallery .slider ul li p{ font-size: 1.1rem;}
#press_post .press_post_gallery .slider ul li{ transform: scale(0.9); transform-origin: center bottom; margin-top: -4px; transition: 0.3s;}
#press_post .press_post_gallery .slider ul li.slick-center{ transform: scale(1); margin-top: 0;}
#press_post .press_post_gallery .slider ul li.slick-center p{ transform: scale(1);}
#press_post .press_post_gallery .slider ul li img{ width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 20px;}
@media screen and (max-width:767px){
#press_post .press_post_gallery .slider ul li{ width: 70vw;}
#press_post .press_post_gallery .slider ul li{ margin-top: -0.75vw;}
#press_post .press_post_gallery .slider ul li img{ border-radius: 2.5vw;}
}

#press_post .press_post_gallery .slider .slick-prev,
#press_post .press_post_gallery .slider .slick-next{ display: flex; width: 60px; height: 60px; border-radius: 50%; background: #fff; border: 2px solid #004798; position: absolute; right: 0; bottom: 0; transition: 0.3s;}
#press_post .press_post_gallery .slider .slick-prev{ left: 185px; top: 50%; transform: translateY(-50%); z-index: 99;}
#press_post .press_post_gallery .slider .slick-next{ right: 185px; top: 50%; transform: translateY(-50%); z-index: 99;}
#press_post .press_post_gallery .slider .slick-prev:before{ font-family: "Font Awesome 5 Free"; font-size: 0.9rem; font-weight: 900; content: "\f060"; color: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#press_post .press_post_gallery .slider .slick-next:before{ font-family: "Font Awesome 5 Free"; font-size: 0.9rem; font-weight: 900; content: "\f061"; color: #004798; position: absolute; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); transition: 0.3s;}
#press_post .press_post_gallery .slider .slick-prev:hover,
#press_post .press_post_gallery .slider .slick-next:hover{ background: #004798; color: #fff;}
#press_post .press_post_gallery .slider .slick-prev:hover:before,
#press_post .press_post_gallery .slider .slick-next:hover:before{ color: #fff;}
@media screen and (max-width:767px){
#press_post .press_post_gallery .slider .slick-prev,
#press_post .press_post_gallery .slider .slick-next{ width: 10vw; height: 10vw;}
#press_post .press_post_gallery .slider .slick-prev{ left: 0;}
#press_post .press_post_gallery .slider .slick-next{ right: 0;}
}

#press_post .comment{ display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin: -15px 0 -15px -15px;}
#press_post .comment dl{ display: flex; flex-direction: column; justify-content: space-between; width: calc(50% - 30px); margin: 15px; background: #E2EAF2; padding: 25px; border-radius: 20px;}
#press_post .comment dl dt{ margin-bottom: 8px;}
#press_post .comment dl dd{ display: flex; align-items: center; justify-content: flex-end;}
#press_post .comment dl dd p.txt{ font-weight: bold; margin: 0;}
#press_post .comment dl dd figure{ width: 40px; margin: 0 0 0 4px;}
@media screen and (max-width:767px){
#press_post .comment{ display: block; width: 100%; margin: 0;}
#press_post .comment dl{ width: 100%; margin: 5% auto 0; padding: 5%; border-radius: 2.5vw;}
#press_post .comment dl dt{ margin-bottom: 2.5%;}
#press_post .comment dl dd figure{ width: 7.5vw; margin: 0 0 0 1.25vw;}
}

#press_post .reaction{ border-top: 1px dotted #004798; margin-top: 30px; padding-top: 20px;}
#press_post .reaction ul{ margin-top: 20px;}
#press_post .reaction ul li{ font-size: 0.8rem; line-height: 1.5em; margin: 8px auto; padding-left: 24px; position: relative;}
#press_post .reaction ul li:before{ content: ""; width: 8px; height: 8px; background: #004798; border-radius: 50%; position: absolute; left: 0; top: 50%; transform: translateY(-50%);}
body.size01 #press_post .reaction ul li{ font-size: 0.6rem;}
body.size02 #press_post .reaction ul li{ font-size: 0.8rem;}
body.size03 #press_post .reaction ul li{ font-size: 1.2rem;}
@media screen and (max-width:767px){
#press_post .reaction{ margin-top: 5%; padding-top: 5%;}
#press_post .reaction ul{ margin-top: 3.75%;}
#press_post .reaction ul li{ margin: 2.5% auto; padding-left: 3.75vw;}
#press_post .reaction ul li:before{ width: 1.875vw; height: 1.875vw;}
}

#press_post_tag{ margin-top: 100px;}
#press_post_tag .maincontent{ width: 980px;}
#press_post_tag h4{ font-size: 1.2rem; margin-bottom: 20px;}
body.size01 #press_post_tag h4{ font-size: 1.0rem;}
body.size02 #press_post_tag h4{ font-size: 1.2rem;}
body.size03 #press_post_tag h4{ font-size: 1.6rem;}
#press_post_tag ul{ display: flex; flex-wrap: wrap; width: calc(100% + 12px); margin: -6px 0 -6px -6px;}
#press_post_tag ul li{ margin: 6px;}
#press_post_tag ul li a{ display: flex; align-items: center; justify-content: center; background: #fff; font-size: 0.8rem; line-height: 1em; padding: 0.5em; border-radius: 6px; transition: 0.3s;}
#press_post_tag ul li a:hover{ background: #333; color: #fff;}
@media screen and (max-width:767px){
#press_post_tag{ margin-top: 15%;}
#press_post_tag .maincontent{ width: 92.5%;}
#press_post_tag h4{ margin-bottom: 3.75%;}
#press_post_tag ul{ width: calc(100% + 2.5vw); margin: -1.25vw 0 -1.25vw -1.25vw;}
#press_post_tag ul li{ margin: 1.25vw;}
#press_post_tag ul li a{ border-radius: 1.25vw;}
}




