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





header.mobile {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(18px * 6);
  z-index: 99999999999;
  -webkit-transition: .3s;
  transition: .3s;
}

header.mobile .logo {
  display: inline-block;
  position: relative;
  top: 18px;
  left: 25px;
  width: calc(240px / 2);
}

header.mobile .logo a {
  display: block;
}

header.mobile .logo img {
  width: calc(240px / 2);
  height: auto;
}

header.mobile .headerNav {
  position: fixed;
  right: -100%;
  /* これで隠れる */
  top: 0;
  width: 100%;
  /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 10px;
  background-color: #FFF;
  -webkit-transition: all .6s;
  transition: all .6s;
  z-index: 200;
  overflow-y: auto;
  /* メニューが多くなったらスクロールできるように */
  opacity: 0;
}

header.mobile .headerNav .btn--reservation {
  width: 240px;
}

header.mobile .headerNav .nav__block {
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

header.mobile .headerNav .nav__block li {
  text-align: center;
  padding: 0 14px;
}

header.mobile .headerNav .nav__block li a {
  letter-spacing: .15rem;
  display: block;
  padding: 12px 0;
  font-weight: 700;
  border-bottom: 1px solid lightern(#B8AC14, 30%);
  text-decoration: none;
}

header.mobile .headerNav .nav__block--access {
  text-align: center;
}

header.mobile .headerNav .nav__block--access .logo--access {
  width: 140px;
  height: auto;
  margin-bottom: 16px;
}

.hamburger {
  position: absolute;
  right: 25px;
  top: 22px;
  width: 30px;
  /* クリックしやすいようにちゃんと幅を指定する */
  height: 18px;
  /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
}

.hamburger__line {
  position: absolute;
  left: 0;
  width: 30px;
  height: 4px;
  background-color: #000;
  -webkit-transition: all .6s;
  transition: all .6s;
}

.hamburger__line--1 {
  top: 0;
}

.hamburger__line--2 {
  top: 8px;
}

.hamburger__line--3 {
  top: 16px;
}

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all .6s;
  transition: all .6s;
  cursor: pointer;
}

/* 表示された時用のCSS */
.nav-open header.mobile .headerNav {
  right: 0;
  opacity: 1;
}

.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
}

.nav-open .hamburger__line--1 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 0;
}

.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}

.nav-open .hamburger__line--3 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 0;
}



@media (min-width: 940px) {
  header.mobile {
    display: none;
  }
  header.pc {
    display: block;
    width: 940px;
    margin: 24px auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header.pc .logo {
    width: 240px;
    height: auto;
  }
  header.pc .logo img {
    width: 100%;
  }
  header.pc .nav__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  header.pc .nav__block li {
    text-align: right;
  }
  header.pc .nav__block li + li {
    margin-left: 36px;
  }
  header.pc .nav__block li a {
    display: inline-block;
    text-decoration: none;
    font-weight: 700;
    font-size: 1.2rem;
    letter-spacing: .15rem;
  }
  header.pc .nav__block li a.active {
    color: #B8AC14;
  }
  header.pc .nav__block li a:hover {
    background: none;
    opacity: 1;
    color: #B8AC14;
  }
  header.pc .nav__block--1 {
    margin-bottom: 24px;
  }
  header.pc .nav__block--2 {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 24px;
  }
  header.pc .nav__block--2 li a {
    font-size: 1.1rem;
  }
  header.pc .nav__block--2 li .btn--reservation {
    width: 197px;
    font-size: 1.5rem;
  }
}






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

/* スクロール後に出現するクラス */
.hamburger-menu.is-visible {
  opacity: 1;
  visibility: visible;
}



/*ハンバーガーメニュー*/

.hamburger-menu{
display: block;
  opacity: 0;       /* 初期状態は非表示 */
  visibility: hidden; /* マウスイベントを無効化 */
  transition: opacity 0.3s ease, visibility 0.3s ease; /* アニメーション設定 */
}

.menu-btn {
    position: fixed;
    top: 1%;
    right: 1%;
    display: flex;
    height: 50px;
	padding-bottom: 10px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 9999999;
    background-color: #BF312E;
	cursor: pointer;
    border-radius: 40px;
}
.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: all 0.5s;/*アニメーション設定*/
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

.menu-btn b{
color: #fff;
margin-top: 37px;
font-size: 1.0rem;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    transition: all 0.5s;/*アニメーション設定*/
}

#menu-btn-check {
    display: none;
}

