@charset "UTF-8";
/* CSS Document */
/*--------------------
01.共通
02.メインビジュアル
03.セクション1
04.セクション2
05.セクション3
06.セクション4
07.セクション5
08.セクション6
09.セクション7
10.セクション8
11.セクション9
12.FAQ
13.アクセス
14.CTA
15.フッター
--------------------*/

/*----------
01.共通
----------*/
body {
-webkit-font-smoothing: antialiased;
background: #fff;
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
color: #333333;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
*:focus {
    outline: none;
}
:focus-visible {
    outline: 2px solid #333;
    outline-offset: 1px;
}
a,
a img {
    transition: .4s transform ease;
}
a:hover,
a:hover img {
    transform: translateY(-5px);
}
img {
    max-width: 100%;
    height: auto;
}
.pc {
display: block;
}
.sp {
display: none;
}
li {
    list-style: none;
}
.cta_line {
    width: 100%;
    height: 200px;
    background: linear-gradient(to right, #15602C 0%, #ECF4E9 50%, #15602C 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
img.cta_top {
    margin-top: -2px;
}
img.cta_bottom {
    z-index: 2;
}
/*----------
02.メインビジュアル
----------*/
.mv{
    position: relative;
    width: 100%;
    height: auto;
    background: url(../img/mv_background_pc.jpg) center center no-repeat; background-size: cover;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.mv .pc {
    display: flex;
    width: 100%;
    height: auto;
    padding: 30px 0;
    justify-content: center;
    align-items: center;
}
h1 img {
    width: 90%;
    max-width: 1240px;
    padding: 20px;
}
.mv_cta {
    background-color: rgba(23, 110, 129, 0.7);
    padding: 20px;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
.mv_cta_gift {
    width: 35%;
    max-width: 500px;
}
.mv_cta_btn {
    width: 40%;
    max-width: 600px;
    box-shadow: 4px 4px 8px #151D47;
}
.mv_cta_img img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
} 
/*----------
03.セクション1
----------*/
#sec1 {
    width: 100%;
    background-color: #151D47;
    display: flex;
    justify-content: center;
    padding: 30px 80px 20px 80px;
}
.sec1_inner {
    width: 60%;
    max-width: 800px;
}
/*----------
04.セクション2
----------*/
#sec2 {
    background-color: #151D47;
    display: flex;
    justify-content: center;
    padding: 0px 80px;
}
.sec2_inner {
    width: 100%;
    max-width: 1440px;
    display: flex;
    gap: 40px;
    flex-direction: column;
    align-items: center;
}
.sec2_img {
    display: flex;
    justify-content: space-between;
}
.sec2_img img {
    width: 31%;
}
.sec2_txt p {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    line-height: 1.2;
}
.sec2_txt h2 {
    color: #fff;
    font-size: 32px;font-weight: bold;
    letter-spacing: 1.5px;
    text-align: center;
    margin-top: 10px;
}
/*----------
05.セクション3
----------*/
#sec3 {
    background-color: #151D47;
    display: flex;
    justify-content: flex-end;
    padding: 120px 0px 60px 80px;
}
.sec3_inner_left {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 40%;
    max-width: 600px;
    margin-right: -60px;
    z-index: 1;
}
.sec3_title {
    width: 60%;
    padding: 0 20px 80px 0;
}
.sec3_inner_right {
    width: 60%;
    margin-top: -40px;
}
.sec3_inner_right img {
    width: 100%;
    height: 450px;
    object-fit: cover;
}
/*----------
06.セクション4
----------*/
#sec4 {
    width: 100%;
    height: auto;
    background: url(../img/sec4_background.jpg) center center no-repeat; background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 20px;
}
.sec4_inner {
    width: 60%;
    max-width: 900px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.sec4_title {
    width: 45%;
    padding-bottom: 60px;
}
.sec4_inner_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
}
.sec4_inner_wrap img {
    width: 47%;
}
/*----------
07.セクション5
----------*/
#sec5 {
    width: 100%;
    height: auto;
    background: url(../img/sec5_background.jpg) center center no-repeat; background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 20px;
}
.sec5_title {
    width: 370px;
    padding-bottom: 60px;
}
.sec5_inner {
    width: 60%;
    max-width: 1240px;
    min-width: 890px;
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.sec5_inner .img_wrap {
    width: 100%;
    height: 200px;
    background-color: #fff;
    box-shadow: 4px 4px 8px #242159;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px 40px 20px 30px;
}
.sec5_inner .number {
    width: 13%;
    max-width: 120px;
    margin-top: -50px;
}
.sec5_txt {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    padding-left: 35px;
}
.sec5_icon1 {
    width: 105px;
    margin: 7px 35px;
}
.sec5_icon2 {
    width: 180px;
    margin-top: 11px;
}
.sec5_icon3 {
    width: 165px;
    margin: 23px 7px;
}
.sec5_txt p {
    font-size: 24px;
    font-weight: 600;
    line-height: normal;
}
.sec5_txt strong {
    font-size: 32px;
    font-weight: bold;
    color: #A37B23;
    line-height: normal;
    letter-spacing: 1.2px;
}
/*----------
08.セクション6
----------*/
#sec6 {
    width: 100%;
    background-color: #151D47;
    padding: 80px 20px;
    display: flex;
    justify-content: center;
}
.sec6_inner {
    width: 90%;
    max-width: 1440px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px
}
.sec6_inner .pc {
    width: 45%;
}
.sec6_txt {
    width: 40%;
    min-width: 450px;
    margin-top: -40px;
}
.sec6_txt p {
    text-align: justify;
    color: #fff;
    font-size: clamp(16px, 1.5vw, 18px);
    font-weight: 600;
    letter-spacing: normal;
    line-height: 1.5;
    padding-bottom: 20px;
}
/*----------
09.セクション7
----------*/
#sec7 {
    width: 100%;
    height: auto;
    background: url(../img/sec7_background.jpg) center center no-repeat; background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 20px;
}
.sec7_inner {
    width: 100%;
    max-width: 1440px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
}
.sec7_inner .pc {
    width: 50%;
}
.agenda {
    width: 30%;
}
.agenda p {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: normal;
    margin-top: 20px;
}
/*----------
10.セクション8
----------*/
#sec8 {
    width: 100%;
    height: auto;
    background: url(../img/sec_background.jpg) center center no-repeat; background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px 20px;
}
.sec8_inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90%;
    max-width: 1440px;
}
.sec8_title {
    width: 35%;
    padding-bottom: 40px;
}
.sec8_inner .img_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    gap: 30px;
}
.sec8_inner .img_wrap img {
    width: 30%;
}
/*----------
11.セクション9
----------*/
#sec9 {
    width: 100%;
    background-color: #151D47;
    padding: 80px 20px;
    display: flex;
    justify-content: center;
}
.sec9_inner {
    width: 85%;
    max-width: 1340px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.sec9_title {
    width: 15%;
    max-width: 200px;
    padding-bottom: 60px;
}
/*----------
12.FAQ
----------*/
#faq {
    width: 100%;
    height: auto;
    background: url(../img/sec_background.jpg) center center no-repeat; background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 20px;
}
.faq_title {
    width: 19%;
    max-width: 320px;
    padding-bottom: 60px;
}
.faq_inner {
    width: 75%;
    max-width: 1080px;
    min-width: 800px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.accordion  {
    width: 100%;
}
.accordion_title {
    position: relative;
    border: none;
    display: flex;
    list-style: none;
    width: 100%;
    cursor: pointer;
    background: #fff;
    padding: 1.4em 1.6em 1.4em;
    line-height: 1.6em;
}
.accordion_title strong {
    font-size: clamp(24px, 1.8vw, 28px);
    font-weight: bold;
    color: #176E81;
    padding-right: 50px;
}
.accordion_title p {
    font-size: clamp(18px, 1.3vw, 20px);
    font-weight: 600;
    color: #151D47;
}
summary.accordion_title::-webkit-details-marker {
    display:none;
}
.accordion_title:after {
    content: "➕";
    position: absolute;
    top: calc(50% - 0.5em);
    right: 20px;
    line-height: 1;
    padding: 0;
    pointer-events: none;
}
.accordion::details-content {
    opacity: 0;
    block-size: 0;
    transition: .3s;
    transition-property: display, opacity, block-size, padding;
    transition-behavior: allow-discrete;
    line-height: 1.6em;
    background: #ffffff;
}
.accordion .accordion_content {
    padding: 0 1.4em;
    display: flex;
}
.accordion .accordion_content > *:first-of-type {
    margin-top: 0;
}
.accordion .accordion_content > *:last-of-type {
    margin-bottom: 0;
}
.accordion[open]::details-content {
    opacity: 1;
    block-size: auto;
    block-size: calc-size(auto, size);
}
.accordion[open] .accordion_content {
    padding: 0 1.4em 1.4em 1.4em;
}
.accordion[open] .accordion_title:after {
    content: "➖";
}
.accordion[open] .accordion_content strong {
    font-size: clamp(24px, 1.8vw, 28px);
    font-weight: bold;
    color: #903341;
    padding: 0 50px 0 5px;
}
.accordion[open] .accordion_content p {
    font-size: clamp(16px, 1.2vw, 18px);
    font-weight: 500;
    color: #151D47;
}
/*----------
13.access
----------*/
#access {
    width: 100%;
    background-color: #fff;
    padding: 80px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.access_title {
    width: 19%;
    max-width: 320px;
    padding-bottom: 60px;
}
.access_inner {
    width: 85%;
    max-width: 1340px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 60px;
}
.access_map {
    width: 47%;
}
.access_txt {
    width: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.access_txt p {
    font-size: clamp(22px, 1.7vw, 24px);
    font-weight: 500;
    color: #151D47;
    line-height: normal;
    letter-spacing: normal;
}
.access_txt .title {
    font-size: clamp(28px, 2.1vw, 30px);
    font-weight: bold;
}
.access_btn {
    width: 320px;
}
/*----------
14.CTA
----------*/
#cta {
    width: 100%;
    height: auto;
    background-color: #176E81;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px;
}
#cta .cta_inner {
    width: 100%;
    max-width: 1240px;
    height: auto;
    margin: 0 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 80px;
}
.cta_title {
    width: 32%;
    max-width: 420px;
}
button {
    all: unset;
    width: 50%;
    max-width: 620px;
    min-width: 500px;
    box-shadow: 2px 2px 5px #151D47;
}
.cta_inner p {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}
/*----------
15.フッター
----------*/
#footer {
    background-image: linear-gradient(180deg, #176E81, #151D47);
    height: auto;
    padding: 40px 80px; 
}
#footer .logo {
    width: 70px;
}
#footer .wrap {
    width: 90vw;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    margin: 40px 0 20px 0; 
}
.footer_left {
    margin-right: 20px;
}
.footer_right {
    margin-left: 20px;
}
.footer_wrap {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
}
#footer .wrap_title {
    background-color: #fff;
    padding: 10px 0;
    width: 130px;
    height: 38px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #333333;
    text-align: center;
    margin-right: 20px;

}
.wrap_txt {
    font-size: 16px;
    color: #fff;
    line-height: normal;
    margin-top: 8px;
    width: -webkit-fill-available;
}
p.Copyright {
    font-size: 16px;
    color: #fff;
    text-align: center;
}

