@charset "Shift_JIS";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');



/*-----------------------------------------
-------------------------------------------
-------------------------------------------
-------------------------------------------

目次　※各々レスポンシブ対応あり

01 共通部分設定＆リセットCSS
02 ヘッダーの設定
03 コンテンツの設定
04 フッターの設定
05 TOPに戻る設定

-------------------------------------------
-------------------------------------------
-----------------------------------------*/

/*-----------------------------------------
01 共通部分設定＆リセットCSS
-------------------------------------------*/

section.main__section--application.jirei {
    background: #e6f0f4;
    padding-bottom: 0;
}

div.body-jirei {
    margin: auto;
    min-width: 1200px;
    background: #e6f0f4;
    padding: 0px 0 80px;
}

@media screen and (max-width:768px) {
    div.body-jirei {
        min-width: auto;
    }
}

div.body-jirei * {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 0;
    margin: 0;

    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
}

.center {
    width: calc(100% - 40px);
    max-width: 900px;
    margin: auto;
    padding: 0;
    text-align: center;
}

.body-jirei a {
    transition: all 0.3s ease 0s;
    text-decoration: none;
}

.body-jirei a:hover {
    opacity: 1;
}

.body-jirei img {
    width: 100%;
    height: auto;
    vertical-align: top;
}

.body-jirei p,
.body-jirei h1,
.body-jirei h2,
.body-jirei h3,
.body-jirei span,
.body-jirei div {
    text-shadow: none;
}

.body-jirei ul,
.body-jirei li {
    list-style-type: none;
}

.pc {
    display: block !important;
}

.sp {
    display: none !important;
}

@media screen and (max-width:768px) {
    .sp {
        display: block !important;
    }

    .pc {
        display: none !important;
    }
}


:root {
    --blue01: #203e9e;
    --winered01: #9b2150;
    --gray01: #666666;
}

/*-----------------------------------------
01 共通部分設定＆リセットCSS　ここまで
-------------------------------------------*/


/*-----------------------------------------
02 ヘッダーの設定
-------------------------------------------*/
/*TOP　幅*/
article.headGrp {
    width: calc(100% - 10px);
    max-width: 1200px;
    margin: auto;
    padding-bottom: 160px;
}

/*TOP　日本地図*/
div.map {
    width: 100%;
    max-width: 1100px;
    margin: auto 0 auto auto;
}

/*TOP タイトル・テキスト部分*/
div.map-text {
    top: 0;
    left: 0;
}

div.map-text h1 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 0.35em;
}

div.map-text h2 {
    font-weight: 800;
    font-size: 39px;
    color: var(--blue01);
    line-height: 1.25;
    margin-bottom: 0.35em;
}

div.map-text p {
    font-weight: 500;
    font-size: 18px;
    color: var(--blue01);
    padding-left: 1em;
    text-indent: -1em;
}

/*TOP ピン留め*/

ul.map-btn-list li::after {
    content: "";
    display: block;
    height: 14px;
    position: absolute;
}

ul.map-btn-list li.btn-gray:after {
    width: 200px;
    background: url(../img/jirei/border-gray.png)no-repeat center right;
}

ul.map-btn-list li.btn-blue:after {
    width: 200px;
    background: url(../img/jirei/border-blue.png)no-repeat center right;
}

ul.map-btn-list li.btn-winered:after {
    width: 200px;
    background: url(../img/jirei/border-winered.png)no-repeat center right;
}



/*ボタン*/
ul.map-btn-list li a,
ul.map-btn-list li a span {
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
}

ul.map-btn-list li a {
    display: block;
    width: 100%;
    min-width: 180px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    border-radius: 200px;
    position: relative;
    z-index: 10;
    white-space: nowrap;
}

ul.map-btn-list li a::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

ul.map-btn-list li a span {
    display: block;
    font-size: 13px;
    font-weight: 500;
}

/*色違い*/
ul.map-btn-list li.btn-blue a {
    background: var(--blue01);
    padding: 1em 2.5em 1em 1.75em;
}

ul.map-btn-list li.btn-blue a:hover {
    background: #1b8cce;
}

ul.map-btn-list li.btn-blue a::after {
    background: url(../img/jirei/icon01.png)no-repeat center / contain;
}

