@charset "UTF-8";
/* CSS Document */

html{font-size: 62.5%;}
body{
	font-size:1.6rem;/* 16px*/
    font-family: 'M PLUS Rounded 1c', sans-serif;
    background: url("../images/00_bg.png") center top #edf9ff;
}
a{transition: .3s;}
a:hover {opacity: .6;}
h1 {line-height: 0;}
h2 {
    width:100%;
    padding-top: 80px;
    margin-top:-80px;
    line-height: 0;
}
@media screen and (max-width: 768px) {
    h2 {
        width:100%;
        padding-top: 0;
        margin-top: 0;
        line-height: 0;
    }
}
h2 img {
    width:100%;
    height:auto;
    }
.txt24 {
    font-size: 2.4rem;
    color: #c56c6c;
    font-weight: bold;
}
@media screen and (max-width: 768px) {
    .pc{display: none;}
}
@media screen and (min-width: 768px) {
    .sp{display: none;}
}


/* header */
header {
    width:100%;
    height:80px;
    background: url("../images/01_header_bg.png") center center;
    position: fixed;
    z-index: 100;
}
header nav {
    width:940px;
    margin:0 auto;
}
header nav ul {
    width:100%;
    height:80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header nav ul li.share {
    display: flex;
    align-items: center;
    gap:32px;
}
header nav ul li.share ul {
    gap:16px;
}
@media screen and (max-width: 768px) {
    header {
        height:52px;
        position: inherit;
    }
}

/* sp nav */
.menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    height: 52px;
    width: 52px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #b38c71;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
    transition: .3s;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    right: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    left: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
display: none;
}
.menu-content {
    width: 50%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;
    z-index: 80;
    background-color: #855a3c;
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    left: 50%;
}
.menu-content ul {
    margin: 64px 0 0 0;
    text-align: center;
}
.menu-content ul li {
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 2rem ;
    letter-spacing: .1em;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 16px 0;
    position: relative;
}
.menu-content ul li.share {
    padding:40px 0 0 0;
}
.menu-content ul li ul{
    margin: 0;
    padding:24px 0 0 0;
    display: flex;
    justify-content: center;
    gap:32px;
}
.menu-content ul li ul li a{
    padding:0;
}

/* kv */
.kv {
    padding:80px 0 0 0;
    width:100%;
}
.kv img {
    width:100%;
    height:auto;
}
@media screen and (max-width: 768px) {
    .kv {
        padding:0;
    }
}
.contents {
    width:100%;
    max-width:980px;
    margin:0 auto;
    background: #fff;
}

