/* common
---------------------------------------------------*/
*,
::before,
::after {
    box-sizing: border-box
}

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
    margin: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin: 0
}

dl,
ul,
ol {
    margin: 0;
}

figure {
    margin: 0;
    padding: 0;
}

hr {
    height: 0;
    overflow: visible
}

main {
    display: block
}

nav ol,
nav ul {
    list-style: none;
    padding: 0
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: rgba(0, 0, 0, 0)
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

iframe {
    border-style: none
}

img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

fieldset {
    border: 1px solid #a0a0a0;
    padding: .35em .75em .625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    padding: 0
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],
[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}


html {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: normal;
    font-style: normal;
    color: #3d3d3d;
    font-size: 10px
}

@media screen and (max-width: calc(1000px + 8rem)) {
    html {
        font-size: 1vw
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 1.3037809648vw
    }
}

body {
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 1.6rem;
    caret-color: transparent
        /*chromeのテキストカーソルをOFF*/
    ;
}

#wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh
}

img,
svg {
    max-width: 100%;
    width: 100%;
    height: auto;
    pointer-events: none;
    caret-color: transparent
        /*テキストカーソルOFF*/
    ;
}

@media(hover: hover) {

    a:hover,
    button:hover {
        cursor: pointer
    }
}

@media screen and (min-width: 768px) {
    .pc {
        display: block;
    }

    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600
}

.ff-din2014 {
    font-family: din-2014-narrow, sans-serif;
    font-weight: 700;
    font-style: normal;
}

main {
    position: relative;
    line-height: 1.5
}


@media(hover: hover) {
    main a {
        transition: opacity .3s ease
    }

    main a:hover {
        opacity: .8
    }
}

@media screen and (max-width: 767px) {
    main a:hover {
        opacity: 1;
    }
}

main,
.txt-link {
    color: #614427;
}

sup {
    font-size: 60%;
}

main * {
    box-sizing: border-box;
}

main img {
    width: 100%;
    height: auto;
    vertical-align: baseline;
    pointer-events: none;
}

main ul,
main ol {
    list-style-type: none;
}

main p,
main ul,
main ol,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6 {
    margin: 0;
    padding: 0;
}

.inner1780 {
    max-width: 1780px;
    padding: 0 40px;
    margin: 0 auto;
}

.sec_ul {
    width: fit-content;
    margin: min(calc((40 / 1700) * 100vw), 40px) auto 0;
}

.sec_ul>li {
    font-size: min(calc((33 / 1700) * 100vw), 33px);
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.54;
    color: #fff;
    position: relative;
    padding-left: min(calc((58 / 1700) * 100vw), 58px);
}

.sec_ul>li+li {
    margin-top: min(calc((20 / 1700) * 100vw), 20px);
}

.sec_ul>li::before {
    content: '';
    display: block;
    width: min(calc((45 / 1700) * 100vw), 45px);
    height: min(calc((45 / 1700) * 100vw), 45px);
    background: url(../images/icn_check_white.svg) no-repeat center / contain;
    position: absolute;
    left: 0;
    top: min(calc((5 / 1700) * 100vw), 5px);
}

.sec_chuki-ul {
    width: fit-content;
    margin: min(calc((20 / 1700) * 100vw), 20px) auto 0;
}

.sec_chuki-ul>li {
    font-size: min(calc((14 / 1700) * 100vw), 14px);
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.54;
    color: #fff;
    /* text-shadow: 
    3px  3px 0 #66ab40, -3px  3px 0 #66ab40,
    3px -3px 0 #66ab40, -3px -3px 0 #66ab40,
    3px  0   0 #66ab40, -3px  0   0 #66ab40,
    0    3px 0 #66ab40,  0   -3px 0 #66ab40; */
}


@media screen and (max-width: 767px) {
    a:hover {
        opacity: 1;
    }

    .inner1780 {
        padding: 0 calc((20/750)*100vw);
    }

    .sec_ul {
        margin: calc((34 / 750) * 100vw) auto 0;
    }

    .sec_ul>li {
        font-size: calc((29 / 750) * 100vw);
        line-height: 1.72;
        padding-left: calc((60 / 750) * 100vw);
    }

    .sec_ul>li+li {
        margin-top: calc((26 / 750) * 100vw);
    }

    .sec_ul>li::before {
        width: calc((39 / 750) * 100vw);
        height: calc((39 / 750) * 100vw);
        top: calc((7 / 750) * 100vw);
    }

    .sec_chuki-ul {
        width: auto;
        margin: calc((10 / 750) * 100vw);
        padding: 0 1em;
    }

    .sec_chuki-ul>li {
        font-size: calc((20 / 750) * 100vw);
    }
}



/* ページ読み込み時フェードイン【MV】
-------------------------------------------*/
.load-fadein {
    opacity: 0;
    animation: load-fadein .75s ease-in-out forwards 0.5s;
}

@keyframes load-fadein {
    100% {
        opacity: 1;
    }
}

/* -- */

.load-fadein-txt-scale {
    opacity: 0;
    transform: scale(1.3);
    animation: load-fadein-txt-scale .7s ease-in-out forwards 1s;
}