ul.map-btn-list li.btn-gray a {
    background: var(--gray01);
    padding: 0.75em 1.75em;
    pointer-events: none;
    font-size: 16px;
    border-radius: 7px;
}

ul.map-btn-list li.btn-gray a::after {
    display: none;
}

ul.map-btn-list li.btn-wine a {
    background: var(--winered01);
    padding: 0.75em 2.25em 0.75em 1em;
}

ul.map-btn-list li.btn-wine a:hover {
    background: #d33672;
}

ul.map-btn-list li.btn-wine a::after {
    background: url(../img/jirei/icon02.png)no-repeat center / contain;
}





/*岩手県 釜石市*/
ul.map-btn-list li.kamaishi {
    top: 33%;
    left: 84%;
}

ul.map-btn-list li.kamaishi::after {
    top: 100%;
    left: -36%;
    transform: translateY(-50%) rotate(135deg);
    width: 150px;
}

/*山形県 東根市*/
ul.map-btn-list li.higashine {
    top: 30%;
    left: 55%;
}

ul.map-btn-list li.higashine::after {
    width: 175px;
    top: 217%;
    right: -46%;
    transform: translateY(-50%) rotate(75deg);
}

/*宮城県 黒川郡大郷町*/
ul.map-btn-list li.oosato {
    top: 43%;
    left: 84%;
}

ul.map-btn-list li.oosato::after {
    top: 100%;
    left: -50%;
    transform: translateY(-50%) rotate(155deg);
    width: 140px;
}


/*栃木県 さくら市*/
ul.map-btn-list li.sakura {
    top: 38%;
    left: 44%;
}

ul.map-btn-list li.sakura::after {
    top: 190%;
    right: -59%;
    transform: translateY(-50%) rotate(60deg);
}

/*茨城県 小美玉市*/
ul.map-btn-list li.omitama {
    top: 54%;
    left: 75%;
}

ul.map-btn-list li.omitama::after {
    top: 100%;
    left: -50%;
    transform: translateY(-50%) rotate(146deg);
    width: 140px;
}

/*山梨県 大月市*/
ul.map-btn-list li.ootsuki {
    top: 62%;
    left: 73%;
}

ul.map-btn-list li.ootsuki::after {
    top: 50%;
    left: -83%;
    transform: translateY(-50%) rotate(177deg);
}

/*神奈川県 藤沢市*/
/* ul.map-btn-list li.fujisawa {
    top: 75%;
    left: 78%;
}

ul.map-btn-list li.fujisawa::after {
    top: 62%;
    left: -40%;
    transform: translateY(-50%) rotate(170deg);
} */

/*神奈川県 逗子市*/
/* ul.map-btn-list li.zushi {
    top: 85%;
    left: 75%;
}

ul.map-btn-list li.zushi::after {
    top: 62%;
    left: -40%;
    transform: translateY(-50%) rotate(170deg);
} */



/*静岡県 焼津市*/
/* ul.map-btn-list li.yaizu {
    top: 73%;
    left: 36%;
}

ul.map-btn-list li.yaizu::after {
    top: 139%;
    left: 51%;
    transform: rotate(87deg);
} */

/*静岡県 島田市*/
/* ul.map-btn-list li.shimada {
    top: 83%;
    left: 36%;
}

ul.map-btn-list li.shimada::after {
    top: 62%;
    left: -40%;
    transform: translateY(-50%) rotate(170deg);
} */

/*静岡県 磐田市*/
/* ul.map-btn-list li.iwata {
    top: 93%;
    left: 36%;
}

ul.map-btn-list li.iwata::after {
    width: 110px;
    top: -14%;
    left: -30%;
    transform: rotate(222deg);
} */

/*愛知県 高浜市*/
/* ul.map-btn-list li.takahama {
    top: 43%;
    left: 10%;
}

ul.map-btn-list li.takahama::after {
    width: 110px;
    top: -14%;
    left: -30%;
    transform: rotate(222deg);
} */


/*愛知県 瀬戸市*/
/* ul.map-btn-list li.seto {
    top: 53%;
    left: 10%;
}

ul.map-btn-list li.seto::after {
    top: 139%;
    left: 51%;
    transform: rotate(87deg);
} */