.logo{
width: 70%;
padding: 5% 0 2% 5%;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999;
    background-color: #BF312E;
}
.menu-content ul {
width: 90%;
padding: 0 5%;
margin-top: 50px;
}
.menu-content ul li {
    border-bottom: solid 1px #ffffff;
    list-style: none;
margin-bottom: 2%;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 1.6rem;;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 13px 15px 14px 0;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 27px;
}

.menu-content {
    width: 50%;
	margin-left: 50%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 999999;
    background-color: #BF312E;
    transition: all 1s;/*アニメーション設定*/
}

#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
    transition: all 0.5s;/*アニメーション設定*/
}
/*ハンバーガーメニューここまで*/





.sp{
	display:block;
	}

.pc{
	display:none;
	}

.sp_navi{
padding-left: 5%;
font-size: 1.4rem;
}

.sp_navi > li{
margin-bottom: 10px;
}

.sp_navi > li::before{
content: 'ー';
}

.sp_navi li a{
font-weight: bold;
}

.sp_navi_in{
display: flex;
flex-wrap: wrap;
font-size: 1.3rem;
margin-left: 1em;
}

.sp_navi_in li{
margin-right: 2em;
line-height: 170%;
}

.sp_navi_in > li a{
font-weight: normal;
}

.nav_pc{
display: none;
}



body{
overflow: hidden;
}

/*ヘッダーここから*/

header{
position: relative;
overflow: hidden;
width: 90%;
text-align: center;
padding: 5%;
}


.top_copy{
width: 90%;
padding: 0;
z-index: 9;
position: inherit;
bottom: auto;
left: auto;
margin: 0 auto;
}

.top_data{
width: 70%;
padding: 0;
padding-right: 20%;
z-index: 9;
position: inherit;
bottom: auto;
left: auto;
padding-top: 80%;
margin-top: 25%;
padding-bottom: 20px;
}

.free{
width: 23%;
position: absolute;
top: 1%;
left: 2%;
right: auto;
}



.top_ec{
width: 100%;
position: absolute;
top: 0%;
right: 0%;
}

.top_ec img{
position: absolute;
top: 0;
left: 0;
}

.rotate{
animation: rotate_anime 40s linear infinite;
}
@keyframes rotate_anime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*ヘッダーここまで*/







.form_link_01{
width: 73%;
position: fixed;
right: auto;
left: 0;
/*bottom: 0;*/
/*background: #C1282D;*/
z-index: 999999999;
transition: all 0.5s;/*アニメーション設定*/
}

.eyecatching02{
width: 25%;
position: absolute;
top: -70px;
left: 2%;
}

.main_navi_01{
background: #fff;
width: 100%;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 99999999;
display: none;
}

.main_navi_01 ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
width: 96%;
margin: 0 auto;
border-bottom: #000000 5px solid;
border-top: #000000 2px solid;
padding: 0 2%;
}

.main_navi_01 ul li{
text-align: center;
width: auto;

}

.line_01{
width: 1px !important;
}

.main_navi_01 ul li a{
font-size: 1.2rem;
line-height: 1.2em;
font-weight: bold;
}


.copy_01{
width: 90%;
font-size: 1.3rem;
font-weight: bold;
text-align: center;
line-height: 170%;
margin: 5% auto;
}

.top_section_01{
width: 100%;
padding: 8% 0;
}

.midashi_01{
font-size: 2.3rem;
font-weight: 700;
}

