@charset "UTF-8";


body{
font-family: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}


/* ----------------------------------------
	#　共通
---------------------------------------- */
#wrap{
width: 100%;
position: relative;
overflow: hidden;
background-image: url("../img/bg01.webp");
background-size: 700px;
background-position: top left;
}

.pc{display: block;}
.smp{display: none;}
@media only screen and (max-width:1024px) {
.pc{display: none;}
.smp{display: block;}
}

h1{
display: flex;
flex-direction: column;
overflow: hidden;
text-align: center;
}

h1 span{
font-size: 75px;
line-height: 100%;
display: inline-block;
transform: translateY(105%);
opacity: 0;
}
@media only screen and (max-width:767px) {
h1 span{
font-size: 12vw;
}
}

#content{
padding-top: 70px;
}



/* ----------------------------------------
	#　スライダー
---------------------------------------- */
.splide{
width: 90%;
max-width: 1200px;
height: 780px;
margin: 0 auto;
border-radius: 50px;
position: relative;
box-shadow: 10px 10px 0 0 #000;
}
.splide:before{
content: "";
position: absolute;
border: 2px solid #000;
border-radius: 50px;
width: 100%;
height: 100%;
z-index: 1;
top: 50%;
left: 50.05%;
transform: translate(-50%,-50%);
}
@media only screen and (max-width:1024px) {
.splide{
width: 100%;
height: 75svh;
max-height: 700px;
border-radius: 0;
box-shadow: none;
}
.splide:before{
display: none;
}
}

.splide__slide img{
object-fit: cover;
height: 780px;
border-radius: 45px;
}
@media only screen and (max-width:1024px) {
.splide__slide img{
object-position: right;
height: 75svh;
max-height: 700px;
border-radius: 0;
}
}
@media only screen and (max-width:767px) {
.splide__slide img{
object-position: 55% 50%;
}
}

.top_logo{
position: absolute;
z-index: 1;
width: 280px;
top: 50%;
right: 15%;
transform: translate(0,-50%);
}
@media only screen and (max-width:767px) {
.top_logo{
width: 60%;
max-width: 280px;
right: 5%;
}
}


/* ----------------------------------------
	#　リストメニュー
---------------------------------------- */
#content_menu{
width: 100%;
background-image: url("../img/nami_top.webp"), url("../img/nami_btm.webp"), url("../img/bg02.png");
background-repeat: no-repeat, no-repeat, repeat;
background-position: top center, bottom center, top left;
background-size: 100%, 100%, 500px;
padding: 130px 0 200px;
margin-top: -100px;
}
@media only screen and (max-width:1024px) {
#content_menu{
width: 100%;
background-image: url("../img/bg02.png");
background-repeat: repeat;
background-position: top left;
background-size: 500px;
padding: 50px 0;
margin-top: 0;
}
}

.list_box{
max-width: 1100px;
width: 95%;
margin: 50px auto;
display: flex;
flex-wrap: wrap;
}
@media only screen and (max-width:767px) {
.list_box{
justify-content: space-between;
}
}

.list_box li{
width: calc(33.333% - 10px);
margin-right: 15px;
margin-bottom: 15px;
background: #fff;
}
.list_box li:nth-child(3n){
margin-right: 0;
}
@media only screen and (max-width:767px) {
.list_box li{
width: 48.5%;
margin-bottom: 3%;
margin-right: 0;
}
}

.list_box li a{
height: 100%;
display: flex;
flex-direction: column;
padding: 25px;
}
@media only screen and (max-width:1024px) {
.list_box li a{
padding: 7%;
}
}

.number_box{
flex-grow: 1;
margin-bottom: 15px;
}
@media only screen and (max-width:767px) {
.number_box{
margin-bottom: 10px;
}
}

.number_box_inner{
display: flex;
}
@media only screen and (max-width:767px) {
.number_box_inner{
flex-direction: column;
}
}