/*静岡県 湖西市*/
/* ul.map-btn-list li.kosai {
    top: 63%;
    left: 10%;
}

ul.map-btn-list li.kosai::after {
    top: -76%;
    left: -23%;
    transform: rotate(-81deg);
} */

/*鳥取県 八頭町*/
ul.map-btn-list li.yazu {
    top: 44%;
    left: 26%;
}

ul.map-btn-list li.yazu::after {
    top: 120%;
    left: 64%;
    transform: rotate(70deg);
    width: 140px;
}

/*高知県 高岡郡越知町*/
ul.map-btn-list li.ochityou {
    top: 75%;
    left: 34%;
}

ul.map-btn-list li.ochityou::after {
    top: -19%;
    left: -13%;
    transform: rotate(-77deg);
    width: 111px;
}

/*広島県 江田島市*/
ul.map-btn-list li.etajima {
    top: 52%;
    left: 16%;
}

ul.map-btn-list li.etajima::after {
    op: 117%;
    left: 77%;
    transform: rotate(60deg);
    width: 100px;
}






@media screen and (min-width:769px) {

    article.headGrp {
        position: relative;
    }

    div.map-text {
        position: absolute;
    }

    ul.map-btn-list li {
        position: absolute;
        transform: translate(-50%, -50%);
    }
}

@media screen and (max-width:768px) {
    article.headGrp {
        padding-bottom: 30px;
    }

    div.map {
        display: none;
    }

    div.map-text {
        max-width: 500px;
        margin: auto auto 30px;
    }

    div.map-text h1 {
        flex-direction: column;
        justify-content: center;
    }

    div.map-text h2 {
        font-size: 36px;
        text-align: center;
    }

    div.map-text p {
        text-align: center;
        padding-left: 0;
        text-indent: 0;
    }

    div.map-btn {
        padding: 20px 0;
        max-width: 400px;
        margin: auto;
    }

    ul.map-btn-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 15px;
    }

    ul.map-btn-list li::after {
        display: none;
    }
}


@media screen and (max-width:375px) {
    div.map-text h1 {
        width: 85%;
        margin: auto auto 0.5em;
        font-size: 8vw;
    }

    div.map-text h2 {
        font-size: 8.25vw;
    }

    div.map-text p {
        font-size: 4.5vw;
    }

    ul.map-btn-list li a {
        font-size: 16px;
    }
}




/*同じ県が2個以上ある場合*/
li.btn-wrap {
    display: inline-block;
    position: absolute;
}

ul.map-btn-list li.btn-wrap::after {
    content: "";
    display: block;
    height: 14px;
    position: absolute;
    width: 200px;
    background: url(../img/jirei/border-blue.png) no-repeat center right;
    z-index: 1;
}

li.btn-wrap ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 13px;
    background: #e6f0f4;
    border-radius: 13px;
    border: 3px dotted var(--blue01);
    position: relative;
    z-index: 10;
}



li.btn-wrap ul li {
    position: inherit;
    transform: none;
}


li.btn-wrap ul li::after {
    display: none;
}

ul.map-btn-list li.btn-wrap ul li a {
    font-size: 16px;
    min-width: 200px;
}

ul.map-btn-list li.btn-wrap li a::after {
    width: 15px;
    height: 15px;
    right: 15px;
}

ul.map-btn-list li.btn-wrap li.btn-blue a {
    padding: 0.75em 2em 0.75em;
}



ul.map-btn-list li.btn-wrap li.btn-gray a {
    padding: 0.75em;
}

/*神奈川県*/
li.btn-wrap.kanagawa-wrap {
    top: 74%;
    left: 82%;
}

ul.map-btn-list li.btn-wrap.kanagawa-wrap::after {
    transform: rotate(194deg);
    top: 1%;
    left: -89%;
    width: 220px;
}

/*静岡県*/
li.btn-wrap.shizuoka-wrap {
    top: 86%;
    left: 60%;
}

ul.map-btn-list li.btn-wrap.shizuoka-wrap::after {
    transform: rotate(235deg);
    top: 5%;
    left: -14%;
}

/*愛知県*/
li.btn-wrap.aichi-wrap {
    top: 88%;
    left: 37%;
}

ul.map-btn-list li.btn-wrap.aichi-wrap::after {
    transform: rotate(-90deg);
    top: -42%;
    left: 54%;
}



