@charset "UTF-8";

/*---------------------------------------------
#FV～section_3：共通設定
-----------------------------------------------*/
#section_1,
#section_3 {
    background-color: #cde8ff;
}

#section_1,
#section_2,
#section_3 {
    padding: min(80/1290*100vw, 80px) 0;
}

#FV h1,
#FV .fv_main_1,
#FV .fv_main_3,
#FV .button_inq,
.section_3_fukidashi p {
    color: white;
}

.fv-03_br {
    display: none;
}

#FV h1,
#FV p,
#section_1 p,
#section_2 p,
#section_3 p,
#FV .button_inq {
    font-weight: bold;
    letter-spacing: 0.05em;
    font-family: 'Noto Sans JP', sans-serif;
}

.fv_main_0 h1,
.section_3_fukidashi p {
    font-size: min(23/1290*100vw, 23px);
}

.fv_main_3 p,
#section_1 p {
    font-size: min(27/1290*100vw, 27px);
}

.fv_main_1 .kanou,
#section_2 p,
#section_1 .p_blue {
    font-size: min(32/1290*100vw, 32px);
}

.section_2_2 .p_blue,
.section_3_1 h2 {
    font-size: min(40/1290*100vw, 40px);
}


#section_1 .p_blue,
#section_2 .p_blue,
#section_3 .p_blue {
    color: #005fc9;
}

#section_1 .p_line,
#section_2 .p_line {
    background: linear-gradient(transparent 70%, #66ceb9 50%);
}

.section1_video_back,
.section_2_1,
.section_2_3 img {
    width: min(900/1290*100vw, 900px);
}

.section_2_1 img,
.section_3_1 img {
    width: min(150/1290*100vw, 150px);
    height: auto;
}

/*---------------------------------------------
#FV
-----------------------------------------------*/
#FV {
    width: 100%;
    height: min(610/1290*100vw, 610px);
    background-image: url(../images/01/fv_bgi.png);
    background-size: cover;
    background-position: 80%;
    background-repeat: no-repeat;
}

#FV {
    display: flex;
}

#FV .content_wrap {
    padding-bottom: 20px;
}

.fv_top {
    padding-top: 20px;
    padding-left: 20px;
}

.fv_top img {
    width: min(150/1290*100vw, 150px);
    height: auto;
}

.fv_main {
    padding-left: min(50/1290*100vw, 50px);
    text-align: left;
}

.fv_main_0 {
    padding-top: 20px;
}

.fv_main_1 {
    display: flex;
    padding-top: min(50/1290*100vw, 50px);
    display: table;
}

.fv_main_1 img {
    width: min(300/1290*100vw, 300px);
    height: auto;
    padding-right: 0.5em;
}

.fv_main_1 p {
    display: table-cell;
    vertical-align: middle;
    padding-top: min(10/1290*100vw, 10px);
}

.fv_main_1 .kanou {
    padding-bottom: min(10/1290*100vw, 10px);
}

.fv_main_2 {
    display: flex;
    padding: min(15/1290*100vw, 15px) 0;
}

.fv_main_2 p {
    color: #fec000;
    transform: skewX(-10deg);
    font-size: min(70/1290*100vw, 70px);
    font-weight: 600;
    text-shadow: 5px 5px 0px rgba(0, 0, 0, 0.7);
    line-height: 1.2;
    letter-spacing: normal;
}

.fv_main_2_small {
    font-size: min(45/1290*100vw, 45px);
}

.fv_main_2 img {
    width: 5%;
    height: auto;
}

.fv_main_3 p {
    line-height: 1.7;
    font-size: min(24/1290*100vw, 24px);
    padding-bottom: min(30/1290*100vw, 30px);
}

#FV .button_inq {
    background-color: #00b573;
    border: none;
    border-radius: 40px;
    text-align: center;
    width: min(280/1290*100vw, 280px);
    padding: min(13/1290*100vw, 13px) 0;
    font-size: min(20/1290*100vw, 20px);
    box-shadow: 5px 5px 0px rgba(0, 0, 0, 0.4);
    margin-bottom: 20px;
    transition-duration: .4s;
}