@media only screen and (max-width:1024px){
/*----------
01.共通
----------*/


/*----------
02.メインビジュアル
----------*/
h1 img {
    width: 100%;
    max-width: 900px;
}
.mv_cta_gift {
    width: 40%;
}
.mv_cta_btn {
    width: 50%;
}
/*----------
03.セクション1
----------*/
#sec1 {
    padding: 20px 60px;
}
.sec1_inner {
    min-width: 480px;
}
/*----------
04.セクション2
----------*/
#sec2 {
    padding: 0px 40px;
}
.sec2_txt p {
    font-size: 20px;
}
.sec2_txt h2 {
    font-size: 28px;
}
/*----------
05.セクション3
----------*/
#sec3 {
    padding: 100px 0 50px 0;
}
.sec3_inner_left {
    width: 45%;
    margin-right: -50px;
}
.sec3_inner_right {
    width: 55%;
    margin-top: -30px;
}
.sec3_title {
    padding: 0 20px 40px 0;
}
.sec3_inner_right img {
    height: auto;
}
/*----------
06.セクション4
----------*/
#sec4 {
    padding: 60px 20px;
}
.sec4_inner {
    width: 80%;
    max-width: 700px;
}
.sec4_title {
    padding-bottom: 50px;
}
.sec4_inner_wrap {
    gap: 20px;
}
.sec4_inner_wrap img {
    width: 45%;
}
/*----------
07.セクション5
----------*/
#sec5 {
    padding: 60px 40px;
}
.sec5_title {
    width: 280px;
    padding-bottom: 40px;
}
.sec5_inner {
    width: 100%;
    max-width: 800px;
    min-width: initial;
}
.sec5_inner .img_wrap {
    height: 180px;
}
.sec5_inner .number {
    width: 12%;
    margin-top: -40px;
}
.sec5_txt p {
    font-size: 22px;
}
.sec5_txt strong {
    font-size: clamp(24px, 3vw, 28px);
}
.sec5_icon1 {
    width: 12%;
    min-width: 85px;
    margin: 6px 37px;
}
.sec5_icon2 {
    width: 21%;
    min-width: 140px;
    margin-top: 14px;
}
.sec5_icon3 {
    width: 19%;
    min-width: 126px;
    margin: 20px 7px;
}
/*----------
08.セクション6
----------*/
#sec6 {
    padding: 60px 40px;
}
.sec6_inner {
    width: 100%;
    gap: 40px;
}
.sec6_txt {
    width: 45%;
    min-width: initial;
    margin-top: 0px;
}
.sec6_txt p {
    padding-bottom: 15px;
}
/*----------
09.セクション7
----------*/
#sec7 {
    padding: 60px 40px;
}
.agenda p {
    font-size: 16px;
}
/*----------
10.セクション8
----------*/
#sec8 {
    padding: 60px 40px;
}
.sec8_inner {
    width: 100%;
}
/*----------
11.セクション9
----------*/
#sec9 {
    padding: 60px 40px;
}
.sec9_inner {
    width: 100%;
}
.sec9_title {
    padding-bottom: 40px;
}
.faq_inner {
    min-width: initial;
}
/*----------
12.FAQ
----------*/
#faq {
    padding: 60px;
}
.faq_title {
    width: 24%;
    padding-bottom: 40px;
}
.faq_inner {
    width: 100%;
    max-width: 800px;
}
.accordion_title strong {
    padding-right: 30px;
}
.accordion[open] .accordion_content strong {
    padding-right: 30px;
}
/*----------
13.access
----------*/
#access {
    padding: 60px 40px;
}
.access_title {
    width: 24%;
    padding-bottom: 40px;
}
.access_inner {
    width: 100%;
    max-width: 1000px;
    gap: 40px;
}
.access_txt .title {
    font-size: clamp(26px, 2.7vw, 28px);
}
.access_txt p {
    font-size: clamp(20px, 2.2vw, 22px);
}
/*----------
14.CTA
----------*/
#cta {
    padding: 60px 0px;
}
#cta .cta_inner {
    gap: 60px;
}
button {
    width: 80%;
    min-width: initial;
}
.cta_inner p {
    font-size: 18px;
}
/*----------
15.フッター
----------*/
#footer {
    padding: 40px 20px;
}
#footer .logo {
    width: 55px;
}
#footer .wrap {
    width: 100%;
    margin: 30px 0;
}
#footer .wrap_title {
    width: 120px;
    height: 30px;
    padding: 6px 0;
    font-size: 16px;
}
#footer .wrap_txt {
    font-size: 15px;
    margin-top: 5px;
}
}