.list_01{
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.list_01 li{
width: 43%;
padding: 2%;
background: #fff;
border-radius: 20px;
text-align: center;
margin-bottom: 4%;
}

.list_01 li p{
font-size: 1.4rem;
line-height: 170%;
margin-bottom: 8%;
}

.list_01 li img{
width: auto;
height: 80px;
}


.top_section_02{
padding: 8% 0;
}

.midashi_02{
width: 70%;
margin: 0 auto 4% auto;
}

.list_02{
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.list_02 li{
width: 100%;
margin: 1%;
margin-bottom: 1%;
transition: all 0.5s;/*アニメーション設定*/
}


.top_section_03{
/*background: #FBF0F0;*/
padding: 8% 0;
}

.width1100{
width: 90%;
margin: 0 auto;
position: relative;
}

.day_01{
width: 100px;
margin-left: -10px;
margin-bottom: 2%;
}

.midashi_03{
width: 100%;
margin: 0 0 2% 0;
}

.img_07{
width: 120px;
position: absolute;
top: -20px;
right: 0;
}

.honbun_01{
font-size: 1.5rem;
line-height: 180%;
font-weight: bold;
}

.link_btn_02{
width: 80%;
margin: 0 auto;
display: block;
position: relative;
}

.eyecatching01{
width: 30%;
position: absolute;
top: -40px;
right: -10%;
}


.top_section_04{
padding: 8% 0;
}

.day_02{
width: 70%;
margin-left: -10px;
margin-bottom: 2%;
}

.midashi_04{
width: 100%;
margin: 0 0 2% 0;
}

.img_10{
width: 100px;
position: absolute;
top: -20px;
right: 0;
}

.midashi_05{
width: 100px;
margin: 6% auto 2% auto;
}

.guests_two_column_01 div{
width: 94%;
padding: 2% 3%;
background: #fff;
border-radius: 20px;
position: relative;
margin-top: 15%;
}

.day_03{
width: 180px;
position: absolute;
top: -30px;
left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.guests_dl_01 dt{
width: 60%;
padding: 0 20%;
margin-bottom: 5%;
}

.guests_dl_01 dd{
width: 100%;
}

.width90{
display: block;
width: 90%;
margin: 5% auto;
}


.midashi_06{
width: 100%;
margin: 0 0 2% 0;
}

.img_20{
width: 80px;
position: absolute;
top: -15px;
right: 0;
}

.section_two_column_01 div{
width: 100%;
}

.top_section_05{
padding: 8% 0;
text-align: center;
}

.midashi_07{
width: 50%;
display: block;
margin: 0 auto;
margin-bottom: 4%;
}

.map_01{
width: 300px;
margin: 0 auto;
margin-bottom: 4%;
position: relative;
}


.municipal{
width: 100px;
margin: 4% auto 2% auto;
}

.municipal_list_01{
width: 100%;
margin: 0 auto 5% auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.municipal_list_01 li{
font-size: 1.4rem;
margin-bottom: 6%;
}


.municipal_list_01 li a{
font-size: 1.4rem;
margin: 0 1em;
border-bottom: #FFF9B1 10px solid;
}

.honbun_03{
font-size: 2.0rem;
font-weight: bold;
text-align: center;
}

.midashi_12{
width: 100%;
margin: 0 auto;
margin-bottom: 4%;
margin: 0 auto;
font-size: 2.5rem;
}

.img_23{
width: 100%;
position:inherit;
top: 0;
right: 0;
margin: 2% auto;
}

.list_03 li{
background: #fff;
width: 100%;
padding: 4% 2%;
position: relative;
margin-top: 25%;
}

.chiku{
width: 80px;
margin-top: -100px;
}

.img_24{
width: 113px;
position: absolute;
top: -50px;
right: 10px;
}

.img_31{
width: 150px;
position: absolute;
top: -50px;
right: 10px;
}

.img_32{
width: 140px;
position: absolute;
top: -50px;
right: 10px;
}

.midashi_13{
width: 50%;
margin: 0 auto 2% auto;
}

.qa_section_01{
margin-top: 5%;
position: relative;
}

.img_34{
width: 95%;

}

.qa_dl_01 dt{
width: 10%;
}

.qa_dl_01 dd{
width: 83%;
padding-right: 5%;
font-size: 1.9rem;
text-align: left;
font-weight: bolder;
line-height: 150%;
}

.qa_dl_02{
padding: 2%;
}

.qa_dl_02 dt{
width: 10%;
padding-top: 7px;
}

.qa_dl_02 dd{
width: 88%;
font-size: 1.4rem;
text-align: left;
font-weight: bold;
line-height: 170%;
}

.qa_dl_02 dd b{
font-size: 2.0rem;
font-weight: bold;
color: #c1272d;
}


.img_37{
width: 90%;
position: absolute;
top: -20px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

.img_38{
width: 90%;
position: absolute;
top: -30px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

footer{
padding: 5% 0 25% 0;
text-align: center;
}

.f_midashi{
font-size: 1.2rem;
margin-bottom: 0.5%;
margin-top: 5%;
line-height: 150%;
}

.f_data{
font-size: 1.0rem;
}

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

.municipal_section_01 div{
width: 92%;
padding: 4%;
text-align: left;
margin-bottom: 7%;
}

.name02{
font-size: 2.4rem;
line-height: 1.0em;
}

.list_04 li{
width: 100%;
}

.list_04 li:first-child{
width: 100%;
}

.list_04 li:last-child{
width: 100%;
}

.dl_02{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
margin-top: 6%;
margin-bottom: 2%;
}

.dl_02 dt{
background: #C1272D;
color: #fff;
text-align: center;
width: 15%;
font-size: 0.9rem;
line-height: 110%;
padding: 1% 0;
}

.dl_02 dd{
width: 82%;
font-size: 1.2rem;
}

.midashi_sodan{
width: 257px;
margin-top: -100px;
margin-left: -20px;
}

.link_btn_03 li{
width: 100%;
text-align: center;
margin-bottom: 2%;
}

.open_close_aizu{
font-size: 1.4rem;
background: #BF2329;
color: #fff;
padding: 10% 0 5% 0;
width: 100%;
display: block;
cursor: pointer;
margin-top: -45px;
border-radius: 20px;
}

.open_close_naka{
font-size: 1.4rem;
background: #8DC11F;
color: #fff;
padding: 10% 0 5% 0;
width: 100%;
display: block;
cursor: pointer;
margin-top: -45px;
border-radius: 20px;
}

.open_close_hama{
font-size: 1.4rem;
background: #3FA9F4;
color: #fff;
padding: 10% 0 5% 0;
width: 100%;
display: block;
cursor: pointer;
margin-top: -50px;
border-radius: 20px;
}

.open_close_sonota{
font-size: 1.4rem;
background: #656565;
color: #fff;
padding: 10% 0 5% 0;
width: 100%;
display: block;
cursor: pointer;
margin-top: -45px;
border-radius: 20px;
}


.img_51{
display: block;
width: 90%;
margin: 60px auto 0 auto;
}

.online_list_01{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-top: 3%;
}

.online_list_01 li{
width: 100%;
margin-bottom: 5%;
}

.dl_03{
display: flex;
flex-wrap: wrap;
font-size: 1.5rem;
color: #0071BC;
}

.dl_03 dt{
width: 13%;
}

.dl_03 dd{
width: 87%;
}

.dl_03 dd span{
font-size: 80%;
}

.img_57{
width: 100%;
margin: 0 auto;
display: block;
margin-top: 3%;
}


.erea_section_02{
}

.erea_section_02 > li{
margin: 2% 0;
}

div.erea_midashi_02 {
cursor: pointer;
padding: 1% 0;
position: relative;
font-size: 3.0rem;
/*margin-bottom: 2%;*/
}

div.erea_midashi_02::after{
font-size: 1.5rem;
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f067";
color: #fff;
position: absolute;
top: 50%;
right: 2%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}

div.one_02::after{
font-family: "Font Awesome 5 Free";
font-weight: 900;
content: "\f068";
color: #fff;
position: absolute;
top: 50%;
right: 2%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}

div.erea_midashi:hover {

}

div.erea_content_02 {
display: none;
}


.aizu_ba{
background: #BF2329;
color: #fff;
font-size: 1.5rem;
font-weight: bold;
}

.nakadori_ba{
background: #8DC11F;
color: #fff;
font-size: 1.5rem;
font-weight: bold;
}

.hama_ba{
background: #3FA9F4;
color: #fff;
font-size: 1.5rem;
font-weight: bold;
}

.sonota_ba{
background: #999999;
color: #fff;
font-size: 1.5rem;
font-weight: bold;
}

.midashi_copy_01{
font-size: 1.5rem;
font-weight: bold;
}



.list_05{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin: 0 auto;
}


.list_05 li{
width: 86%;
margin-bottom: 3%;
background: #fff;
border: #000000 1px solid;
padding: 1% 7% 4% 7%;
}

.list_05 li h2{
font-size: 2.8rem;
color: #C1272D;
text-align: center;
font-weight: bold;
}

.name03{
font-size: 2.3rem;
font-weight: bold;
text-align: center;
line-height: 150%;
}

.name03 span{
font-size: 70%;
font-weight: bold;
margin-right: 0.5em;
}

.name03 b{
background: #000000;
color: #fff;
font-size: 50%;
padding: 1%;
margin-right: 0.5em;
}

.list_05 li dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
margin: 0 auto;
}

.list_05 li dl dt{
width: 60%;
margin: 0 auto;
}

.list_05 li dl dd{
width: 100%;
font-size: 1.3rem;
}



.img_2201{
width: 82px;
position: absolute;
top: -40px;
right: 10px;
}

.img_2202{
width: 50px;
position: absolute;
top: 60px;
left: 0px;
}

.img_2203{
width: 82px;
position: absolute;
top: -50px;
left: 10px;
}

.img_2204{
width: 30px;
position: absolute;
top: -10px;
right: 10px;
}

.img_2205{
width: 76px;
position: absolute;
bottom: -20px;
right: 10px;
}

.img_2206{
width: 37px;
position: absolute;
bottom: 10px;
left: 50px;
}

.img_2207{
width: 50px;
position: absolute;
top: 0px;
left: 50px;
}

.img_2208{
display: none;
}

.img_2209{
display: none;
}

.img_2210{
display: none;
}

.img_2211{
display: none;
}

.fukushimalogo{
width: 50px;
position: absolute;
top: 70px;
left: auto;
right: 13px;
}

.banner_list{
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0 auto;
margin-bottom: 5%;
width: 70%;
}


.banner_list li{
margin: 10px;
}

.banner_list li img{
width: 100%;
height: auto;
}

.hashtag_01{
font-size: 1.8rem;
color: #C1272D;
font-weight: bold;
text-align: center;
margin-top: 2%;
}



.btn_03{
width: 28%;
position: fixed;
bottom: -3px;
right: 0;
z-index: 999999999;
}


.form_link_02{
width: 60%;
position: fixed;
left: 2%;
bottom: -1%;
z-index: 999999999;
transition: all 0.5s;/*アニメーション設定*/
}

.eyecatching03{
width: 25%;
position: absolute;
top: -50%;
right: -20%;
}


.width90{
width: 90%;
margin: 0 auto;
display: block;
}

.sp_center{
text-align: center;
}



.form_link_02{
width: 35%;
position: fixed;
right: auto;
left: 0;
bottom: 0;
background: #C1282D;
z-index: 999999999;
transition: all 0.5s;/*アニメーション設定*/
}



.list_06{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin: 0 auto;
margin-bottom: 10%;
}

.list_06 li{
width: 100%;
border: #000000 1px solid;
margin-bottom: 4%;
}



.novelty{
width: 23%;
position: absolute;
top: 52%;
left: auto;
right: 1%;
}




.c3_list_01{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin: 0 auto;
margin-bottom: 50px;
}
.c3_list_01 li{
width: 100%;
text-align: center;
border-left: none;
border-bottom: rgba(0,0,0,1.00) 1px solid;
}

.c3_list_01 li:first-child{
border-left: none;
}

.c3_list_01 li:last-child{
border-bottom: none;
}

.c3_list_01 li p{
font-size: 1.8rem;
font-weight: bold;
line-height: 1.7em;
margin-bottom: 20px;
}

.c3_list_01 li img{
width: 50%;
margin-bottom: 10px;
margin-top: 20px;
}


.voice01{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
width: 90%;
margin: 0 auto;
margin-bottom: 50px;
}

.voice01 dt{
width: 15%;
}

.voice01 dd{
width: 80%;
background: rgba(199,215,85,1.00);
text-align: left;
border-radius: 20px;
margin-top: 20px;
position: relative;
}

.voice01 dd p{
font-size: 1.7rem;
font-weight: 500;
padding: 5% 5%;
position: relative;
}

.voice01 dd img{
width: 50px;
position: absolute;
bottom: auto;
top: 30px;
left: -6%;
}


.voice02{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
flex-direction: row-reverse;
width: 90%;
margin: 0 auto;
margin-bottom: 50px;
}

.voice02 dt{
width: 15%;
}

.voice02 dd{
width: 80%;
background: #F8CD00;
text-align: left;
border-radius: 20px;
margin-top: 20px;
position: relative;
}

.voice02 dd p{
font-size: 1.7rem;
font-weight: 500;
padding: 5% 5%;
position: relative;
}

.voice02 dd img{
width: 50px;
position: absolute;
bottom: auto;
top: 30px;
right: -6%;
}

.case{
width: 90%;
margin: 0 auto;
background: #fff;
border-radius: 20px;
position: relative;
margin-bottom: 40px;
}

.case img{
width: 80px;
position: absolute;
top: -10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.case dl{
padding: 23% 5% 3% 5%;
}

.case dl dt{
margin-bottom: 10px;
}

.case dl dt h3{
font-size: 2.5rem;
line-height: 1.5em;
font-weight: bold;
color: #00508D;
text-align: center;
}

.case dl dd ul{
display: flex;
flex-wrap: wrap;
}

.case dl dd ul li{
width: 100%;
background: #317337;
line-height: 1.5em;
color: #fff;
font-size: 1.7rem;
margin-right: 0;
position: relative;
text-align: center;
margin-bottom: 35px;
}

.case dl dd ul li::before{
content: " ";
position: absolute;
width: 20px;
height: 20px;
display: block;
background: url("../img/top2024/arrow_sp.png") no-repeat;
background-size: 100% 100%;
top: -26px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.case dl dd ul li:first-child::before{
content: none;
}



.endnews{
background: #C0272D;
color: #fff;
position: relative;
z-index: 999;
font-size: 1.7rem;
font-weight: 900;
text-align: left;
padding: 0 20% 0 0.5em;
line-height: 150%;
}


.swiper-pagination-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 20px;
}

/* ナビゲーションボタンの共通スタイル */
.swiper-button-next,
.swiper-button-prev {
display: none !important;
}


.header_section{
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
/*background: #D6D6D6;*/
}


.header_section > div:nth-of-type(1){
width: 100%;
}

.header_section > div:nth-of-type(2){
width: 100%;
}


.header_section > div:nth-of-type(2) img:nth-of-type(2){
width: 100%;
padding-top: 5%;
}
.header_section > div:nth-of-type(2) img:nth-of-type(3){
width: 100%;
padding: 6% 0 5% 0;
}

.novelty_cs_sp{
padding: 0 !important;
}

.header_section > div:nth-of-type(2) a{
width: 100%;
display: block;
}

.yoyaku_btn{
width: 90%;
position: fixed;
top: auto;
bottom: -2px;
right: auto;
left: 5%;
z-index: 999999999999;
}




.online_section{
width: 80%;
padding: 5%;
margin: 10% auto;
background: #E8BF4B;
border-radius: 50px;
}

.online_section h3{
text-align: center;
font-size: 2.6rem;
font-weight: 700;
}

.online_section h3 span{
font-size: 1.5rem;
font-weight: 700;
color: #b01e23;
}

.online_section ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 2% 0;
}

.online_section ul li{
width: 100%;
margin-bottom: 5%;
}

.online_section ul li img{
width: 80%;
margin: 0 auto;
display: block;
}

.online_section ul li p{
font-size: 1.4rem;
font-weight: 500;
line-height: 190%;
}

.online_section dl{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
margin: 0 auto;
width: 100%;
margin-top: 5%;
}

.online_section dl dt{
background: #000000;
color: #fff;
font-size: 1.8rem;
font-weight: 700;
width: 100%;
text-align: center;
border-radius: 10px;
padding-bottom: 2px;
margin-bottom: 3%;
}

.online_section dl dd{
font-size: 2.5rem;
font-weight: 500;
width: 100%;
line-height: 90%;
margin-bottom: 3%;
text-align: center;
}

.online_section dl dd span{
font-size: 1.8rem;
font-weight: 500;
}


.online_section a{
background: #b01e23;
color: #fff;
font-size: 2.0rem;
font-weight: 700;
text-align: center;
width: 250px;
margin: 0 auto;
display: block;
border-radius: 20px;
padding-top: 8px;
padding-bottom: 15px;
margin-top: 20px;
}

.otameshi{
width: 90%;
margin: 5% auto;
display: block;
}

.img_05{
width: 85%;
padding: 0 1% 0 14%;
position: relative;
bottom: auto;
right: auto;
display: block;
margin-top: 30px;
}

.honbun_07{
font-size: 1.6rem;
font-weight: 500;
text-align: center;
margin-top: 15px;
}

/* --- CSS全体 --- */

/* 共通のキーフレーム (1度だけ定義) */
@keyframes sway_base {
  0% {
    transform: rotate(3deg);
  }
  50% {
    transform: rotate(-4deg);
  }
  100% {
    transform: rotate(3deg);
  }
}

.sp_img_01 {
  width: 14%;
  position: fixed;
  bottom: 1%;
  left: 2%;
  z-index: 99999999999;
    
  /* 揺れの中心を要素の底辺に設定 */
  transform-origin: 50% 100%;
    
  /* アニメーションの適用 */
  /* スピード: 4秒, 遅延: 0秒 */
  animation: sway_base 4s ease-in-out infinite alternate;
}

.sp_img_02 {
  width: 8%;
  position: fixed;
  bottom: 5%;
  left: 12%;
  z-index: 99999999999;
    
  /* 揺れの中心を要素の底辺に設定 */
  transform-origin: 50% 100%;
    
  /* アニメーションの適用 */
  /* スピード: 3.5秒, 遅延: 0.5秒 */
  animation: sway_base 3.5s ease-in-out infinite alternate;
  animation-delay: 0.5s; /* ⭐ 開始タイミングを遅らせる */
}

.sp_img_03{
  width: 15%;
  position: fixed;
  bottom: 1%;
  right: 2%;
  z-index: 99999999999;
    
  /* 揺れの中心を要素の底辺に設定 */
  transform-origin: 50% 100%;
    
  /* アニメーションの適用 */
  /* スピード: 3.5秒, 遅延: 0.5秒 */
  animation: sway_base 3.5s ease-in-out infinite alternate;
  animation-delay: 0.8s; /* ⭐ 開始タイミングを遅らせる */

}


.end_01{
width: 80%;
margin: 0 auto;
display: block;
margin-top: 20px;
}



    /* プラス・マイナス記号のスタイル */
    .accordion-title::before,
    .accordion-title::after {
        content: '';
        width: 25px;
        height: 6px;
        background-color: #B01E23;
        position: absolute;
        top: 93%;
        right: 10px;
        transform: translateY(-50%);
        transition: transform 0.3s ease;
    }

    .accordion-title::after {
        transform: translateY(-50%) rotate(90deg);
    }

    /* 開いた時のマイナス記号 */
    details[open] .accordion-title::after {
        transform: translateY(-50%) rotate(0deg);
    }
    
    
    
    
    
    
.list_07{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 80%;
margin: 0 auto;
}

.list_07 li{
width: 100%;
position: relative;
}

.list_07 li::after{
content: "　";
background: url("../img/top2025/yajirushi_sp.png") no-repeat center center;
background-size: 100% 100%;
width: 50px;
height: 50px;
display: block;
position: relative;
top: auto;
right: auto;
margin: 2% auto;
}

.list_07 li:last-child::after{
display: none;
}

.list_07 li img{
width: auto;
height: 150px;
}

.list_07 li h3{
font-size: 2.5rem;
font-weight: bold;
color: #C1272D;
margin-bottom: 20px;
}

.list_07 li p{
font-size: 1.6rem;
text-align: left;
font-weight: 500;
line-height: 200%;
margin-top: 10px;
}

.btn_04{
background: #C1272D;
color: #fff;
font-size: 2.0rem;
font-weight: 500;
text-align: center;
border-radius: 10px;
padding: 0.5em 1em;
display: inline-block;
margin-top: 30px;
}
}