@keyframes load-fadein-txt-scale {
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* -- */

.load-fadein-txt-scale-2 {
    opacity: 0;
    transform: scale(.9);
    animation: load-fadein-txt-scale-2 .7s ease-in-out forwards 1.7s;
}

@keyframes load-fadein-txt-scale-2 {
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* ------- 下からフェード表示 ------- */

.js-effectD {
    opacity: 0;
    transition: ease 1s;
    transform: translateY(70px);
}

.js-effectD.fadein {
    opacity: 1;
    transform: translateY(0px);
}

/* ------- 拡大しながらフェード表示 ------- */

.js-effect-scale {
    opacity: 0;
    transition: ease 1s;
    transform: scale(.8);
}

.js-effect-scale.fadein {
    opacity: 1;
    transform: scale(1);
}


/* header
---------------------------------------------------*/
header.header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 10;
    transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
    header.header {
        height: calc((100/750)*100vw);
    }
}

.header__inner {
    max-width: min(calc((1510 / 1700) * 100vw), 1510px);
    width: 100%;
    margin: 0 auto;
    padding: 0 min(calc((40 / 1700) * 100vw), 40px);
    position: relative;
}

header.header .header__inner .header-logo {
    text-align: center;
    margin: min(calc((30 / 1700) * 100vw), 30px) auto 0;
    transition: all .5s;
}

@media screen and (max-width: 767px) {
    header.header .header__inner .header-logo {
        margin: calc((30/750)*100vw) auto 0;
    }
}

.scrolled header.header .header__inner .header-logo {
    transform: scale(.8);
    margin: min(calc((30 / 1700) * 100vw), 20px) auto 0;
}

header.header .header__inner .header-logo .header-logo-link {
    display: block;
    width: min(calc((200 / 1700) * 100vw), 200px);
    margin: 0 auto;
    transition: all .5s;
}

@media screen and (max-width: 767px) {
    header.header .header__inner .header-logo .header-logo-link {
        width: calc((191/750)*100vw);
    }
}

header.header .header__inner .header-logo .header-logo-link:hover {
    transform: scale(1.1);
}

@media screen and (max-width: 767px) {
    header.header .header__inner .header-logo .header-logo-link:hover {
        transform: scale(1);
    }
}

header.header .header__inner .header-tel {
    line-height: 1
}

.header-btn-catch {
    font-size: min(calc((16 / 1700) * 100vw), 16px);
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: .1em;
    text-align: center;
    text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
    margin: 0;
    color: #182e69;
}

@media screen and (max-width: 767px) {
    .header-btn-catch {
        font-size: 10px;
    }
}

.header-btn {
    position: absolute;
    right: 0;
    top: min(calc((15 / 1700) * 100vw), 15px);
    transition: all .5s;
}

@media screen and (max-width: 767px) {
    .header-btn {
        position: fixed;
        top: auto;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 68px;
        background: #fff;
        z-index: 101;
        padding: 8px;
    }
}

.scrolled .header-btn {
    transform: scale(.8);
    top: 0;
}

@media screen and (max-width: 1000px) {
    .scrolled .header-btn {
        transform: scale(.9);
    }
}

@media screen and (max-width: 767px) {
    .scrolled .header-btn {
        transform: scale(1);
        top: auto;
    }
}


.header-btn-link {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(102, 188, 215);
    box-shadow: 0 0 20px rgba(69, 123, 67, .39);
    border: solid #fff min(calc((5 / 1700) * 100vw), 5px);
    max-width: 100%;
    width: min(calc((311 / 1700) * 100vw), 311px);
    height: min(calc((90 / 1700) * 100vw), 90px);
    position: relative;
    border-radius: 9999px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: min(calc((24 / 1700) * 100vw), 24px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .1em;
    text-decoration: none;
    color: #fff;
    margin: min(calc((12 / 1700) * 100vw), 12px) 0 0;
}

@media(hover: hover) {
    .header-btn-link {
        transition: all .3s ease
    }

    .header-btn-link:hover {
        cursor: pointer;
        opacity: 1;
        transform: scale(1.1);
    }
}

@media screen and (max-width: 767px) {
    .header-btn-link:hover {
        transform: scale(1);
    }
}

@media screen and (max-width: 767px) {
    .header-btn-link {
        box-shadow: 0 0 5px rgba(0, 0, 0, .4);
        border: solid #fff 2.5px;
        width: 65.7%;
        min-width: 200px;
        height: auto;
        padding: 3.5px 5px;
        font-size: 15px;
        font-weight: 500;
        margin: 3px auto 0;
    }
}

.scrolled .header-btn-link {
    margin: min(calc((5 / 1700) * 100vw), 5px) 0 0;
}

@media screen and (max-width: 767px) {
    .scrolled .header-btn-link {
        margin: 3px auto 0;
    }
}

.btn-icon-contact {
    display: inline-block;
    width: min(calc((30 / 1700) * 100vw), 30px);
    height: min(calc((30 / 1700) * 100vw), 30px);
    background: url(../images/icn_contact_white.svg) center center no-repeat;
    background-size: contain;
    vertical-align: middle;
    line-height: 1;
    margin-right: min(calc((10 / 1700) * 100vw), 10px);
    position: relative;
    top: min(calc((2 / 1700) * 100vw), 2px);
}

@media screen and (max-width: 767px) {
    .btn-icon-contact {
        width: 19px;
        height: 19px;
        margin-right: 8px;
        top: 1px;
    }
}


/* フッター
---------------------------------------------------*/
footer {
    background: url(../images/bg-lightblue.png);
    /* background: rgba(109, 185, 215); */
    padding: min(calc((21 / 1200) * 100vw), 21px) min(calc((40 / 1200) * 100vw), 40px) min(calc((24 / 1200) * 100vw), 24px);
}

.copyright {
    color: #fff;
    text-align: center;
    font-size: min(calc((16 / 1200) * 100vw), 16px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .05em;
}

@media screen and (max-width: 767px) {
    footer {
        padding: calc((16 / 750) * 100vw);
        margin-bottom: 68px;
    }

    .copyright {
        font-size: calc((20 / 750) * 100vw);
    }
}

/* pagetop
---------------------------------------------------*/
.pagetop {
    position: fixed;
    right: 50px;
    bottom: 0;
    text-align: right;
    display: none;
    z-index: 100;
    cursor: pointer;
}

.pagetop a,
.pagetop img {
    display: block;
    width: 70px;
    height: 70px;
}


@media screen and (max-width: 767px) {
    .pagetop {
        right: 0;
    }

    .pagetop a,
    .pagetop img {
        width: 50px;
        height: 50px;
    }

    .pagetop a:hover {
        opacity: 1;
    }
}


/* bg-area
---------------------------------------------------*/
.bg-area-1 {
    width: 100%;
    background: url(../images/bg-area-1.jpg) no-repeat center top / cover;
    position: relative;
    overflow: hidden;
}

.bg-area-2 {
    width: 100%;
    background: url(../images/bg-area-2.jpg) no-repeat center top / cover;
    position: relative;
    overflow: hidden;
    margin-top: -1px;
}

.bg-area-3 {
    width: 100%;
    background: url(../images/bg-area-3.jpg) no-repeat center top / cover;
    position: relative;
    overflow: hidden;
    margin-top: -1px;
}

.bg-area-4 {
    width: 100%;
    background: url(../images/bg-area-4.jpg) no-repeat center top / cover;
    position: relative;
    overflow: hidden;
    margin-top: -1px;
}

@media screen and (max-width: 767px) {
    .bg-area-1 {
        background: url(../images/bg-area-1_sp.jpg) no-repeat center top / cover;
    }

    .bg-area-2 {
        background: url(../images/bg-area-2_sp.jpg) no-repeat center top / cover;
    }

    .bg-area-3 {
        background: url(../images/bg-area-3_sp.jpg) no-repeat center top / cover;
    }

    .bg-area-4 {
        background: url(../images/bg-area-4_sp.jpg) no-repeat center top / cover;
    }
}


/* mv
---------------------------------------------------*/
.mv_inner {
    width: min(calc((1700 / 1700) * 100vw), 1700px);
    max-width: 1700px;
    box-sizing: border-box;
    padding: 0;
    position: relative;
    margin: 0 auto;
}

.mv_tit {
    width: min(calc((844 / 1700) * 100vw), 844px);
    padding: min(calc((169 / 1700) * 100vw), 169px) 0 0;
    margin: 0 auto;
}

.mv_card_tit {
    width: min(calc((658 / 1700) * 100vw), 658px);
    padding: 0 0 0;
    margin: min(calc((-6 / 1700) * 100vw), -6px) auto 0;
}

.mv_card_fig {
    width: min(calc((1002 / 1700) * 100vw), 1002px);
    margin: min(calc((-9 / 1700) * 100vw), -9px) auto 0;
}

.mv .sec_chuki-ul {
    width: min(calc((1002 / 1700) * 100vw), 1002px);
}


@media screen and (max-width: 767px) {
    .mv_inner {
        width: auto;
        padding: 0 calc((30 / 750) * 100vw);
    }

    .mv_tit {
        width: calc((591 / 750) * 100vw);
        margin-top: calc((105 / 750) * 100vw);
    }

    .mv_card_tit {
        width: calc((650 / 750) * 100vw);
        padding: 0 0 0;
        margin: calc((11 / 750) * 100vw) auto 0;
    }

    .mv_card_fig {
        width: auto;
        padding: 0 0 0;
        margin: calc((-13 / 750) * 100vw) auto 0;
    }

    .mv .sec_chuki-ul {
        width: auto;
    }
}


/* 解決1
---------------------------------------------------*/
.solution {
    color: #000;
}

.solution .inner1780 {
    padding: 0 40px min(calc((20 / 1700) * 100vw), 20px);
}

.solution_lr {
    display: flex;
    justify-content: space-between;
    max-width: min(calc((1200 / 1700) * 100vw), 1200px);
    margin: min(calc((82 / 1700) * 100vw), 82px) auto 0;
}

.solution_lr_l,
.solution_lr_r {
    max-width: min(calc((570 / 1700) * 100vw), 570px);
}

.solution_lr_l_tit_inner-1 {
    text-align: left;
}

.solution_lr_l_tit_inner-2 {
    width: fit-content;
    display: block;
    margin: 0 auto;
}

.solution_lr_l_tit_inner-3 {
    text-align: right;
    display: block;
    margin: 0 0 0 auto;
    width: fit-content;
}

.solution_lr_l_tit {
    font-size: min(calc((28 / 1700) * 100vw), 28px);
    font-weight: 500;
    line-height: 1.53;
    letter-spacing: .05em;
    position: relative;

    font-weight: bold/* 縁取りをすると文字が細く見えるため太字推奨 */;
    -webkit-text-stroke: min(calc((8 / 1700) * 100vw), 8px) #fff/* 縁取りの太さと色 */;
    paint-order: stroke fill/* 縁取りを文字の背後に回して可読性を保つ */;
}

.solution_lr_l_tit::before {
    content: '';
    display: block;
    width: min(calc((409 / 1700) * 100vw), 409px);
    height: min(calc((252 / 1700) * 100vw), 252px);
    background: url(../images/solution_txt-bg.png) no-repeat center/contain;
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: -1;
}

.solution_lr_l_tit_l {
    font-size: min(calc((44 / 1700) * 100vw), 44px);
}

.solution_lr_l_tit_l_fig_1 {
    width: min(calc((379 / 1700) * 100vw), 379px);
    margin: min(calc((41 / 1700) * 100vw), 41px) 0 0 auto;
}

.solution_lr_l_tit_l_fig_2 {
    width: min(calc((479 / 1700) * 100vw), 479px);
    margin: min(calc((23 / 1700) * 100vw), 23px) 0 0 0;
}

.solution_lr_l_tit_l_fig_3 {
    width: min(calc((491 / 1700) * 100vw), 491px);
    margin: min(calc((38 / 1700) * 100vw), 38px) 0 0 auto;
}

.solution_lr_r {
    background: #fff;
    border-radius: min(calc((30 / 1700) * 100vw), 30px);
    padding: min(calc((20 / 1700) * 100vw), 20px) min(calc((30 / 1700) * 100vw), 30px) min(calc((35 / 1700) * 100vw), 35px);
}

.solution_lr_r_tit {
    font-size: min(calc((25 / 1700) * 100vw), 25px);
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .05em;
    color: #182e69;
    white-space: nowrap;
}

.solution_lr_r_tit_inner-1 {
    display: block;
}

.solution_lr_r_tit_inner-2 {
    display: block;
    width: fit-content;
    margin: 0 0 0 auto;
}

.solution_lr_r_tit_l {
    font-size: min(calc((40 / 1700) * 100vw), 40px);
}

.solution_lr_r_tit_l .letter {
    color: rgb(255, 94, 119);
    position: relative;
}

.solution_lr_r_tit_l .letter::before {
    content: '';
    display: block;
    border-radius: 50%;
    width: min(calc((10 / 1700) * 100vw), 10px);
    height: min(calc((10 / 1700) * 100vw), 10px);
    background: rgb(255, 94, 119);
    position: absolute;
    top: min(calc((-4 / 1700) * 100vw), -4px);
    left: 0;
    right: 0;
    margin: auto;
}

.solution_lr_r_tit_l .letter:last-child:before {
    display: none;
}

.solution_lr_r_btn-desc {
    font-size: min(calc((23 / 1700) * 100vw), 23px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .05em;
    color: #000;
    text-align: center;
    margin-top: min(calc((22 / 1700) * 100vw), 22px);
}

.solution_btn {
    margin: min(calc((10 / 1700) * 100vw), 10px) auto 0;
    display: block;
    transition: all .3s;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(102, 188, 215);
    border-radius: 9999px;
    box-shadow: 0 0 20px rgba(69, 123, 67, .39);
    border: solid #fff min(calc((5 / 1700) * 100vw), 5px);
    text-decoration: none;
    width: min(calc((350 / 1700) * 100vw), 350px);
    height: min(calc((90 / 1700) * 100vw), 90px);
    cursor: pointer;
}

.solution_btn:hover {
    transform: scale(1.1);
}

.solution_btn_txt {
    font-size: min(calc((24 / 1700) * 100vw), 24px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .1em;
    color: #fff;
    text-align: center;
}

.solution_lr_r_desc {
    font-size: min(calc((23 / 1700) * 100vw), 23px);
    font-weight: 400;
    line-height: 1.47;
    letter-spacing: .05em;
    color: #000;
    margin-top: min(calc((34 / 1700) * 100vw), 34px);
}


@media screen and (max-width: 767px) {
    .solution .inner1780 {
        padding: 0 calc((50 / 750) * 100vw) calc((50 / 750) * 100vw);
    }

    .solution_lr {
        display: block;
        max-width: inherit;
        margin: calc((46 / 750) * 100vw) auto 0;
    }

    .solution_lr_l,
    .solution_lr_r {
        max-width: inherit;
    }

    .solution_lr_l_tit {
        font-size: calc((33 / 750) * 100vw);
        text-align: center;
        line-height: 1.37;
        -webkit-text-stroke: calc((10/750)*100vw) #fff/* 縁取りの太さと色 */;
    }

    .solution_lr_l_tit::before {
        width: calc((474 / 750) * 100vw);
        height: calc((294 / 750) * 100vw);
    }

    .solution_lr_l_tit_l {
        font-size: calc((58 / 750) * 100vw);
    }

    .solution_lr_l_tit_l_fig_1 {
        width: calc((381 / 750) * 100vw);
        margin: calc((37 / 750) * 100vw) auto 0;
    }

    .solution_lr_l_tit_l_fig_2 {
        width: calc((589 / 750) * 100vw);
        margin: calc((18 / 750) * 100vw) auto 0;
    }

    .solution_lr_l_tit_l_fig_3 {
        width: calc((545 / 750) * 100vw);
        margin: calc((42 / 750) * 100vw) auto 0;
    }

    .solution_lr_r {
        border-radius: calc((30 / 750) * 100vw);
        margin-top: calc((20 / 750) * 100vw);
        padding: calc((13 / 750) * 100vw) calc((53 / 750) * 100vw) calc((28 / 750) * 100vw);
    }

    .solution_lr_r_tit {
        font-size: calc((34 / 750) * 100vw);
        line-height: 1.9;
    }

    .solution_lr_r_tit_l {
        font-size: calc((54 / 750) * 100vw);
    }

    .solution_lr_r_tit_l .letter::before {
        width: calc((13 / 750) * 100vw);
        height: calc((13 / 750) * 100vw);
        top: calc((-5 / 750) * 100vw);
    }

    .solution_lr_r_btn-desc {
        font-size: calc((31 / 750) * 100vw);
        margin-top: calc((7 / 750) * 100vw);
    }

    .solution_btn {
        margin: calc((13 / 750) * 100vw) auto 0;
        box-shadow: 0 0 10px rgba(0, 0, 0, .66);
        border: solid #fff calc((5 / 750) * 100vw);
        width: calc((477 / 750) * 100vw);
        height: calc((109 / 750) * 100vw);
    }

    .solution_btn:hover {
        transform: scale(1);
        opacity: 1;
    }

    .solution_btn_txt {
        font-size: calc((32 / 750) * 100vw);
    }

    .solution_lr_r_desc {
        font-size: calc((27 / 750) * 100vw);
        margin-top: calc((37 / 750) * 100vw);
    }

}


/* 解決2
---------------------------------------------------*/
.solve {
    position: relative;
    background: url(../images/solve_bg.jpg) no-repeat center top/cover;
    z-index: 1;
    margin-top: -1px;
}

.solve .inner1780 {
    position: relative;
    padding: min(calc((80 / 1700) * 100vw), 80px) min(calc((40 / 1700) * 100vw), 40px) min(calc((20 / 1700) * 100vw), 20px);
}

.solve_desc {
    font-size: min(calc((30 / 1700) * 100vw), 30px);
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
}

.solve_tit+.solve_desc {
    margin-top: min(calc((20 / 1700) * 100vw), 20px);
}

.solve_tit {
    font-size: min(calc((40 / 1700) * 100vw), 40px);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .05em;
    text-align: center;
    color: #fff;
    margin-top: min(calc((-5 / 1700) * 100vw), -5px);
}

.solve_tit_l {
    font-size: min(calc((60 / 1700) * 100vw), 60px);
}

.solve_ul {
    display: flex;
    justify-content: center;
    max-width: min(calc((1200 / 1700) * 100vw), 1200px);
    margin: min(calc((30 / 1700) * 100vw), 30px) auto 0;
}

.solve_ul>li {
    background: #fff;
    width: min(calc((360 / 1700) * 100vw), 360px);
    border-radius: min(calc((30 / 1700) * 100vw), 30px);
    margin-right: min(calc((60 / 1700) * 100vw), 60px);
    padding: min(calc((24 / 1700) * 100vw), 24px) min(calc((32 / 1700) * 100vw), 32px) min(calc((29 / 1700) * 100vw), 29px);
    overflow: hidden;
    position: relative;
}

.solve_ul>li:nth-child(3) {
    margin-right: 0;
}

.solve_ul_tit {
    color: #182e69;
    font-size: min(calc((30 / 1700) * 100vw), 30px);
    font-weight: 800;
    line-height: 1.33;
    text-align: center;
    letter-spacing: .1em;
    margin-bottom: min(calc((19 / 1700) * 100vw), 19px);
}

.solve_ul_results {
    display: flex;
    justify-content: space-between;
}

.solve_ul_results+.solve_ul_results {
    margin-top: min(calc((20 / 1700) * 100vw), 20px);
}

.solve_ul_desc {
    color: #182e69;
    font-size: min(calc((20 / 1700) * 100vw), 20px);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: .1em;
}

.solve_ul_results_sum {
    margin-top: min(calc((2 / 1700) * 100vw), 2px);
}

.solve_ul_results_sum_num {
    color: #182e69;
    font-size: min(calc((70 / 1700) * 100vw), 70px);
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    margin-left: .05em;
    margin-right: .15em;
    transform: scale(1.1, 1);
    display: inline-block;
}

.solve_ul_results_sum_unit {
    color: #182e69;
    font-size: min(calc((20 / 1700) * 100vw), 20px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: .1em;
    position: relative;
    top: -.05em;
}

.solve_ul_results_fig_1 {
    width: min(calc((120 / 1700) * 100vw), 120px);
    position: relative;
    right: min(calc((-3 / 1700) * 100vw), -3px);
}

.solve_ul_results_fig_2 {
    width: min(calc((105 / 1700) * 100vw), 105px);
    position: relative;
    top: min(calc((9 / 1700) * 100vw), 9px);
    right: min(calc((3 / 1700) * 100vw), 3px);
}

.solve_ul_results_fig_3 {
    width: min(calc((205 / 1700) * 100vw), 205px);
    position: absolute;
    right: min(calc((-5 / 1700) * 100vw), -5px);
    bottom: min(calc((-5 / 1700) * 100vw), -5px);
}

.solve_ul_results_fig_4 {
    width: min(calc((144 / 1700) * 100vw), 144px);
    position: absolute;
    right: min(calc((-10 / 1700) * 100vw), -10px);
    bottom: min(calc((-20 / 1700) * 100vw), -20px);
}

.solve_circle {
    position: relative;
    display: inline-block;
}

.solve_circle::before {
    content: '';
    display: block;
    border-radius: 50%;
    width: min(calc((10 / 1700) * 100vw), 10px);
    height: min(calc((10 / 1700) * 100vw), 10px);
    position: absolute;
    left: 0;
    right: 0;
    top: min(calc((-3 / 1700) * 100vw), -3px);
    margin: auto;
}

.solve_circle._1::before {
    background: #e8989f;
}

.solve_circle._2::before {
    background: #dda85a;
}

.solve_circle._3::before {
    background: #599cbf;
}

.solve_circle._4::before {
    background: #e8989f;
}

.solve_circle._5::before {
    background: #dda85a;
}


@media screen and (max-width: 767px) {
    .solve {
        background: url(../images/solve_bg_sp.jpg) no-repeat center top/cover;
    }

    .solve .inner1780 {
        padding: calc((90 / 750) * 100vw) calc((50 / 750) * 100vw) calc((50 / 750) * 100vw);
    }

    .solve_desc {
        font-size: calc((30 / 750) * 100vw);
    }

    .solve_tit+.solve_desc {
        margin-top: calc((26 / 750) * 100vw);
    }

    .solve_tit {
        font-size: calc((40 / 750) * 100vw);
        margin-top: calc((1 / 750) * 100vw);
        line-height: 1.51;
    }

    .solve_tit_l {
        font-size: calc((60 / 750) * 100vw);
    }

    .solve_circle::before {
        width: calc((11 / 750) * 100vw);
        height: calc((11 / 750) * 100vw);
        top: calc((0 / 750) * 100vw);
    }

    .solve_ul {
        display: block;
        max-width: inherit;
        margin: calc((40 / 750) * 100vw) auto 0;
    }

    .solve_ul>li {
        width: auto;
        height: calc((275/750)*100vw);
        border-radius: calc((30 / 750) * 100vw);
        margin-right: 0;
        padding: calc((24 / 750) * 100vw) calc((22 / 750) * 100vw) calc((27 / 750) * 100vw);
    }

    .solve_ul>li+li {
        margin-top: calc((40 / 750) * 100vw);
    }

    .solve_ul_tit {
        font-size: calc((30 / 750) * 100vw);
        margin-bottom: calc((15 / 750) * 100vw);
    }

    .solve_ul_desc {
        font-size: calc((24 / 750) * 100vw);
        line-height: 1.79;
        letter-spacing: .05em;
    }

    .solve_ul_results-wrap {
        display: flex;
        justify-content: space-between;
    }

    .solve_ul_results {
        width: calc((275 / 750) * 100vw);
    }

    .solve_ul_results_sum {
        margin-top: calc((12 / 750) * 100vw);
    }

    .solve_ul_results_sum_num {
        font-size: calc((84 / 750) * 100vw);
    }

    .solve_ul_results_sum_unit {
        font-size: calc((24 / 750) * 100vw);
    }

    .solve_ul_results_fig_1 {
        width: calc((120 / 750) * 100vw);
        top: calc((52 / 750) * 100vw);
        right: 0;
    }

    .solve_ul_results_fig_2 {
        width: calc((95 / 750) * 100vw);
        position: relative;
        top: calc((71 / 750) * 100vw);
        right: 0;
    }

    .solve_ul_results_fig_3 {
        width: calc((205 / 750) * 100vw);
        right: calc((0 / 750) * 100vw);
        bottom: calc((-13 / 750) * 100vw);
    }

    .solve_ul_results_fig_4 {
        width: calc((131 / 750) * 100vw);
        right: calc((10 / 750) * 100vw);
        bottom: calc((-16 / 750) * 100vw);
    }
}


/* ご案内
---------------------------------------------------*/
.guide {
    position: relative;
    z-index: 2;
}

.guide .inner1780 {
    position: relative;
    padding: min(calc((107 / 1700) * 100vw), 107px) min(calc((40 / 1700) * 100vw), 40px) 0;
}

.guide._2 .inner1780 {
    padding-top: min(calc((155 / 1700) * 100vw), 155px);
}

.guide._3 .inner1780 {
    padding-top: min(calc((120 / 1700) * 100vw), 120px);
}

.guide_desc {
    width: min(calc((958 / 1700) * 100vw), 958px);
    margin: min(calc((-25 / 1700) * 100vw), -25px) auto 0;
}

.guide_btn {
    border-radius: 9999px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: min(calc((5 / 1700) * 100vw), 5px) solid #fff;
    box-shadow: 3px 3px 20px rgba(69, 123, 67, .66);
    transition: all .5s;
    text-decoration: none;
}

.guide_btn:hover {
    transform: scale(1.1);
    opacity: 1;
}

.guide_btnwrap {
    display: flex;
    justify-content: space-between;
    margin: min(calc((35 / 1700) * 100vw), 35px) auto 0;
    max-width: min(calc((760 / 1700) * 100vw), 760px);
}

.guide_btn.bg-pink {
    background: rgb(250, 138, 148);
    width: min(calc((760 / 1700) * 100vw), 760px);
    padding: min(calc((14 / 1700) * 100vw), 14px);
    position: relative;
    margin: 0 auto;
}

.guide_desc+.guide_btn.bg-pink {
    margin: 0 auto;
}

.guide_btn.bg-pink::before,
.guide_btn.bg-pink::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}

.guide_btn.bg-pink::before {
    width: min(calc((136 / 1700) * 100vw), 136px);
    height: min(calc((173 / 1700) * 100vw), 173px);
    background: url(../images/guide_chara_1.svg) no-repeat center / contain;
    left: min(calc((-8 / 1700) * 100vw), -8px);
}

.guide_btn.bg-pink::after {
    width: min(calc((156 / 1700) * 100vw), 156px);
    height: min(calc((145 / 1700) * 100vw), 145px);
    background: url(../images/guide_chara_2.svg) no-repeat center / contain;
    right: min(calc((-8 / 1700) * 100vw), -8px);
}

.guide_btn.bg-lightblue {
    background: rgba(102, 188, 215);
    width: min(calc((360 / 1700) * 100vw), 360px);
    padding: min(calc((14 / 1700) * 100vw), 14px);
    position: relative;
}

.guide_btn.bg-lightblue.tel {
    pointer-events: none;
    cursor: default;
}

.guide_btn_desc,
.guide_btn_tit {
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .1em;
    text-align: center;
    color: #fff;
}

.guide_btn_desc {
    font-size: min(calc((24 / 1700) * 100vw), 24px);
}

.guide_btn_desc._1 {
    display: block;
}

.guide_btn_desc._2 {
    display: inline-block;
}

.guide_btn_tit {
    font-size: min(calc((40 / 1700) * 100vw), 40px);
    margin-top: min(calc((3 / 1700) * 100vw), 3px);
    display: inline-block;
}

.guide_btn_tit-2,
.guide_btn_tit-3 {
    line-height: 1.4;
    text-align: center;
    color: #fff;
}

.guide_btn_tit-2 {
    font-size: min(calc((24 / 1700) * 100vw), 24px);
    font-weight: 600;
    letter-spacing: .1em;
}

.guide_btn_tit-3 {
    font-size: min(calc((32 / 1700) * 100vw), 32px);
    font-weight: 500;
    letter-spacing: 0;
    transform: scale(1.2, 1);
}

.guide_btn_icn-contact,
.guide_btn_icn-tel {
    display: block;
    position: relative;
}

.guide_btn_icn-contact {
    width: min(calc((30 / 1700) * 100vw), 30px);
    height: min(calc((30 / 1700) * 100vw), 30px);
    background: url(../images/icn_contact_white.svg) no-repeat center / contain;
    top: min(calc((3 / 1700) * 100vw), 3px);
    margin-right: min(calc((5 / 1700) * 100vw), 5px);
}

.guide_btn_icn-tel {
    width: min(calc((32 / 1700) * 100vw), 32px);
    height: min(calc((32 / 1700) * 100vw), 32px);
    background: url(../images/icn_tel_white.svg) no-repeat center / contain;
    top: min(calc((2 / 1700) * 100vw), 2px);
    margin-right: min(calc((22 / 1700) * 100vw), 22px);
}

.guide_btn.bg-lightorange {
    background: rgba(232, 151, 77);
    width: min(calc((360 / 1700) * 100vw), 360px);
    position: relative;
    margin: min(calc((35 / 1700) * 100vw), 35px) auto 0;
    padding: min(calc((5 / 1700) * 100vw), 5px);
}

.guide_btn_inner {
    color: #fff;
    letter-spacing: .1em;
    text-align: center;
}

.guide_btn_change-tit-1 {
    font-size: min(calc((14 / 1700) * 100vw), 14px);
    font-weight: 600;
    display: block;
}

.guide_btn_change-tit-2 {
    font-size: min(calc((16 / 1700) * 100vw), 16px);
    font-weight: 600;
    display: block;
}


@media screen and (max-width: 767px) {
    .guide .inner1780 {
        padding: calc((79 / 750) * 100vw) calc((50 / 750) * 100vw) 0;
    }

    .guide._2 .inner1780 {
        padding-top: calc((102 / 750) * 100vw);
    }

    .guide._3 .inner1780 {
        padding-top: calc((104 / 750) * 100vw);
    }

    .guide_desc {
        width: calc((528 / 750) * 100vw);
        margin-top: 0;
    }

    .guide_btn {
        border: calc((5 / 750) * 100vw) solid #fff;
        box-shadow: 3px 3px 10px rgba(69, 123, 67, .66);
    }

    .guide_btn:hover {
        transform: scale(1);
    }

    .guide_btn.bg-pink {
        width: auto;
        padding: calc((20 / 750) * 100vw) calc((10 / 750) * 100vw);
    }

    .guide_btn.bg-pink::before {
        width: calc((136 / 750) * 100vw);
        height: calc((173 / 750) * 100vw);
        left: calc((13 / 750) * 100vw);
    }

    .guide_btn.bg-pink::after {
        width: calc((156 / 750) * 100vw);
        height: calc((145750) * 100vw);
        right: calc((17 / 750) * 100vw);
    }

    .guide_btn.bg-lightblue {
        width: auto;
        height: calc((111 / 750) * 100vw);
        padding: calc((10 / 750) * 100vw);
    }

    .guide_btn.bg-lightblue.tel {
        pointer-events: auto;
        cursor: pointer;
    }

    .guide_btn.bg-lightblue+.guide_btn.bg-lightblue {
        margin-top: calc((30/750)*100vw);
    }

    .guide_btn_tit {
        font-size: calc((40 / 750) * 100vw);
        margin-top: calc((2 / 750) * 100vw);
        display: block;
    }

    .guide_btn_tit-2 {
        font-size: calc((43 / 750) * 100vw);
    }

    .guide_btn_tit-3 {
        font-size: calc((57 / 750) * 100vw);
    }

    .guide_btn_desc {
        font-size: calc((24 / 750) * 100vw);
    }

    .guide_btn_desc._2 {
        display: block;
    }

    .guide_btnwrap {
        display: block;
        margin: calc((30 / 750) * 100vw) auto 0;
        max-width: inherit;
    }

    .guide_btn_icn-contact {
        width: calc((54 / 750) * 100vw);
        height: calc((54 / 750) * 100vw);
        top: calc((5 / 750) * 100vw);
        margin-right: calc((15 / 750) * 100vw);
    }

    .guide_btn_icn-tel {
        width: calc((58 / 750) * 100vw);
        height: calc((58 / 750) * 100vw);
        top: calc((4 / 750) * 100vw);
        margin-right: calc((42 / 750) * 100vw);
    }

    .guide_btn.bg-lightorange {
        width: auto;
        height: calc((90 / 750) * 100vw);
        padding: calc((10 / 750) * 100vw);
        margin-top: calc((30 / 750) * 100vw);
    }

    .guide_btn_change-tit-1 {
        font-size: calc((20 / 750) * 100vw);
    }

    .guide_btn_change-tit-2 {
        font-size: calc((26 / 750) * 100vw);
    }
}


/*  新生活応援キャンペーン
---------------------------------------------------*/
.campaign {
    position: relative;
    z-index: 2;
}

.campaign .inner1780 {
    position: relative;
    padding: min(calc((110 / 1700) * 100vw), 110px) min(calc((40 / 1700) * 100vw), 40px) min(calc((20 / 1700) * 100vw), 20px);
}

.campaign_tit {
    width: min(calc((1172 / 1700) * 100vw), 1172px);
    margin: 0 auto;
    position: relative;
    left: min(calc((65 / 1700) * 100vw), 65px);
}

.campaign_card {
    width: min(calc((1045 / 1700) * 100vw), 1045px);
    margin: min(calc((-13 / 1700) * 100vw), -13px) auto 0;
}

.campaign_free {
    width: min(calc((1000 / 1700) * 100vw), 1000px);
    margin: min(calc((7 / 1700) * 100vw), 7px) auto 0
}

.campaign_onestep {
    width: min(calc((780 / 1700) * 100vw), 780px);
    margin: min(calc((6 / 1700) * 100vw), 6px) auto 0;
}

.campaign_onestep_flow {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: min(calc((1000 / 1700) * 100vw), 1000px);
    margin: min(calc((25 / 1700) * 100vw), 25px) auto 0;
}

.campaign_onestep_flow_item {
    width: min(calc((440 / 1700) * 100vw), 440px);
    height: min(calc((380 / 1700) * 100vw), 380px);
    background: #fff;
    border-radius: min(calc((30 / 1700) * 100vw), 30px);
    position: relative;
    padding: min(calc((14 / 1700) * 100vw), 14px) min(calc((14 / 1700) * 100vw), 14px);
}

.campaign_onestep_flow_tit-orange {
    font-size: min(calc((50 / 1700) * 100vw), 50px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    color: rgb(227, 155, 76);
    transform: scale(1.2, 1);
}

.campaign_onestep_flow_tit-blue {
    font-size: min(calc((30 / 1700) * 100vw), 30px);
    font-weight: 800;
    line-height: 1.4;
    color: #182e69;
    letter-spacing: .1em;
    text-align: center;
    margin-top: min(calc((6 / 1700) * 100vw), 6px);
}

.campaign_onestep_flow_desc {
    font-size: min(calc((20 / 1700) * 100vw), 20px);
    font-weight: 500;
    line-height: 1.7;
    color: #182e69;
    letter-spacing: .1em;
    text-align: center;
    margin-top: min(calc((6 / 1700) * 100vw), 6px);
}

.campaign_onestep_flow_arrow {
    width: min(calc((58 / 1700) * 100vw), 58px);
}

.campaign_onestep_flow_1,
.campaign_onestep_flow_2 {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}

.campaign_onestep_flow_1 {
    width: min(calc((345 / 1700) * 100vw), 345px);
    bottom: min(calc((-10 / 1700) * 100vw), -10px);
}

.campaign_onestep_flow_2 {
    width: min(calc((411 / 1700) * 100vw), 411px);
    bottom: min(calc((-20 / 1700) * 100vw), -20px);
}


@media screen and (max-width: 767px) {
    .campaign .inner1780 {
        padding: calc((80 / 750) * 100vw) calc((50 / 750) * 100vw) calc((50 / 750) * 100vw);
    }

    .campaign_tit {
        width: calc((718 / 750) * 100vw);
        left: calc((-33 / 750) * 100vw);
    }

    .campaign_card {
        width: calc((604 / 750) * 100vw);
        margin: calc((12 / 750) * 100vw) auto 0;
    }

    .campaign_free {
        width: calc((531 / 750) * 100vw);
        margin: calc((-2 / 750) * 100vw) auto 0;
    }

    .campaign_onestep {
        width: calc(100% + calc((60 / 750) * 100vw));
        margin: calc((5 / 750) * 100vw) calc((-30 / 750) * 100vw) 0;
    }

    .campaign_onestep_flow {
        display: block;
        max-width: inherit;
        margin: calc((10/750)*100vw) auto 0;
    }

    .campaign_onestep_flow_item {
        width: auto;
        height: calc((411 / 750) * 100vw);
        border-radius: calc((30 / 750) * 100vw);
        padding: calc((13 / 750) * 100vw);
    }

    .campaign_onestep_flow_tit-orange {
        font-size: calc((55 / 750) * 100vw);
    }

    .campaign_onestep_flow_tit-blue {
        font-size: calc((33 / 750) * 100vw);
        margin-top: calc((3 / 750) * 100vw);
    }

    .campaign_onestep_flow_desc {
        font-size: calc((22 / 750) * 100vw);
        margin-top: calc((16 / 750) * 100vw);
    }

    .campaign_onestep_flow_1 {
        width: calc((398 / 750) * 100vw);
        bottom: calc((-14 / 750) * 100vw);
    }

    .campaign_onestep_flow_2 {
        width: calc((411 / 750) * 100vw);
        bottom: calc((-23 / 750) * 100vw);
    }

    .campaign_onestep_flow_arrow {
        width: calc((58 / 750) * 100vw);
        transform: rotate(90deg);
        margin: calc((22 / 750) * 100vw) auto;
    }
}


/* 「武州でんき＆ガスとは？」
---------------------------------------------------*/
.about {
    position: relative;
    z-index: 2;
    color: #fff;
}

.about .inner1780 {
    position: relative;
    padding: min(calc((134 / 1700) * 100vw), 134px) min(calc((40 / 1700) * 100vw), 40px) min(calc((20 / 1700) * 100vw), 20px);
}

.about_inner {
    max-width: min(calc((1000 / 1700) * 100vw), 1000px);
    margin: 0 auto;
}

.about_tit {
    font-size: min(calc((30 / 1700) * 100vw), 30px);
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: .1em;
    text-align: center;
}

.about_tit_l {
    font-size: min(calc((60 / 1700) * 100vw), 60px);
}

.about_tit-2 {
    font-size: min(calc((26 / 1700) * 100vw), 26px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .1em;
    margin-top: min(calc((18 / 1700) * 100vw), 18px);
}

.about_desc {
    font-size: min(calc((20 / 1700) * 100vw), 20px);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: .1em;
    margin-top: min(calc((7 / 1700) * 100vw), 7px);
}

.about_plan_tit+.about_desc {
    text-align: center;
    margin-top: min(calc((25 / 1700) * 100vw), 25px);
}

.about_plan {
    margin-top: min(calc((48 / 1700) * 100vw), 48px);
}

.about_plan_tit {
    background: rgba(102, 188, 215);
    width: min(calc((600 / 1700) * 100vw), 600px);
    margin: 0 auto;
    padding: min(calc((18 / 1700) * 100vw), 18px);
}

.about_plan_tit_inner {
    color: #fff;
}

.about_plan_tit_m {
    font-size: min(calc((30 / 1700) * 100vw), 30px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .115em;
    display: block;
    text-align: center;
}

.about_plan_tit_l {
    font-size: min(calc((60 / 1700) * 100vw), 60px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .12em;
    display: block;
    text-align: center;
}

.about_plan_fig {
    margin-top: min(calc((8 / 1700) * 100vw), 8px);
}

.about .sec_ul {
    margin: min(calc((30 / 1700) * 100vw), 30px) auto 0;
}

.about .sec_ul>li {
    letter-spacing: 0;
}

.about .sec_ul>li sup {
    font-size: 35%;
}


@media screen and (max-width: 767px) {
    .about .inner1780 {
        padding: calc((145 / 750) * 100vw) calc((50 / 750) * 100vw) calc((50 / 750) * 100vw);
    }

    .about_inner {
        max-width: inherit;
    }

    .about_tit {
        font-size: calc((30 / 750) * 100vw);
    }

    .about_tit-2 {
        font-size: calc((28 / 750) * 100vw);
        line-height: 1.8;
        text-align: center;
        margin-top: calc((30 / 750) * 100vw);
    }

    .about_tit_l {
        font-size: calc((60 / 750) * 100vw);
    }

    .about_desc {
        font-size: calc((24 / 750) * 100vw);
        line-height: 1.79;
        margin-top: calc((10 / 750) * 100vw);
    }

    .about_plan_tit+.about_desc {
        margin-top: calc((25 / 750) * 100vw);
        letter-spacing: .05em;
        white-space: nowrap;
    }

    .about_plan {
        margin-top: calc((62 / 750) * 100vw);
    }

    .about_plan_tit {
        width: calc((540 / 750) * 100vw);
        padding: calc((18 / 750) * 100vw);
    }

    .about_plan_tit_m {
        font-size: calc((30 / 750) * 100vw);
    }

    .about_plan_tit_l {
        font-size: calc((60 / 750) * 100vw);
    }

    .about_plan_fig {
        margin: calc((20 / 750) * 100vw) auto 0;
        border: calc((2 / 750) * 100vw) solid #78c1de;
        padding: calc((32 / 750) * 100vw) calc((8 / 750) * 100vw) calc((100 / 750) * 100vw);
        position: relative;
        background: #fff;
    }

    .about_plan_fig::after {
        content: '';
        display: block;
        width: calc((100 / 750) * 100vw);
        height: calc((100 / 750) * 100vw);
        background: url(../images/icn_glass.png) no-repeat center / cover;
        position: absolute;
        right: 0;
        bottom: 0;
        pointer-events: none;
    }

    .about .sec_ul {
        margin: calc((39 / 750) * 100vw) auto 0;
    }

    .about .sec_ul>li {
        letter-spacing: .1em;
    }
}


/* 要項
---------------------------------------------------*/
.details {
    position: relative;
    z-index: 2;
    color: #182e69;
}

.details .inner1780 {
    position: relative;
    padding: min(calc((150 / 1700) * 100vw), 150px) min(calc((40 / 1700) * 100vw), 40px) min(calc((110 / 1700) * 100vw), 110px);
}

.details_box {
    max-width: min(calc((1000 / 1200) * 100vw), 1000px);
    margin: 0 auto;
}

.details_box+.details_box {
    margin-top: min(calc((50 / 1700) * 100vw), 50px);
}

.details_tit {
    font-size: min(calc((24 / 1200) * 100vw), 24px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: .1em;
    background: rgba(102, 188, 215);
    color: #fff;
    text-align: center;
    padding: .76em;
    cursor: pointer;
    transition: all .5s;
    position: relative;
}

.details_tit::before,
.details_tit::after {
    content: "";
    width: 2px;
    height: min(calc((30 / 1700) * 100vw), 30px);
    background-color: #fff;
    transition: all 0.5s;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: min(calc((30 / 1700) * 100vw), 30px);
}

.is-open .details_tit:before {
    transform: rotate(450deg);
}

.details_tit::after {
    transform: rotate(90deg);
}

.details_tit:hover {
    transition: all .5s;
    opacity: 0.7;
}

.details_box_inner {
    background: #f2f7f9;
    display: none;
}

.details_box.is-open .details_box_inner {
    display: block
        /* 開いている状態 */
    ;
}

.details_box._1 .details_box_inner {
    padding: min(calc((25 / 1200) * 100vw), 25px) min(calc((29 / 1200) * 100vw), 29px) min(calc((46 / 1200) * 100vw), 46px);
}

.details_box._2 .details_box_inner,
.details_box._3 .details_box_inner {
    padding: min(calc((45 / 1200) * 100vw), 45px) min(calc((50 / 1200) * 100vw), 50px) min(calc((48 / 1200) * 100vw), 48px);
}

.details_box_dl {
    display: flex;
}

.details_box_dl+.details_box_dl {
    margin-top: min(calc((21 / 1200) * 100vw), 21px);
}

.details_box_dl>dt {
    font-size: min(calc((20 / 1200) * 100vw), 20px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .1em;
    width: 6em;
    min-width: 6em;
    white-space: nowrap;
}

.details_box_dl>dd {
    width: calc(100% - 6em);
}

.details_box_dl_tit {
    font-size: min(calc((20 / 1200) * 100vw), 20px);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .1em;
}

.details_box_dl_desc {
    font-size: min(calc((16 / 1200) * 100vw), 16px);
    font-weight: 400;
    line-height: 1.875;
    letter-spacing: .1em;
}

.details_box_dl_ul {
    margin-top: min(calc((5 / 1200) * 100vw), 5px);
}

.details_box_dl_tit+.details_box_dl_ul {
    margin-top: min(calc((10 / 1200) * 100vw), 10px);
}

.details_box_dl_ul>li {
    font-size: min(calc((14 / 1200) * 100vw), 14px);
    font-weight: 400;
    line-height: 1.71;
    letter-spacing: .1em;
}

.details_desc-2 {
    font-size: min(calc((14 / 1200) * 100vw), 14px);
    font-weight: 400;
    line-height: 1.71;
    letter-spacing: 0;
}

.details_box_table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

.details_box_table tr:nth-child(1) th:nth-child(1) {
    width: 25%;
}

.details_box_table tr:nth-child(1) th:nth-child(2) {
    width: 37.5%;
}

.details_box_table tr:nth-child(1) th:nth-child(3) {
    width: 37.5%;
}

.details_box_table th,
.details_box_table td {
    border: 1px solid rgba(102, 188, 215);
    padding: .8em .8em;
}

.details_box_table th {
    font-size: min(calc((16 / 1200) * 100vw), 16px);
    font-weight: 500;
    line-height: 1.4;
    background: #a0d8eb;
    text-align: center;
    letter-spacing: .1em;
}

.details_box_table tr:nth-child(n+2) th {
    text-align: left;
    letter-spacing: .05em;
}

.details_box_table td {
    font-size: min(calc((14 / 1200) * 100vw), 14px);
    font-weight: 400;
    background: #e6f2f6;
}

.details_box_table td a {
    color: #182e69;
    text-decoration: underline;
}

.details_box_table td a:hover {
    text-decoration: none;
}


@media screen and (max-width: 767px) {
    .details .inner1780 {
        padding: calc((100 / 750) * 100vw) calc((50 / 750) * 100vw) calc((180 / 750) * 100vw);
    }

    .details_tit {
        font-size: calc((28 / 750) * 100vw);
        padding: .3em;
        line-height: 1.8;
    }

    .details_tit::before,
    .details_tit::after {
        height: calc((30 / 750) * 100vw);
        right: calc((30 / 750) * 100vw);
    }

    .details_tit:hover {
        transition: all .5s;
        opacity: 1;
    }

    .details_box {
        margin: 0 auto;
    }

    .details_box+.details_box {
        margin-top: calc((70 / 750) * 100vw);
    }

    .details_box._1 .details_box_inner {
        padding: calc((30 / 750) * 100vw) calc((30 / 750) * 100vw) calc((37 / 750) * 100vw);
    }

    .details_box._2 .details_box_inner {
        padding: calc((31 / 750) * 100vw) calc((30 / 750) * 100vw) calc((35 / 750) * 100vw);
    }

    .details_box._3 .details_box_inner {
        padding: calc((31 / 750) * 100vw) calc((30 / 750) * 100vw) calc((35 / 750) * 100vw);
    }

    .details_box_dl+.details_box_dl {
        margin-top: calc((22 / 750) * 100vw);
    }

    .details_box_dl>dt {
        font-size: calc((24 / 750) * 100vw);
        line-height: 1.66;
        width: 4.5em;
        min-width: 4.5em;
    }

    .details_box_dl>dd {
        width: calc(100% - 4.5em);
    }

    .details_box_dl_tit {
        font-size: calc((24 / 750) * 100vw);
        line-height: 1.66;
    }

    .details_box_dl_desc {
        font-size: calc((22 / 750) * 100vw);
        line-height: 2;
    }

    .details_desc-2 {
        font-size: calc((20 / 750) * 100vw);
        line-height: 1.75;
    }

    .details_box_dl_ul {
        margin-top: calc((13 / 750) * 100vw);
    }

    .details_box_dl_ul>li {
        font-size: calc((20 / 750) * 100vw);
        line-height: 1.75;
        text-indent: -1em;
        padding-left: 1em;
    }

    .details_box_table+.details_box_table+.details_box_table {
        margin-top: calc((50 / 750) * 100vw);
    }

    .details_box_table tr:nth-child(1) th:nth-child(1) {
        width: 35%;
    }

    .details_box_table tr:nth-child(1) th:nth-child(2) {
        width: 65%;
    }

    .details_box_table th {
        font-size: calc((24 / 750) * 100vw);
    }

    .details_box_table td {
        font-size: calc((22 / 750) * 100vw);
    }

}


/* モーダル（ポップアップ）
---------------------------------------------------*/
.modal {
    display: none;
}

@media screen and (max-width: 767px) {
    .modal {
        display: block;
    }

    .md-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .85;
        z-index: 10000;
    }

    .md-contents {
        display: none;
        position: fixed;
        top: 50%;
        left: 50%;
        width: 92%;
        height: auto;
        transform: translate(-50%, -50%);
        z-index: 10000;
        max-width: 450px;
        box-sizing: border-box;
    }

    .md-inner {
        padding: 13px 10px 30px;
        background: #fff;
        height: auto;
        position: relative;
    }

    .md-xmark {
        position: absolute;
        top: -34px;
        right: -4px;
        width: 33px;
        height: 22px;
        z-index: 9999;
        cursor: pointer;
    }

    .md-xmark span {
        height: auto;
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: #fff;
        border-radius: 4px;
    }

    .md-xmark span:nth-of-type(1) {
        top: 0;
        transform: translateY(10px) rotate(-45deg);
    }

    .md-xmark span:nth-of-type(2) {
        bottom: 0;
        transform: translateY(-10px) rotate(45deg);
    }

    .md-tit {
        font-size: 0.93rem;
        line-height: 1.5;
        text-align: center;
        padding-bottom: 12px;
    }


    /* 横スクロール */
    .scroll-box {
        overflow-x: auto;
        padding-bottom: 15px;
        -webkit-overflow-scrolling: touch;
        cursor: pointer;
    }

    .scroll-box div img {
        max-width: 100%;
        min-width: 550px;
        vertical-align: top;
    }

    /* スクロールバー全体の高さ */
    .scroll-box::-webkit-scrollbar {
        height: 7px;
    }

    /* スクロールバー全体の背景 */
    .scroll-box::-webkit-scrollbar-track {
        background: #eee;
    }

    /* スクロールバーの動く部分 */
    .scroll-box::-webkit-scrollbar-thumb {
        background: #aaa;
        border: none;
    }

    /* スクロールバーの動く部分のホバー（マウスオーバー） */
    .scroll-box::-webkit-scrollbar-thumb:hover {
        background: #999;
    }
}


@media screen and (max-width: 400px) {
    .scroll-box div img {
        min-width: 480px;
    }
}