@media only screen and (max-width:768px){
/*----------
01.共通
----------*/
.pc{
    display: none;
}
.sp {
    display: block;
}
.cta_line {
    height: 140px;
}
.sec_btn {
    flex-direction: column;
    gap: 10px;
    width: 250px;
}
.sec_btn img {
    width: 100%;
}
.cta_line .cta_txt1 {
    padding: 0 20px;
    width: 80%;
    max-width: 400px;
}
img.cta_top {
    margin-top: -2px;
    height: 4px;
}
img.cta_bottom {
    height: 2px;
}
/*----------
02.メインビジュアル
----------*/
.mv{
    background: url(../img_sp/mv_background_sp.jpg) center center no-repeat; background-size: cover;
}
.mv .pc {
    display: none;
}
.mv .sp {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}
h1 img {
    max-width: 620px;
    padding: 30px 0px 20px 20px;
}
.mv_cta {
    flex-direction: column;
    gap: 0px;
    padding: 0px;
}
.mv_cta_gift {
    width: 100%;
    max-width: 720px;
    padding: 10px;
    display: flex;
    justify-content: center;
}
.mv_cta_btn {
    width: 100%;
    max-width: 768px;
    box-shadow: none;
    
}
.mv_cta_gift img {
    display: block;
    width: 100%;
    max-width: 500px;
}
.mv_cta_btn img {
    display: block;
    width: 100%;
}
/*----------
03.セクション1
----------*/
#sec1 {
    padding: 10px;
}
.sec1_inner {
    width: 100%;
    max-width: 520px;
    min-width: 300px;
}
/*----------
04.セクション2
----------*/
#sec2 {
    padding: 10px;
}
.sec2_inner {
    gap: 20px;
}
.sec2_txt p {
    font-size: clamp(16px, 3.5vw, 20px);
}
.sec2_txt h2 {
    font-size: clamp(18px, 5.5vw, 26px);
}
.sec2_img {
    flex-direction: column;
    gap: 20px;
}
.sec2_img img {
    width: 100%;
    max-width: 500px;
}
/*----------
05.セクション3
----------*/
#sec3 {
    padding: 30px 0px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.sec3_inner_left {
    width: 100%;
    max-width: 500px;
    margin-right: 0px;
    padding-right: 20px;
}
.sec3_inner_right {
    width: 100%;
    margin-top: 0px;
    margin-top: -50px;
    display: flex;
    justify-content: flex-end;
}
.sec3_title {
    padding: 0px;
    max-width: 300px;
}
.sec3_inner_right img {
    max-width: 580px;
    height: 300px;
    padding-left: 30px;
}
/*----------
06.セクション4
----------*/
#sec4 {
    padding: 40px 10px;
}
.sec4_inner {
    width: 100%;
}
.sec4_title {
    width: 70%;
    max-width: 280px;
    padding-bottom: 40px;
}
.sec4_inner_wrap {
    gap: 10px;
}
.sec4_inner_wrap img {
    width: 48%;
}
/*----------
07.セクション5
----------*/
#sec5 {
    padding: 40px 20px;
    background-position: right;
}
.sec5_title {
    width: 66%;
    max-width: 280px;
    padding-bottom: 30px;
}
.sec5_inner {
    gap: 40px;
    max-width: 550px;
}
.sec5_inner .img_wrap {
    padding: 10px;
    height: 120px;
}
.sec5_inner .number {
    width: 17%;
    max-width: 68px;
    margin-top: -28px;
}
.sec5_txt {
    padding-left: 10px;
}
.sec5_txt p {
    font-size: clamp(15px, 4vw, 18px);
}
.sec5_txt strong {
    font-size: clamp(18px, 3vw, 20px);
    letter-spacing: 0px;
}
.sec5_icon1 {
    width: 18%;
    max-width: 66px;
    min-width: initial;
    margin: 4px 15px;
}
.sec5_icon2 {
    width: 30%;
    max-width: 110px;
    min-width: initial;
}
.sec5_icon3 {
    width: 27%;
    max-width: 100px;
    min-width: initial;
}
/*----------
08.セクション6
----------*/
#sec6 {
    padding: 40px 20px 20px 20px;
}
.sec6_inner {
    flex-direction: column;
    max-width: 500px;
    gap: 30px;
}
.sec6_txt {
    width: 100%;
}
.sec6_txt p {
    font-size: clamp(14px, 3vw, 16px);
}
/*----------
09.セクション7
----------*/
#sec7 {
    padding: 40px 20px;
}
.sec7_inner {
    flex-direction: column;
    max-width: 500px;
    gap: 20px;
}
.agenda {
    width: 80%;
}
.agenda p {
    font-size: clamp(14px, 2.5vw, 16px);
    margin-top: 10px;
}
/*----------
10.セクション8
----------*/
#sec8 {
    padding: 40px 20px;
}
.sec8_inner {
    max-width: 500px;
}
.sec8_title {
    width: 86%;
    max-width: 320px;
    padding-bottom: 30px;
}
.sec8_inner .img_wrap {
    gap: 10px;
}
.sec8_inner .img_wrap img {
    width: 100%;
}
/*----------
11.セクション9
----------*/
#sec9 {
    padding: 40px 20px;
}
.sec9_inner {
    max-width: 500px;
}
.sec9_title {
    width: 34%;
    max-width: 150px;
    padding-bottom: 30px;
}
/*----------
12.FAQ
----------*/
#faq {
    padding: 40px 20px;
}
.faq_title {
    width: 47%;
    max-width: 230px;
    padding-bottom: 30px;
}
.faq_inner {
    max-width: 500px;
    gap: 20px;
}
.accordion_title {
    padding: 1em 1.8em 1em 1em;
    line-height: 1.6em;
}
.accordion_title strong {
    font-size: clamp(20px, 5.5vw, 24px);
    padding-right: 10px;
}
.accordion_title p {
    font-size: clamp(16px, 4.5vw, 18px);
}
.accordion_title:after {
    top: 1.3em;
    right: 14px;
}
.accordion[open] .accordion_content {
    padding: 0 1em 1em 1em;
}
.accordion[open] .accordion_content strong {
    font-size: clamp(20px, 5.5vw, 24px);
    padding: 0 10px 0 0;
}
.accordion[open] .accordion_content p {
    font-size: clamp(15px, 3.8vw, 17px);
}
/*----------
13.access
----------*/
#access {
    padding: 40px 20px;
}
.access_title {
    width: 47%;
    max-width: 230px;
    padding-bottom: 30px;
}
.access_inner {
    max-width: 500px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}