.outline .detail {
    background: url("../images/02_bg.png") center top no-repeat;
    background-size: cover;
    padding:0 0 40px 0;
}
.outline .detail p {
    text-align: center;
    margin:16px 0 0 0;
}
@media screen and (max-width: 768px) {
    .outline .detail{
        width:100%;
        padding:0 0 24px 0;
    }
    .outline .detail p {
        width:100%;
        margin:24px 0 0 0;
    }
    .outline .detail p img{
        width:90%;
        height:auto;
    }
}
.outline .map {
    background: url("../images/02_bottom_bg.png") center top no-repeat;
    background-size: cover;
    padding:40px 0 80px 0;
    background-repeat: repeat-y;
}
.outline .map .map_img {
    padding:16px 16px 16px 16px;
    display: flex;
    align-items: center;
    flex-direction: column;
}
@media screen and (max-width: 768px) {
    .outline .map {
        width:100%;
        background-size: contain;
        padding:0 0 24px 0;
    }
    .outline .map .map_img {
        width:100%
    }
    .outline .map .map_img img{
        width:100%;
        height:auto;
    }
}
.outline .map .covid {
    background: #fff;
    width:920px;
    padding:24px;
    margin:48px auto;
}
.outline .map .covid ul{
    margin:16px 0 0 0;
    font-size: 2rem;
    font-weight: bold;
}
.outline .map .covid ul li {
    margin:0 0 0.75em 0;
}
.outline .map .covid ul li:before {
    content:'・';
}
.outline .map .covid .bg_y {
  background: linear-gradient(transparent 0%, #FFF2AF 0%);
  padding: 0;
}
.outline .map .ec_bnr {
    text-align: center;
    display: block;
}
@media screen and (max-width: 768px) {
    .outline .map .covid {
        width:94%;
        padding:16px;
        margin:24px auto;
    }
    .outline .map .covid p{
        font-size: 1.6rem;
        margin:16px 0;
    }
    .outline .map .covid ul{
        font-size: 1.8rem;
    }
    .outline .map .ec_bnr {
        width:100%;
    }
    .outline .map .ec_bnr img{
        width:90%;
        height:auto
    }
}
.news_area {
    padding:64px 40px;
    display: flex;
    justify-content: space-between;
}
.news_block {
    width:440px;
}
.news_block h3 {
    line-height: 0;
}
.news_box {
    padding:0 8px 0 0;
    height:440px;
    overflow: scroll;
    line-height: 1.5em;
}
.news_box.news{
    border:1px solid #E4F0EE;
    padding:24px;
}
.news_box p{
    margin:0 0 16px 0;
}
@media screen and (max-width: 768px) {
    .news_area {
        padding:24px 0px;
        display: flex;
        justify-content: space-between;
        flex-flow:column;
    }
    .news_block {
        width:90%;
        margin:0 auto;
    }
    .news_block:first-of-type {
        margin-bottom:24px;
    }
    .news_block h3 img{
        height:40px;
        width:auto;
    }
    .news_box {
        padding:16px;
        height:320px;
    }
}

.special .container{
    background: #fffdf5;
}
.special_area {
   padding:64px 0 0 0;
}
.ec{
    margin:80px 0 0 0;
    background: #fffdf5;
}
.special_area h3 {
    text-align: center;
    margin:0 0 32px 0;
}
.special_area .txt {
    font-size: 2rem;
    text-align: center;
    line-height: 1.75em;
    color: #515f88;
}
.special_area figure {
    margin:40px auto 0;
    max-width:900px;
    width:100%;
}
.special_area figure img {
    width:100%;
    height:auto;
}
.special_area .note {
    color: #c56c6c;
    margin:16px 0 0 0;
    text-align: center;
}
.special .notice {
    padding:40px;
    color: #515f88;
}
.special .notice li {
    margin:0 0 16px 0;
    position: relative;
    left:24px;
}
.special .notice li:before {
    content:'・';
    position: absolute;
    left:-24px;
}
@media screen and (max-width: 768px) {
    .special_area {
       padding:0% 0 0 0;
    }
    .special_area h3 {
        margin:0 0 24px 0;
    }
    .special_area h3 img{
        height:auto;
        width:auto;
    }
    .special_area .txt {
        font-size: 1.6rem;
        width: 90%;
        margin:0 auto;
        text-align: left;
    }
    .special_area .note {
        margin:16px auto 0;
        text-align: left;
        width:90%;

    }
    .special .notice {
        padding:16px;
    }
    .special .notice li {
        margin:0 0 16px 0;
        padding:0 8px 0 0;
        position: relative;
        left:12px;
    }
    .special .notice li:before {
        content:'・';
        position: absolute;
        left:-16px;
    }
}

.item_area {
    max-width:900px;
    width:100%;
    margin:0px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: rgb(255, 255, 255);
    border: 10px red;
}
.item_box {
    width:430px;
    margin:0 0 48px 0;
}
.item_box:nth-child(2n+1):last-child {
    width: 100%;
}
.item_box figure {
    margin:0 0 16px 0;
}
.item_box figure img {
    width:100%;
    height:auto;
}
.item_box h3 {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5em;
    margin:0 1em 8px;
}
.item_box p {
    font-size: 1.4rem;
    margin:0 1em 8px;
}
.item .notice {
    background: #ffffff;
    padding:32px 40px;
}
.item .notice h3 {
    text-align: center;
    margin:0 0 32px 0;
}
.item .notice ul {
    font-size: 2rem;
    font-weight: bold;
}
.item .notice ul li {
    margin:0 0 16px 0;
    padding:0 24px 0 0 ;
    position: relative;
    left:24px;
}
.item .notice ul li:last-of-type {
    margin:0;
}
.item .notice li:before {
    content:'・';
    position: absolute;
    left:-24px;
}
@media screen and (max-width: 768px) {
    .item_area {
        width:90%;
        margin:24px auto;
        flex-flow:column;
    }
    .item_box {
        width:94%;
        margin:0 auto 32px;
    }
    .item_box figure {
        margin:0;
    }
    .item_box h3 {
        font-size: 1.8rem;
    }
    .item_box p {
        font-size: 1.6rem;
    }
    .item .notice {
        background: #f2f2f2;
        padding:32px 24px;
    }
    .item .notice h3 img{
        height:40px;
        width:auto;
    }
    .item .notice ul {
        font-size: 1.8rem;
    }
    .item .notice ul li {
        margin:0 0 16px 0;
        padding:0;
        left:8px;
    }
    .item .notice ul li:last-of-type {
        margin:0;
    }
    .item .notice li:before {
        content:'・';
        position: absolute;
        left:-24px;
    }
    
}


.faq .container{
    padding:0 0 120px 0;
}
.faq .faq_box {
    max-width:900px;
    width:100%;
    margin:0 auto;
    font-size: 2rem;
    padding:40px 0;
    line-height: 1.5em;
}
.faq .faq_box a {
    text-decoration: underline;
    color:#FFBA53;
}
.faq .faq_box dt.q {
    position: relative;
    left:88px;
    top:20px;
    padding:0 88px 0 0;
    color: #515f88;
}
.faq .faq_box dt.q:before{
    content:'';
    display: block;
    width:77px;
    height:71px;
    background: url("../images/06_q.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    top:-20px;
    left:-88px;
}
.faq .faq_box dd.a {
    margin:64px 0 0 0;
    position: relative;
    left:88px;
    top:20px;
    padding:0 88px 0 0;
    color: #515f88;
}
.faq .faq_box dd.a:before{
    content:'';
    display: block;
    width:77px;
    height:71px;
    background: url("../images/06_a.png") center center no-repeat;
    background-size: cover;
    position: absolute;
    top:-20px;
    left:-88px;
}
.faq .faq_box dd.a ul {
    margin:16px 0 0 0;
    font-size: 1.4rem;
}
.faq .faq_box dd.a ul li {
    margin:0 0 8px 0;
}
@media screen and (max-width: 768px) {
    .faq .container{
        padding:0 0 64px 0;
    }
    .faq .faq_box {
        margin:0 auto;
        font-size: 1.6rem;
    }
    .faq .faq_box dt.q {
        position: relative;
        left:0;
        top:20px;
        padding:0 0 0 72px;
        width:98%;
    }
    .faq .faq_box dt.q:before{
        width:60px;
        height:60px;
        background-size: contain;
        top:-20px;
        left:0;
    }
    .faq .faq_box dd.a {
        margin:40px 0 0 0;
        position: relative;
        left:0;
        top:20px;
        padding:0 0 0 72px;
        width:98%;
    }
    .faq .faq_box dd.a:before{
        width:60px;
        height:60px;
        background-size: contain;
        top:-20px;
        left:0;
    }
}
footer {
    width:100%;
    background: #55B9DE;
    padding:32px 0;
    text-align: center;
    color: #fff;
}