#FV .button_inq:hover {
    transform: scale(1.03);
}

/*---------------------------------------------
#section_1
-----------------------------------------------*/
.section1_p {
    display: flex;
    text-align: center;
    justify-content: center;
    line-height: 1.7;
    padding-bottom: min(40/1290*100vw, 40px);
}

.section1_p p {
    font-size: min(26/1290*100vw, 26px);
}

#section_1 .dot-text {
    background-image: radial-gradient(circle at center, #005fc9 23%, transparent 23%);
    background-position: top top;
    background-repeat: repeat-x;
    background-size: 1em 0.5em;
    padding-top: .3em;
}

.section1_video {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
}

.section1_video iframe {
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    width: 85%;
    aspect-ratio: 16/9;
}

.section1_video_back {
    aspect-ratio: 16/9;
    margin: 0 auto;
    background: linear-gradient(180deg, #cde8ff 0%, #cde8ff 10%, white 0%, white 100%);
}

/*---------------------------------------------
#section_2
-----------------------------------------------*/
#section_2 {
    text-align: center;
}

.section_2_1 {
    display: flex;
    background-color: #dfdfdf;
    padding: min(50/1290*100vw, 50px) 0 0;
    justify-content: center;
    margin: 0 auto;
}

.section_2_1 p {
    background-color: white;
    padding: min(30/1290*100vw, 30px);
    margin-left: min(50/1290*100vw, 50px);
    border-radius: 20px;
    /* 以下吹き出し用 */
    position: relative;
    display: inline-block;
}

.section_2_1 p:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 25px solid #fff;
}

.section_2_2 {
    padding: min(40/1290*100vw, 40px) 0;
}

.section_2_2 p {
    line-height: 1.6;
}

.section_2_2 .p_blue {
    line-height: 2.3;
}

.section_2_3 p {
    padding-top: min(50/1290*100vw, 50px);
}

/*---------------------------------------------
#section_3
-----------------------------------------------*/
.section_3_1 {
    text-align: center;
    position: relative;
    padding-bottom: min(70/1290*100vw, 70px);
}

.section_3_1 p {
    font-size: min(16/1290*100vw, 16px);
    padding-bottom: min(10/1290*100vw, 10px);
}

.section_3_1 h2 {
    letter-spacing: 0.03em;
}

.section_3_1 h2::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    width: 2em;
    margin: 0 auto;
    content: "";
    border-bottom: #005fc9 1px solid;
}

.section_3_1 img {
    position: absolute;
    top: 0;
    right: 15%;
}

.section_3_fukidashi {
    background-color: #014189;
    width: 100%;
    padding: min(35/767*100vw, 35px) 0;
    position: relative;
    border-radius: 10px;
    top: -15%;
    margin: 0 auto;
}

.section_3_fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    border: 8px solid transparent;
    border-top: 10px solid #014189;
}

.section_3_fukidashi p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.section_3_2 {
    display: flex;
    justify-content: space-around;
    position: relative;
    background-color: #fff;
    box-shadow: 10px 10px 5px rgba(0, 0, 0, 0.2);
    width: min(1000/1290*100vw, 1000px);
    padding: 1em 0 1.5em;
    margin: 0 auto 15px;
    margin-top: 40px;
    z-index: 100;
}

.section_3_2_content {
    text-align: center;
    margin: 0 auto;
    flex-grow: 1;
    position: relative;
    width: min(300/1290*100vw, 300px);
    padding: 0 min(32/1290*100vw, 32px);
}

.section_3_dots::after {
    position: absolute;
    top: min(10/1290*100vw, 10px);
    left: 0;
    right: 0;
    margin: 0;
    content: "";
    height: 100%;
    border-left: #6b6b6b 1px dashed;
    border-right: #6b6b6b 1px dashed;
}

.section_3_2 img {
    width: min(250/1290*100vw, 250px);
    height: auto;
    object-fit: cover;
}

.section_3_2 li {
    list-style: disc;
    list-style-position: inside;
    font-size: min(16/1290*100vw, 16px);
    text-align: left;
    line-height: 1.5;
    padding-top: 10px;
}