.access_map {
    width: 100%;
}
.access_txt {
    gap: 10px;
}
.access_txt .title {
    font-size: clamp(20px, 3.2vw, 24px);
}
.access_txt p {
    font-size: clamp(16px, 2.8vw, 20px);
}
/*----------
14.CTA
----------*/
#cta {
    padding: 40px 20px;
}
#cta .cta_inner {
    width: 100%;
    max-width: 550px;
    margin: 0;
    gap: 40px;
}
.cta_title {
    width: 80%;
    max-width: 320px;
}
button {
    width: 100%;
    max-width: 500px;
}
.cta_inner p {
    font-size: 16px;
    line-height: normal;
}
/*----------
15.フッター
----------*/
#footer {
    padding: 20px;
}
#footer .logo {
    width: 14%;
    max-width: 50px;
}
#footer .wrap {
    flex-direction: column;
    align-items: center;
    margin: 20px 0;
}
.footer_left,
.footer_right {
    margin: 0;
}
.footer_wrap {
    margin-bottom: 2.5vw;
}
#footer .wrap_title {
    padding: 6px 0;
    font-size: 12px;
    margin-right: 10px;
    margin-top: 2px;
    width: 100px;
    height: 25px;
}
#footer .wrap_txt {
    font-size: 14px;
    margin-top: 4px;
}
p.Copyright {
    font-size: 14px;
}
}