/*自治体ロゴがある場合*/
ul.map-btn-list li.btn-logo.btn-gray a {
    background: #fff;
    border: 3px solid var(--gray01);
    padding: 3px !important;
}

ul.map-btn-list li.btn-logo img {
    max-width: 150px;
}

/*-----------------------------------------
02 ヘッダーの設定　ここまで
-------------------------------------------*/

/*-----------------------------------------
03 コンテンツの設定
-------------------------------------------*/

article.mainGrp {
    width: 100%;
    max-width: 1600px;
    margin: 5% auto auto;
    padding: 60px 10px;
    border-radius: 20px;
    background: #fff;
}

article.mainGrp h2 {
    font-size: 45px;
    font-weight: 800;
    text-align: center;
    color: var(--blue01);
    margin-bottom: 1em;
}

div.thoughts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    width: 100%;
    max-width: 1200px;
    margin: auto;
}

div.thoughts-item {
    position: relative;
    width: calc(100% - 20px);
    margin: 0 auto auto 0;
    z-index: 99;
}

div.thoughts-item::after {
    content: "";
    display: block;
    width: 88%;
    height: 300px;
    background: #203E9E;
    background: linear-gradient(90deg, #203e9e 0%, #19a7e9 50%, #13d6dd 100%);
    position: absolute;
    top: 0;
    right: -20px;
    border-radius: 20px;
    z-index: 1;
}

div.illust-title {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 0 20px;
    width: 90%;
    margin: auto;
    position: relative;
    z-index: 99;
}

div.illust-title div.illust {
    display: flex;
    align-items: flex-end;
}

div.illust-title h3 {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    text-align: center;
    position: relative;
    padding-right: 1.7em;
    z-index: 99;
    line-height: 1.35;
}

div.thoughts-text {
    background: #e6f0f4;
    border: 2px solid var(--blue01);
    padding: 30px;
    border-radius: 20px;
    position: relative;
    z-index: 99;
}

div.thoughts-text h4,
div.thoughts-text p {
    color: var(--blue01);
}

div.thoughts-text h4 {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.05em;
    padding: 0 0.25em 15px;
    border-bottom: 2px solid var(--blue01);
    text-align: left;
}

div.thoughts-text h4.small {
    font-size: 21px;
}

div.thoughts-text p {
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1.5;
    font-weight: 600;
    padding-top: 15px;
    text-align: left;
}


@media screen and (max-width:768px) {
    article.mainGrp h2 {
        font-size: 36px;
    }

    div.thoughts-grid {
        grid-template-columns: 1fr;
        padding: 0 10px 0 0;
        max-width: 500px;
    }

    div.thoughts-item {
        width: calc(100% - 10px);
    }

    div.illust-title h3 {
        font-size: 26px;
        padding-right: 1em;
    }

    div.thoughts-text h4 {
        font-size: 24px;
    }
}

@media screen and (max-width:500px) {
    div.illust-title {
        grid-template-columns: 1.2fr 2fr;
    }

    div.illust-title h3 {
        font-size: 5vw;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-right: 0.75em;
    }

    div.thoughts-text {
        padding: 5vw 6vw;
        border-radius: 4vw;
    }

    div.thoughts-text h4 {
        font-size: 4.75vw;
    }

    div.thoughts-text p {
        font-size: 14px;
    }

    #comment03 div.thoughts-text h4 {
        font-size: 4.25vw;
    }
}

/*-----------------------------------------
03 コンテンツの設定ここまで
-------------------------------------------*/

/*-----------------------------------------
04 フッターの設定
-------------------------------------------*/

@media screen and (max-width:1080px) {}

@media screen and (max-width:768px) {}

/*-----------------------------------------
04 フッターの設定ここまで
-------------------------------------------*/



/*-----------------------------------------
05 TOPに戻るの設定
-------------------------------------------*/
/*TOPにもどる*/
#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 10px;
    bottom: -50px;
    background: #5dc993;
    opacity: 0.8;
    border-radius: 50%;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f077';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 50px;
    height: 50px;
    top: 0px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 0;
    text-align: center;
}


/*-----------------------------------------
05 TOPに戻るの設定ここまで
-------------------------------------------*/