.section_3_2 li::marker {
    font-size: 10px;
}

/*---------------------------------------------
section_4
-----------------------------------------------*/
#section_4 {
    padding: min(100/1290*100vw, 100px) 0;
}

h2 {
    text-align: center;
}

h2 span.en {
    font-size: 0.363em;
    line-height: calc(40/16);
    color: #005fc9;
    display: block;
}

span.blue {
    color: #005fc9;
    word-break: keep-all;
}

#section_4 .line,
#section_5 .line {
    width: 79px;
    height: 2px;
    background-color: #005fc9;
    margin: 1.263em auto 2.63em;
}

#section_4 .phrase {
    font-size: 1.58em;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    padding: 1.66em 0;
}

.section_4__img {
    width: 65.8%;
    margin: auto;
}

#section_4 .content_box {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: min(35/1290*100vw, 35px);
    margin-bottom: min(50/1290*100vw, 50px);
}

#section_4 .content_box__items {
    background-color: #eaf4fd;
    border-radius: 30px;
    width: 31%;
    max-width: 385px;
    box-shadow: 15px 15px 8px rgba(1, 65, 137, 0.2);
    padding: min(50/1290*100vw, 50px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
}

#section_4 .content_box__sp {
    display: none;
}

#section_4 .content_box__items01 img {
    max-width: 100px;
    height: auto;
}

#section_4 .content_box__items02 img {
    max-width: 96px;
    height: auto;
}

#section_4 .content_box__items img {
    margin-bottom: 1.75em;
    align-self: center;
}

#section_4 .content_box__items h3 {
    color: #005fc9;
    align-self: center;
    white-space: nowrap;
}

#section_4 .content_box__items p {
    margin-top: 1em;
}

#section_4 .blue_arrow {
    width: min(100%, 200px);
    margin: auto;
    position: relative;
}

#section_4 .blue_arrow p {
    color: #fff;
    font-weight: bold;
    font-size: 1.47em;
    display: inline;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.section_4__last p {
    font-size: 2.316em;
    line-height: calc(57/44);
    font-weight: bold;
    text-align: center;
    padding-top: 1em;
}

#section_4 span.middle {
    font-size: 0.818em;
    line-height: calc(33/30);
}

#section_4 span.under,
#section_5 span.under {
    background: linear-gradient(transparent 80%, #7fdab9 80%);
}

#section_4 br.br_tb {
    display: none;
}

@media screen and (max-width: 1024px) {
    #section_4 .content_box {
        flex-wrap: wrap;
        justify-content: center;
        gap: min(35/1023*100vw, 35px);
        margin-bottom: min(50/1023*100vw, 50px);
    }

    #section_4 .content_box__items {
        width: 40%;
        max-width: none;
    }

    #section_4 br.br_tb {
        display: block;
    }
}

/*---------------------------------------------
section_5
-----------------------------------------------*/
section#section_5 {
    background-color: #cde8ff;
    position: relative;
}

section#section_5 .content_wrap {
    padding: min(100/1290*100vw, 100px) 20px min(50/1290*100vw, 50px);
    position: relative;
}

.content_flow {
    background-color: #fff;
    box-shadow: 1px 1px 1px #000;
    padding: min(45/1290*100vw, 45px) min(50/1290*100vw, 50px) min(50/1290*100vw, 50px);
    box-shadow: 15px 15px 8px rgba(1, 65, 137, 0.2);
}

.content_flow__sp {
    display: none;
}

.content_flow h3 {
    text-align: center;
    margin-bottom: 0.8em;
}

.content_flow__point {
    position: absolute;
    top: 10%;
    left: 9%;
    width: 11.6%;
}

.content_flow__inner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 3%;
}

.content_flow__items {
    position: relative;
    margin: 0 -3%;
}

.content_flow__items:first-child h4,
.content_flow__items:nth-child(2) h4 {
    margin-top: 1em;
}

.content_flow__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: 70%;
    text-align: left;
}

.content_flow__items:first-child .content_flow__text {
	width: 75%;
	}

.content_flow__text p {
    width: 90%;
}