.list_num{
font-size: 55px;
font-family: "Oswald", sans-serif;
font-weight: 700;
margin-right: 15px;
line-height: 100%;
}
@media only screen and (max-width:767px) {
.list_num{
font-size: 45px;
margin-bottom: 10px;
}
}

.list_tit{
font-size: 20px;
line-height: 120%;
margin-top: 5px;
font-weight: bold;
display: flex;
flex-direction: column;
justify-content: center;
}
.list_tit span{
font-size: 15px;
line-height: 140%;
font-weight: bold;
display: inline-block;
}
@media only screen and (max-width:767px) {
.list_tit{
margin-top: 0;
}
}

.tag span{
font-size: 14px;
line-height: 100%;
padding: 3px 15px;
border-radius: 15px;
display: inline-block;
}
@media only screen and (max-width:767px) {
.tag span{
font-size: 12px;
}
}

.akitajouato{background: #f9a18a;}
.hikiyama{background: #f4cf92;}
.denshoukan{background: #7bcf92;}
.sinmeisha{background: #8fccf2;}
.akitakou{background: #c7bce8;}
.shoku{background: #f4b0d3;}

.list_img{
width: 100%;
height: 40vw;
max-height: 210px;
margin-top: 15px;
overflow: hidden;
}
.list_box a .list_img img{
height: 40vw;
max-height: 210px;
object-fit: cover;
object-position: center;
transition-duration: 0.5s;
}
.list_box a:hover .list_img img{
transform: scale(1.2,1.2);
}
@media only screen and (max-width:1024px) {
.list_img,
.list_box a .list_img img{
width: 100%;
height: 20vw;
min-height: 120px;
}
}



/* ----------------------------------------
	#　コンテンツ
---------------------------------------- */
#content_box{
margin-top: -150px;
padding-bottom: 100px;
}
@media only screen and (max-width:1024px) {
#content_box{
margin-top: 0;
}
}
@media only screen and (max-width:767px) {
#content_box{
padding-bottom: 50px;
}
}

.main_box{
width: 92%;
max-width: 1200px;
margin: 0 auto 100px;
padding: 50px;
background-color: #fff;
border: 2px solid #000;
border-radius: 30px;
box-shadow: 10px 10px 0 0 #000;
}
.main_box:last-child{
margin-bottom: 0;
}
@media only screen and (max-width:1024px) {
.main_box{
width: 100%;
margin: 0 auto;
padding: 50px 4%;
border-radius: 0;
box-shadow: none;
border: none;
border-top: 10px solid #000;
}
}

.content_tit_box{
display: flex;
align-items: flex-start;
margin-bottom: 50px;
}
@media only screen and (max-width:1024px) {
.content_tit_box{
flex-direction: column;
margin-bottom: 30px;
}
}

.content_tit{
margin-top: 20px;
}

.content_num{
font-size: 170px;
font-family: "Oswald", sans-serif;
font-weight: 700;
margin-right: 50px;
line-height: 100%;
}
@media only screen and (max-width:1024px) {
.content_num{
font-size: 85px;
margin: 0;
}
}

@media only screen and (max-width:1024px) {
.content_tit{
display: flex;
flex-direction: column-reverse;
}
}

.main_box h2{
font-size: 50px;
font-weight: bold;
margin-top: 10px;
line-height: 120%;
}
.main_box h2 span{
font-size: 30px;
font-weight: bold;
line-height: 100%;
display: block;
margin-top: 10px;
}
@media only screen and (max-width:1024px) {
.main_box h2{
margin: 0 0 15px;
font-size: 42px;
}
.main_box h2 span{
font-size: 23px;
}
}

.content_main_box{
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: 30px;
}
.content_main_box:last-child{
margin-bottom: 0;
}
@media only screen and (max-width:1024px) {
.content_main_box{
flex-direction: column;
}
}

.content_main_box .img{
max-width: 600px;
width: 60%;
margin-right: 30px;
}
.content_main_box .img img{
height: 450px;
object-fit: cover;
object-position: center;
}
.content_main_box .img02{
max-width: 500px;
width: 50%;
margin-right: 30px;
}
@media only screen and (max-width:1024px) {
.content_main_box .img{
width: 100%;
margin: 0 auto 30px;
}
.content_main_box .img img{
height: auto;
}
.content_main_box .img02{
width:100%;
margin: 0 auto 30px;
}
}

.content_main_box .txt{
flex: 1;
}

.content_main_box .txt h4{
font-size: 25px;
font-weight: bold;
line-height: 130%;
margin-bottom: 15px;
}
.content_main_box .txt h4 span{
font-size: 25px;
font-weight: bold;
line-height: 130%;
font-style: italic;
}

.content_main_box .txt p{
margin-bottom: 0.8em;
}
.content_main_box .txt p span{
font-style: italic;
}

.content_shoku{
width: 48%;
}
@media only screen and (max-width:1024px) {
.content_shoku{
width: 100%;
margin-bottom: 30px;
}
.shoku_img{
max-width: 600px;
width: 100%;
margin: 0 auto 30px;
}
}

.shoku_img p,
.shoku_img a{
font-size: 13px;
}
.shoku_img p{
margin-top: 5px;
text-align: right;
}
.shoku_img a{
text-decoration: underline;
}

.content_shoku .txt{
margin-top: 30px;
}


/* ----------------------------------------
	#　ピックアップ
---------------------------------------- */
.pickup_box h3{
position: relative;
}
.pickup_box h3:after{
content: "";
position: absolute;
width: calc(100% - 140px);
height: 2px;
background: #000;
right: 0;
bottom: 0;
}

.pickup_box h3 span{
font-family: "Oswald", sans-serif;
font-size: 35px;
font-weight: 400;
line-height: 130%;
width: 140px;
display: block;
text-align: center;
border-top: 2px solid #000;
border-right: 2px solid #000;
padding-top: 5px
}

.pickup_inner{
margin-top: 20px;
display: flex;
align-items: flex-start;
}
@media only screen and (max-width:1024px) {
.pickup_inner{
align-items: flex-start;
}
}
@media only screen and (max-width:767px) {
.pickup_inner{
flex-direction: column;
}
}

.pickup_inner .img{
width: 35%;
margin-right: 25px;
}
.pickup_inner .info{
width: 65%;
}
@media only screen and (max-width:767px) {
.pickup_inner .img{
width: 100%;
max-width: 360px;
margin: 0 auto 15px;
}
.pickup_inner .info{
width: 100%;
}
}

.pickup_inner .info dl{
display: flex;
flex-wrap: wrap;
}

.pickup_inner .info dt{
width: 20%;
padding: 10px;
border-bottom: 1px dotted #000;
line-height: 100%;
margin-right: 3%;
display: flex;
align-items: center;
}
.pickup_inner .info dd{
width: 77%;
padding: 8px 10px;
border-bottom: 1px dotted #000;
line-height: 150%;
display: flex;
align-items: center;
}
.pickup_inner .info dd:first-of-type{
font-size: 20px;
}
@media only screen and (max-width:1024px) {
.pickup_inner .info dt{
width: 23%;
}
.pickup_inner .info dd{
width: 74%;
}
}

.acc_btn{
display: flex;
justify-content: center;
margin-top: 20px;
}
@media only screen and (max-width:767px) {
.acc_btn{
flex-direction: column;
align-items: center;
}
}

.acc_btn a{
background: #4495b2;
color: #fff;
padding: 7px 30px 7px 7px;
margin: 0 10px;
max-width: 250px;
width: 100%;
border-radius: 5px;
position: relative;
text-align: center;
}
.acc_btn a.map{
background: #446fb2;
}
@media only screen and (max-width:767px) {
.acc_btn a:nth-child(2){
margin-top: 15px;
}
}

.acc_btn a span{
display: flex;
justify-content: center;
align-items: center;
}
.acc_btn a span:before{
content: "";
display: inline-block;
width: 20px;
height: 20px;
background-size: cover;
background-position: center center;
margin-right: 7px;
}
.acc_btn a.map span:before{
background-image: url("../img/icon_map.png");
}
.acc_btn a.hp span:before{
background-image: url("../img/icon_hp.png");
}

.acc_btn a:after{
content: "";
position: absolute;
top: 50%;
right: 10px;
transform: translate(0,-50%);
box-sizing: border-box;
width: 5px;
height: 5px;
border: 5px solid transparent;
border-left: 7px solid #fff;
}



/* ----------------------------------------
	#　SNS
---------------------------------------- */
.sns_content{
width: 90%;
max-width: 950px;
margin: 30px auto 100px;
}
@media only screen and (max-width:767px) {
.sns_content{
margin-bottom: 50px;
text-align: center;
}
}

.sns_hukidasi{
width: 100%;
padding: 20px;
margin-bottom: 60px;
text-align: center;
position: relative;
display: inline-block;
font-size: 40px;
background: #fff;
border-radius: 15px;
border: solid 3px #000;
box-shadow: 5px 5px 0 0 #000;
}
.sns_hukidasi:before{
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -15px;
border: 12px solid transparent;
border-top: 15px solid #fff;
z-index: 2;
}
.sns_hukidasi:after{
content: "";
position: absolute;
bottom: -50px;
left: 50%;
margin-left: -20px;
border: 22px solid transparent;
border-top: 26px solid #000;
z-index: 1;
}

.sns_hukidasi span{
font-size: 25px;
display: block;
}
@media only screen and (max-width:767px) {
.sns_hukidasi{
font-size: 35px;
}
.sns_hukidasi span{
font-size: 20px;
}
}

.sns_box{
max-width: 750px;
margin: 0 auto;
display: flex;
justify-content: center;
background-image: url("../img/sns_hukidasi.png");
background-size: contain;
background-size: contain;
background-repeat: no-repeat;
background-position: center bottom 10px;
}
@media only screen and (max-width:767px) {
.sns_box{
display: inline-flex;
flex-direction: column;
padding: 0 40px;
}
}

.sns_box a{
width: 100px;
margin: 0 40px;
text-align: center;
}
@media only screen and (max-width:767px) {
.sns_box a{
width: 100%;
margin: 0 0 15px;
display: flex;
align-items: center;
justify-content: flex-start;
}
}

.sns_box a img{
width: 90px;
margin-bottom: 10px;
}
@media only screen and (max-width:767px) {
.sns_box a img{
width: 70px;
margin: 0 15px 0 0;
}
}

.sns_box a p{
font-size: 20px;
line-height: 120%;
}



/* ----------------------------------------
	#　フッター
---------------------------------------- */
#topBtn{
position: fixed;
bottom: 20px;
right: 10px;
z-index: 10;
}

#topBtn a{
display: block;
width: 60px;
height: 60px;
border-radius: 50%;
background: #000;
}
#topBtn a:before{
content: "";
position: absolute;
left: 50%;
top: 55%;
width: 12px;
height: 12px;
border-top: 3px solid #fff;
border-left: 3px solid #fff;
transform: translate(-50%,-45%) rotate(45deg);
transition: .3s;
}

footer{
background-image: url("../img/nami_foot.png");
background-size: auto 350px;
background-repeat: no-repeat;
background-position: top;
padding: 80px 5% 20px;
}
@media only screen and (max-width:1024px) {
footer{
background-size: cover;
}
}
@media only screen and (max-width:767px) {
footer{
background-position: top left 10%;
}
}

footer .fot_logo{
width: 100%;
max-width: 390px;
margin: 30px auto;
}

footer .kankoutyo{
max-width: 850px;
margin: 0 auto 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 11px;
}
footer .kankoutyo img{
width: 150px;
margin-right: 15px;
}
footer .kankoutyo p{
display: inline-block;
font-size: 12px;
}

@media only screen and (max-width:767px) {
footer .fot_logo{
max-width: 300px;
}

footer .kankoutyo{
flex-direction: column;
}
footer .kankoutyo img{
margin-right: 0;
margin-bottom: 10px;
}
}

footer .copy{
font-size: 13px;
text-align: center;
position: relative;
}