.content_flow__text02 {
    margin-left: 30px;
}

.content_flow__items h4 {
    font-size: 1.58em;
    line-height: calc(33/30);
    margin-bottom: 1em;
}

.section_5__last {
    text-align: center;
    padding: 3.05em 0 0;
}

.section_5__last p {
    font-size: 1.89em;
    line-height: calc(57/36);
    font-weight: bold;
}

.section_5__last p.blue {
    font-size: 2.316em;
    line-height: 1;
    padding-top: 0.795em;
    color: #005fc9;
    font-weight: bold;
}

@media screen and (max-width: 1024px) {
    .content_flow {
        padding: min(45/1023*100vw, 45px) 0 min(50/1023*100vw, 50px);
    }

    .content_flow__inner {
        flex-wrap: wrap;
        justify-content: flex-start;
        padding: 0 min(50/1023*100vw, 50px);
    }

    .content_flow__items:nth-child(2) {
        margin: 3% -4.5% 0;
        width: 50%;
    }

    .content_flow__items:first-child {
        width: 45%;
        margin: 3% -4.5% 0 0;
    }

    .content_flow__items {
        width: 50%;
        margin-top: 3%;
    }

    .content_flow__items:nth-child(3) {
        margin-left: 10%;
    }

    .content_flow__items:last-child {
        margin-left: -6%;
    }

    .content_flow__text {
        width: 65%;
    }

    .content_flow__text02 {
        margin-left: 8%;
    }

    .content_flow__point {
        left: 2%;
    }
}

/*---------------------------------------------
section_6
-----------------------------------------------*/
#section_6 .content_wrap {
    padding: min(100/1290*100vw, 100px) 20px;
}

#section_6 .triangle {
    width: 0;
    height: 0;
    border-top: min(50/750*100vw, 50px) solid #cde8ff;
    border-right: min(90/750*100vw, 90px) solid transparent;
    border-left: min(90/750*100vw, 90px) solid transparent;
    margin: 0 auto;
}

.section_6__text {
    font-size: 1.58em;
    line-height: 1.8;
    letter-spacing: 0.02em;
    font-weight: bold;
    text-align: center;
}

#section_6 span.dots {
    background-image: radial-gradient(circle at center, #005fc9 25%, transparent 25%);
    background-position: top right;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    padding-top: 3px;
}

.section_6__img {
    width: 65.9%;
    margin: auto;
}

.section_6__text02 {
    padding: 1.36em 0;
}

#section_6 .blue_box {
    background-color: #014189;
    color: #fff;
    font-size: 2.316em;
    line-height: calc(57/44);
    letter-spacing: 0.02em;
    font-weight: bold;
    padding: 1em;
    text-align: center;
    margin-bottom: min(50/1290*100vw, 50px);
    word-break: keep-all;
}

.contact {
    text-align: center;
}

a.contact_btn {
    text-decoration: none;
    background-color: #00b573;
    border-radius: 30px;
    padding: 1em;
    color: #fff;
    font-size: 1.158em;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    box-shadow: 8px 8px 2px rgba(1, 65, 137, 0.2);
    margin: 0 auto;
}

#FV a.contact_btn {
    box-shadow: 8px 8px 2px rgba(0, 0, 0, 0.4);
}

a.contact_btn:hover,
#FV a.contact_btn:hover {
    box-shadow: none;
    transform: translate(8px, 8px);
    transition: ease-in-out 0.3s;
}

#section_4 br.br_sp,
#section_5 br.br_sp {
    display: none;
}

/*---------------------------------------------
section_7～8：共通設定
-----------------------------------------------*/
/*青文字*/
.text_bule {
    color: #005fc9;
}

/*アンダーバー（青）*/
#section07 .title div,
#section08 .title div {
    background-color: #005fc9;
    width: 6.5%;
    height: 2px;
    margin-top: .45vw;
    margin-left: 1vw;
}

/*アンダーバー（緑）*/
.text_line {
    background: linear-gradient(transparent 80%, #7fdab9 80%);
}

/*強調点*/
.text_dots {
    background-image: radial-gradient(circle at center, #005fc9 20%, transparent 20%);
    /* 点の色とサイズ調整 */
    background-position: top right;
    /* 点の位置 */
    background-repeat: repeat-x;
    /* 横方向に繰り返し */
    background-size: 1em 0.3em;
    /* 点の間隔とサイズ調整 */
    padding-top: .1em;
    /* 縦方向の位置調整 */
}


/*---------------------------------------------
section07
-----------------------------------------------*/
#section07 {
    overflow: hidden;
    background-color: #cde8ff;
    width: 100%;
}

#section07 .title {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 4.6vw;
    gap: .6vw;
}

#section07 .title h2 {
    padding-left: 1vw;
}

#section07 .title picture {
    width: 13.8%;
    position: absolute;
    right: 12.3%;
    top: -10%;
}

#section07 .title picture img {
    width: 100%;
}

.section07_main {
    display: flex;
    flex-direction: row;
    align-items: start;
    justify-content: center;
    width: 100%;
    background-color: #fff;
    box-shadow: 1em 1em 1em rgba(1, 65, 137, .2);
    margin-top: 2.75em;
    gap: 3em;
    padding: 0 1em;
}

.section07_main .text {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    padding: 2.5em 0;
    gap: 2em;
}

.text_group1 {
    background-color: #cde8ff;
    border-radius: 1.5em;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: start;
    padding: 1.4em .75em 1.4em 1.6em;
    gap: .87em;
}

.text_group1 div {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: .5em;
}

.text_group1 div img {
    width: 2em;
}

.text_group1 div p {
    font-size: min(26 / 1290* 100vw, 26px);
    line-height: calc(33 / 26);
    text-align: left;
}

.text_group2 p {
    font-size: 1.58em;
    line-height: calc(48 / 30);
    font-weight: 700;
    text-align: left;
    width: 80%;
}

.chart_group {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: .4em;
    padding-top: 1.8em;
}

.chart {
    position: relative;
}

.chart p {
    position: absolute;
    z-index: 5;
    text-align: center;
    font-size: min(24 / 1290* 100vw, 24px);
    line-height: calc(28 / 24);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    color: #fff;
}

.chart img {
    width: 100%;
}

.chart_01 {
    width: 7.5em;
}

.chart_01 p {
    font-weight: 700;
    color: #000;
}

.chart_02 {
    width: 14.6em;
}

.chart_03 {
    width: 21.5em;
}

.section07_sub {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: 2.2em 0 4.5em;
}

.section07_sub p {
    font-size: min(36 / 1290* 100vw, 36px);
    line-height: calc(57 / 36);
    font-weight: 700;
}

.text_big {
    font-size: min(44 / 1290* 100vw, 44px);
    line-height: calc(57 / 44);
}

.section07_sub p:nth-child(4) {
    padding-top: .75em;
}

@media screen and (max-width: 1023px) {
    .section07_main {
        gap: .75em;
        padding: 0 2em;
    }

    .section07_sub p {
        font-size: 1.89em;
    }

    .text_big {
        font-size: 1.4em;
    }
}

@media screen and (max-width: 949px) {
    .section07_main {
        flex-direction: column;
        align-items: center;
        justify-content: start;
        gap: 0;
        padding: 0 2em 2em;
    }
    .section07_main .text {
        flex-direction: row;
        align-items: start;
        justify-content: center;
    }
    .text_group1 {
        width: 45%;
    }
    .text_group2 {
        width: 50%;
    }
    .text_group2 p {
        width: 100%;
    }
}

/*---------------------------------------------
section08
-----------------------------------------------*/
#section08 {
    width: 100%;
    overflow: hidden;
}

#section08 .title {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    margin-top: 4.6vw;
    gap: .6vw;
}

#section08 .title h2 {
    padding-left: 1vw;
    text-align: center;
}

.section08_main {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    padding: 3.9vw 0;
}

.section08_item {
    width: 100%;
    background: linear-gradient(to right, #fff, #dfdfdf);
}

.section08_item_re {
    width: 100%;
    background: linear-gradient(to left, #fff, #dfdfdf);
}

.section08_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.section08_wrap_re {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
}

.section08_wrap .text,
.section08_wrap_re .text {
    width: 49%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 2em;
}

.section08_wrap_re .text {
    padding-left: 2.75em;
}

.section08_wrap .text h4,
.section08_wrap_re .text h4 {
    font-size: min(30 / 1290* 100vw, 30px);
    line-height: calc(33 / 30);
    font-weight: 700;
    text-align: left;
}

.section08_wrap .text p,
.section08_wrap_re .text p {
    font-size: min(19 / 1290* 100vw, 19px);
    line-height: calc(27 / 19);
    height: auto;
    width: 91%;
    text-align: left;
}

.section08_wrap .img,
.section08_wrap_re .img {
    width: 51%;
    padding: 2.8em 0;
}

.section08_wrap .img img {
    width: 100%;
}


/*---------------------------------------------
section_9～11：共通設定
-----------------------------------------------*/
/*お問い合わせボタン*/
.container {
    position: relative;
    width: auto;
    margin: 2em auto;
}

.container img {
    width: 100%;
    height: auto;
}

.__wrap {
    padding-top: min(70 / 1290* 100vw, 70px);
    padding-bottom: min(100 / 1290* 100vw, 100px);
}

.__wrap h2 span.title_eng {
    font-size: min(16/1290*100vw, 16px);
    line-height: calc(40/16);
    color: #005fc9;
}

.__wrap h2.title {
    font-weight: 800;
    position: relative;
    text-align: center;
}

.__wrap h2.title::after {
    position: absolute;
    content: "";
    background: linear-gradient(transparent 98%, #005fc9 90%);
    width: min(79/1290*100vw, 79px);
    height: 100%;
    bottom: -22px;
    left: 50%;
    transform: translateX(-50%);
}

.__inner {
    margin: min(70 / 1290* 100vw, 70px) auto 0;
}

@media all and (max-width: 1024px) {
    .__wrap h2 span.title_eng {
        font-size: min(16 / 1024* 100vw, 16px);
    }

    .__inner {
        margin: min(70 / 1024* 100vw, 70px) auto min(30 / 1024* 100vw, 30px);
    }

    .__wrap h2.title::after {
        width: min(79 / 1024*100vw, 79px);
    }
}

/*---------------------------------------------
section_9
-----------------------------------------------*/
#section_9 {
    background-color: #cde8ff;
}

.wrap_9 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    max-width: 1290px;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.title_9 {
    color: #005fc9;
    text-align: center;
}

.detail_9 {
    margin: 0;
    color: #000;
    padding-bottom: min(20/1290*100vw, 20px);
    letter-spacing: -1px;
    text-align: left;
}

.list_9 {
    margin: 0.5em auto;
    padding-top: min(45/1290*100vw, 45px);
    width: 96%;
    background: #fff;
    box-shadow: 10px 10px 5px rgba(164, 199, 231, 0.41);
}

.list_9 h3.title_9 {
    padding: 0 min(35/1290*100vw, 35px) 0;
    font-size: min(26/1290*100vw, 26px);
    line-height: calc(28/26);
}

.list_9_wrap {
    padding: min(20/1290*100vw, 20px) min(45/1290*100vw, 45px) min(35/1290*100vw, 35px);
}

.list_9.jisseki {
    background: none;
    box-shadow: none;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    padding-left: min(6/1290*100vw, 6px);
}

.list_9.jisseki h3 {
    padding-bottom: min(15/1290*100vw, 15px);
    font-size: min(26/1290*100vw, 26px);
    text-align: left;
}

.list_9.jisseki p {
    color: #000;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    letter-spacing: -1px;
    line-height: calc(28/26);
    padding-top: min(5/1290*100vw, 5px);

}

@media all and (min-width: 1077px) {
    .list_9 {
        width: calc(92.5% / 3);
    }
}

@media screen and (max-width: 1076px) {
    .list_9 {
        margin: 0.5em 0;
        width: calc(96% / 2);
    }
}

@media screen and (max-width: 1024px) {

    .list_9 h3.title_9,
    .list_9.jisseki h3 {
        font-size: min(26/1024*100vw, 26px);
    }
}


/*---------------------------------------------
section_10
-----------------------------------------------*/

.wrap_10 {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.detail_10 {
    margin-right: -0.2em;
    position: relative;
}

.detail_10 .num {
    font-size: min(47/1290*100vw, 47px);
    padding-bottom: min(25/1290*100vw, 25px);
}

.detail_10 .flow {
    font-weight: 700;
    font-size: min(30/1290*100vw, 30px);
    line-height: calc(33/30);
}

.detail_10 p {
    width: 100%;
    line-height: calc(33/30);
    position: absolute;
    top: 20%;
    left: 45%;
    -ms-transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.detail_10 p.last {
    left: 50%;
    width: 100%;
}

.detail_10 p.last .num {
    padding-bottom: min(10/1290*100vw, 10px);
}

.detail_10 .sp {
    display: none;
}

/*---------------------------------------------
section_11
-----------------------------------------------*/
#section_11 {
    background-color: #dfdfdf;
}

.wrap_11 p {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    line-height: calc(36/26);
    color: #000;
    text-align: left;
    gap: 1em;
    padding: min(10/1290*100vw, 10px) min(10/1290*100vw, 10px) min(20/1290*100vw, 20px) min(50/1290*100vw, 50px);
    align-items: baseline;
    margin-bottom: min(15/1290*100vw, 15px);
    font-size: min(30/1290*100vw, 30px);
    letter-spacing: 1px;
}

.wrap_11 p.bg {
    background-color: #fff;
}

.wrap_11 p .quest,
.wrap_11 p .ans {
    font-size: min(47/1290*100vw, 47px);
}

.wrap_11 p .quest {
    color: #005fc9;
}

.wrap_11 p .quest_txt {
    font-weight: 700;
}

@media screen and (max-width: 1024px) {
    .wrap_11 p span {
        font-size: min(26/1024*100vw, 26px);
    }

    .wrap_11 p .quest,
    .wrap_11 p .ans {
        font-size: min(47/1024*100vw, 47px);
    }
}

/*---------------------------------------------
section_12
-----------------------------------------------*/
.wrap_12 {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

.content_12 {
    display: flex;
    flex-direction: column;
    padding: min(100 / 1290* 100vw, 100px) 0 0 min(85 / 1290* 100vw, 85px);
    z-index: 1;
    width: 60%;
    margin-right: -15em;
    height: auto;
}

.content_12 .green_line {
    text-align: center;
    position: relative;
}

.content_12 .green_line::after {
    position: absolute;
    content: "";
    background: linear-gradient(transparent 75%, #7fdab9 77%);
    width: 94%;
    height: 100%;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
}

.content_12 .dot {
    background-position: top left 0px;
    background-repeat: repeat-x;
    background-size: 1em 0.3em;
    background-image: radial-gradient(0.1em 0.1em at center center, #005fc9, #005fc9 100%, transparent, transparent);
    padding-top: 0.1em;
}

.content_12 .attn {
    font-size: 120%;
}

.content_12_img {
    margin-right: -3em;
    width: 75%;
}

.content_12_img.pc {
    display: flex;
}

.content_12_img.sp {
    display: none;
}

.content_12 p {
    font-size: min(30/1290*100vw, 30px);
    line-height: calc(48/30);
    text-align: center;
    font-weight: 700;
    letter-spacing: 1px;
}

.content_12 p .blue {
    color: #005fc9;
}

.content_12 p.sp {
    display: none;
}

.content_12 p.pc {
    display: block;
}

@media screen and (max-width: 1024px) {
    .content_12 {
        padding: calc(65/1024*100vw) calc(50/1024*100vw);
        margin: 0 auto;
        width: 100%;
    }

    .wrap_12 {
        display: block;
    }

    .content_12_img.pc {
        display: none;
    }

    .content_12_img.sp {
        display: block;
        width: 100%;
    }

    .content_12 p {
        font-size: min(30/1024*100vw, 30px);
        letter-spacing: -1.5px;
    }

    .content_12 p.sp {
        display: block;
    }

    .content_12 p.pc {
        display: none;
    }
}
