@charset "utf-8";
/**********************************************/
/***************共通コンテンツ******************/
/**********************************************/

/*----------------------------------*/
/*----------- AdobeFonts -----------*/
/*----------------------------------*/
.tsukushiR{
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
}
.tsukushiB{
	font-family: 'Zen Maru Gothic',sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: normal;
}
.toro{
	font-family: 'Kiwi Maru', serif;
	font-size: 1.0em!important;
	margin-left: 0px!important;
}
.ryomin{
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-style: normal;
}
.show950{
	display: none!important;
}
.show768{
	display: none!important;
}
.hide950{
	display: block!important;
}
.show400{
	display: none!important;
}
.hide400{
	display: block!important;
}
/*----------------------------------*/
/*-------------- body --------------*/
/*----------------------------------*/
body {
    font-feature-settings: "palt" 1;
    letter-spacing: 0.075em;
    font-size: 14px;
    line-height: 1.8;
} 
a,div,table,tr,td,th {
	box-sizing: border-box;
}

/*----------------------------------*/
/*---------- main slider -----------*/
/*----------------------------------*/
#mainvisual{
	width: 100%;
	background: url('../img/renga.gif');
	background-size: 150px;
}
#mainvisual .wrapper{
	max-width: 1400px;
	position: relative;
	padding: 0!important;
}
#mainvisual .top_slider{
	width: 100%;
	margin: 0 auto;
}
.slick-slide{
	margin: 0;
}
#mainvisual .mainlogo {
    width: 320px;
    position: absolute;
    z-index: 2;
    top: 20px;
    left: 35px;
}

/*----------------------------------*/
/*-------- grayback table ----------*/
/*----------------------------------*/
.detailtable{
	font-size: 13px;
	line-height: 1.4;
}
.detailtable th{
	padding: 0 10px 5px 0;
	width: 75px;
}
.detailtable td{
	padding: 0 0 5px 0;
}
.detailtable a i{
	color:#FF3333;
}
.detailtable th span {
    width: 65px;
    display: block;
    background: #f18f43;
    color: #fff;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 11px;
    text-align: center;
    padding: 2px 0;
}

/*----------------------------------*/
/*------------- pageing ------------*/
/*----------------------------------*/
#pageing {
    text-align: center;
    margin: 40px 0 0;
}
#pageing .wrapper{
	text-align: center;
}
#pageing .pageing a,
#pageing .pageing span{
	width: 36px;
	height: 36px;
	border: 1px solid #005952;
	color: #005952;
	line-height: 36px;
	text-align: center;
	font-size: 16px;
	display: inline-block;
	margin: 0 3px;
	box-sizing: border-box;
	cursor: pointer;
	font-weight: bold;
}
#pageing .pageing a:hover{
	opacity: 0.8;
}
#pageing .pageing span.nowpage{
	background: #005952;
	color: #fff;
	cursor: auto;
}
#pageing .pageing span.hide{
	opacity: 0.5;
	cursor: auto;
}
#pageing .nextlink{
	padding: 10px 45px 10px 25px;
	background: #ebf5ec;
	color: #005952;
	font-size: 15px;
	line-height: 1.4;
	position: relative;
	border: 1px solid #005952;
	display: inline-block;
	margin-bottom: 25px;
}
#pageing .nextlink::after{
	content: '';
	width: 25px;
	height: 10px;
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
	background: url('../img/btnarrow.png')no-repeat center center;
	background-size: contain;
}

.cap{
	font-size: 11px;
	line-height: 1.2;
	margin-top: 10px;
}
.slick-slide .cap{
	position: absolute;
	bottom: 0.2em;
    left: 1em;
    color: #fff;
    text-shadow: 1px 1px 3px BLACK, 0 0 2px BLACK;
    font-size: .88rem;
}
.kizuna_contents {
    width: 100%;
	overflow: hidden;
}
.iconbox a i{
	color: #FF3333;
}
.iconbox li a{
	text-decoration: underline;
	word-break: break-all;
}
.iconbox li{
	padding-left: 1.6em;
	padding-bottom: 0.3em;
	position: relative;
	font-size: 0.9em;
}
.iconbox li.icon01-1::before,
.iconbox li.icon01-2::before,
.iconbox li.icon01-3::before,
.iconbox li.icon01-4::before,
.iconbox li.icon01-5::before,
.iconbox li.icon01-6::before,
.iconbox li.icon02-1::before,
.iconbox li.icon02-2::before,
.iconbox li.icon02-3::before,
.iconbox li.icon02-4::before,
.iconbox li.icon02-5::before,
.iconbox li.icon02-6::before{
	content: '';
	position: absolute;
	top: 0.1em;
	left: 0;
	width: 1.5em;
	height: 1.5em;
}

.iconbox li.icon01-1::before{
	background: url('../img/p2/icon01_1.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon01-2::before{
	background: url('../img/p2/icon01_2.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon01-3::before{
	background: url('../img/p2/icon01_3.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon01-4::before{
	background: url('../img/p2/icon01_4.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon01-5::before{
	background: url('../img/p2/icon01_5.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon01-6::before{
	background: url('../img/p2/icon01_6.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-1::before{
	background: url('../img/p2/icon02_1.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-2::before{
	background: url('../img/p2/icon02_2.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-3::before{
	background: url('../img/p2/icon02_3.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-4::before{
	background: url('../img/p2/icon02_4.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-5::before{
	background: url('../img/p2/icon02_5.png')no-repeat center center;
	background-size: contain;
}
.iconbox li.icon02-6::before{
	background: url('../img/p2/icon02_6.png')no-repeat center center;
	background-size: contain;
}

/* 背景の三角 */
.bg1{
	background: url(../img/p2/bg1.gif)no-repeat right top;
	background-size: 60%;
}
.bg2{
	background: url(../img/p2/bg2.gif)no-repeat left top;
	background-size: 17%;
}
.bg3{
	background: url(../img/p2/bg3.gif)no-repeat right bottom 0%;
	background-size: 17%;
}
.bg4{
	background: url(../img/p2/bg2.gif)no-repeat left bottom;
	background-size: 17%;
}
.bg5{
	background: url(../img/p2/bg3.gif)no-repeat right top;
	background-size: 15%;
}
.bg6 {
    background: url(../img/p2/bg4.gif)no-repeat left bottom;
    background-size: 62%;
    padding-bottom: 1px;
}
.bg7 {
    background: url(../img/p2/bg2.gif)no-repeat left top;
    background-size: 15%;
    padding-bottom: 0px;
}
.bg8 {
    background: url(../img/p2/bg3.gif)no-repeat right bottom 40%;
    background-size: 15%;
    padding-bottom: 0px;
}
.bg-y{
	background-color: #FFF6E9;
    width: 95%;
    max-width: 1300px;
    margin: auto;
    text-align: left;
	border-radius: 15px;
	padding-bottom: 1%;
}
.dotborder{
	width: 100%;
	position: relative;
	margin-bottom: 1rem;
}
.dotborder_01{
	border-top: 5px dotted #e080aa;
}
.dotborder_02{
	border-top: 5px dotted #0f61a0;
}
.spotnum {
    position: absolute;
    font-size: 2.2em;
    bottom: 100%;
    line-height: 1;
    padding-bottom: 15px;
}
.spotnum span {
    font-size: 0.7em;
	margin-right: 0.3em;
}
.spotnum_01{
	color: #e080aa;
}
.spotnum_02{
	color: #0f61a0;
}
.bag_g{
	background-color: #EFEFEF;
	padding: 20px;
	border-radius: 5px;
}
.tsukushiB.rt{
	font-size: clamp(11px, 1.3vw, 1em);
	line-height: 1.2;
}
.spot1_staff .ruby .rt, .spot2_staff .ruby .rt{
	font-size: clamp(14px, 1.3vw, 1em);
}
.tnh3.ruby .rt{
	font-size:0.45em;
}
.rb{
	font-size: clamp(1.1rem,4vw,1.5rem);
    line-height: 1.2;
}
ruby > rt {
    font-size: 0.45em;
}
.spot1_staff .ruby .rb, .spot2_staff .ruby .rb {
	line-height: 0;
}

/*----------------------------------*/
/*-------------- grid --------------*/
/*----------------------------------*/
.grid-container{
	display: grid;
}

/*----------------------------------*/
/*------------- section1 -----------*/
/*----------------------------------*/
/* fadeUp */

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeUpAnime{
from {
	opacity: 0;
	transform: translateY(100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}
}

	
	/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
	 
.fadeUpTrigger{
	opacity: 0;
}


#section1 {
    border-bottom: 1px solid #ccc;
}
.main {
    position: relative;
    width: 100%;
    margin: 0 auto;
	text-align: center;
	background: #9bd0ec;
	background: linear-gradient(0deg, #9bd0ec 0%, #eec5d5 80%);
}
.pagelogo{
	width: 25%;
	display: block;
	position: absolute;
	top: 20px;
	left: 20px;
}

/*----------------------------------*/
/*------------- section2 -----------*/
/*----------------------------------*/

.tnh3{
	font-size: 2.2em;
	line-height: 1.3;
	margin-bottom: 0.5em;
}
.tnh3 span{
	font-size: 12px;
	margin-left: 5px;
}

.staff_name{
	margin-top: 10px;
	line-height: 1.2;
	margin-bottom: 10px;
}

.staff_name .rb{
	font-size: 1.3em;
	display: inline-block;
}

.staff_name span{
	display: inline-block;
}

.dotbg{
	background: url(../img/p2/dotbg.gif);
	padding-bottom: 1px;
}
.store{
	display: flex;
	justify-content: space-between;
}
.store_l{
	width: 50%;
	max-width: 200px;
}
.store_r{
	width: calc(100% - 220px);
}
.atc {
    font-size: 11px;
    background: #fff;
    line-height: 1.5;
    padding: 5px 10px;
    border: 1px solid #005952;
    color: #005952;
    width: 100%;
    max-width: 600px;
    margin: 30px auto 70px;
		text-align: center;
}

ruby[data-ruby]{
	position: relative;
}
ruby[data-ruby]::before{
	content: attr(data-ruby);
	position: absolute;
    line-height: 100%;
    text-align: center;
    left: 50%;
    transform-origin: bottom center;
    transform: translateX(-50%);
    bottom: 78%;
	font-size: 12px;
	width: 100%;
}
ruby[data-ruby] rt{
	display: none;
}

#section2 .lead {
    font-size: 20px;
	text-align: center;
	margin-bottom: 180px;
	padding-top: 100px;
	padding-top: 100px;
}
#section2 .lead p{
	margin-bottom: 10px;
	font-size: clamp(1.1rem, 2.5vw, 2rem);
    line-height: 1.5em;
    margin-bottom: 1em;
}
#section2 .lead span{
	display: inline-block;
}
.fonts{
	font-size: 11px;
}


@media only screen and (max-width: 1180px) {
	.overimg_left img{
	    width: calc(100% + 40px);
	    margin-left: -40px;
	}
	.overimg_left .img10{
		margin-left: -40px;
	}
	.overimg_left .img10 img{
		border-radius: 0 15px 15px 0;
	}
	.wrapper {
		padding: 0 40px;
		max-width: none;
	}
}
@media only screen and (max-width: 900px) {
	.cb{
		clear: both;
	}
	#section2  .lead{
		width: 100%;
		display: block;
		text-align: center;	
	}
	#section2  .lead .right_box{
		width: 100%;
	}
	#section2  .lead .left_box{
		width: 100%;
		margin-bottom: 10px;
	}
	
}
@media only screen and (max-width: 640px) {
	#block1,#block2,#block3,#block4,#block5,#block6{
		margin-bottom: 100px;
	}
	#block9{
		margin-bottom: 50px;
		padding-bottom: 50px;
	}
	.store_l{

		min-width: 150px;
	}
	#section2 .lead {
		text-align: left;
	}
}
@media only screen and (max-width: 540px) {
	body{
		font-size: 13px;
	}
	.bgcopy p {
		font-size: 16px;
	}
	.sec3lead {
		font-size: 16px;
		margin: 30px 0 40px;
	}
	#section3 .atc {
		margin: 10px auto 50px;
	}
	#covid19 .atc {
		margin-top: 0;
		margin-bottom: 0;
	}
	/* 背景の三角 */
	.bg1{
		background: url(../img/p2/bg1.gif)no-repeat right top;
		background-size: 80%;
	}
	.bg2,.bg7{
		background: url(../img/p2/bg2.gif)no-repeat left top 15%;
		background-size: 30%;
	}
	.bg3,.bg8{
		background: url(../img/p2/bg3.gif)no-repeat right bottom 40%;
		background-size: 30%;
	}
	.bg4{
		background: url(../img/p2/bg2.gif)no-repeat left bottom;
		background-size: 30%;
	}
	.bg5{
		background: url(../img/p2/bg3.gif)no-repeat right top;
		background-size: 30%;
	}
	.bg6 {
		background: url(../img/p2/bg4.gif)no-repeat left bottom;
		background-size: 85%;
	}
}

@media only screen and (max-width: 480px) {
	.wrapper {
	    padding: 0 25px;
	}
	#block1,#block2,#block3,#block4,#block5,#block6{
		margin-bottom: 80px;
	}
	#block9{
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	.store li{
		padding-left: 1.7em;
		font-size: 0.9em;
		line-height: 1.4;
		padding-bottom: 0.4em;
	}
	#section2 .iconbox {
	    width: 100%;
	    float: none;
	}
	.spotline {
	    width: calc(100% - 50px);
	}
	.cap {
	    font-size: 10px;
	}
	.spotline{
		margin-bottom: 25px;
	}
	
.staff_name span.charge{
	margin-top: 0.5em;
}
}

#block1,#block2,#block3,#block4 {
	margin-bottom: 180px;
}

#block5{
	margin-bottom: 100px;
}
/*----------------------------------*/
/*---------- slider 番号付き -----------*/
/*----------------------------------*/
.slider_num .slick-dots{
	bottom: -35px;
}
.slider_num .slick-dots li{
	width: 20px;
    height: 20px;
    margin: 0 4px;
    padding: 0;
    cursor: pointer;
    border: 1px solid #025851;
}
.slider_num .slick-dots li.slick-active{
	background: #87caac;
}
.slider_num .slick-dots li button{
	font-size:initial;
    background:initial;
	width: 100%;
	height: 100%;
	color: #025851;
}
.slider_num .slick-dots li button:before{
    content:none;
}
@media only screen and (max-width: 768px) {
	#block1,#block2,#block3,#block4 {
		margin-bottom: 100px;
	}
	#section2 .lead {
		margin-bottom: 100px;
	}
}

/**********************************************/
/************** 個別コンテンツ ******************/
/**********************************************/
.spot_bottomarea{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
	grid-column-gap: 2%;
}
.spot_bottomarea-item{
	width: 49%;
}
span.sep{
	display: inline-block;
}
.copy .block{
	display: inline-block;
}
/* spot1 */
.spot1_toparea{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
	align-items: center;
	column-gap: 2%;
}
.spot1_mainimg.grid-container{
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap: 5px;
}
.spot1_mainimg .grid-item.item01 { 
	grid-area: 1 / 1 / 2 / 5;
	text-align: center;
}
.spot1_mainimg .grid-item.item02 { 
	grid-area: 1 / 4 / 2 / 6; 
}
.spot1_textarea{
	width: 45%;
}
.spot1_mainimg{
	width: 55%;
}
.spot1_mainimg .cap{
	padding-left: 15px;
}
@media screen and (max-width: 900px) {
}
@media only screen and (max-width: 768px) {
	.spot1_toparea{
		flex-direction: column;
	}
	.spot1_textarea{
		width: 100%;
	}
	.spot1_mainimg {
		width: 100%;
		max-width: 520px;
		margin-top: 1em;
	}
	#block1 .cap {
		margin-top: 1em;
	}
	.spot1_mainimg .nobori{
		width: 18%;
		top: 50%;
		right: 86%;
		transform: rotate(-10deg);
	}
}
@media only screen and (max-width: 580px) {
}
@media only screen and (max-width: 540px) {
}
@media only screen and (max-width: 480px) {
}

/* spot2 */
.spot2_toparea{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
	align-items: center;
	column-gap: 2%;
}
.spot2_mainimg{
	width: 55%;
}

.spot2_textarea{
	width: 45%;
}
#block2 button::before{
	border: 2px solid #dd6b49;
}
@media only screen and (min-width: 428px) {
}
@media screen and (max-width: 900px) {
}
@media only screen and (max-width: 768px) {
	.spot2_toparea{
		flex-direction: column-reverse;
	}
	.spot2_textarea,
	.spot2_mainimg img {
		width: 100%;
	}
	.spot2_mainimg {
		width: 100%;
		margin-top: 2em;
		text-align: center;
	}
	.spot2_mainimg img{
		margin-left: 0;
	}
	.spot2_storearea{
		grid-template-columns: auto;
		grid-template-rows: repeat(2, auto);
	}
}
@media only screen and (max-width: 540px) {
}
@media only screen and (max-width: 480px) {
}
@media only screen and (max-width: 400px) {
}

/* spot3 */
.spot3_toparea{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
	align-items: center;
	column-gap: 2%;
}
.spot3_textarea{
	width: 45%;
}
.spot3_mainimg{
	width: 55%;
	text-align: center;
}
.spot3_img{
	margin-top: 20px;
}
#block3 .store{
	gap: 10px;
}
#block1 button::before{
	border: 2px solid #dd6b49;
}
#block3 .kome{
	display: inline-block;
}
@media only screen and (max-width: 768px) {
	.spot3_toparea{
		flex-direction: column;
	}
	.spot3_textarea {
		width: 100%;
	}
	.spot3_mainimg {
		width: 100%;
		margin-top: 30px;
	}

}

/* spot4 */
.spot4_toparea{
	display: flex;
	justify-content: space-between;
	margin-bottom: 3em;
	align-items: center;
	column-gap: 2%;
}
.spot4_textarea{
	width: 45%;
}
.spot4_mainimg{
	width: 55%;
}

.spot4_toparea .cap .lump{
	display: inline-block;
}

#block4 .spot_bottomarea .grid-container{
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(6, auto);
	grid-column-gap: 10px;
	grid-row-gap: 5px;
}

#block4 .spot_bottomarea .grid-item.item01{
	grid-area: 2 / 1 / 7 / 4;
	z-index: 3;
}
#block4 .spot_bottomarea .grid-item.item02{
	grid-area: 2 / 3 / 4 / 6;
	z-index: 4;
}
#block4 .spot_bottomarea .grid-item.item03{
	grid-area: 4 / 5 / 7 / 9;
	z-index: 2;
}
#block4 .spot_bottomarea .grid-item.item04{
	grid-area: 1 / 8 / 5 / 13;
	z-index: 1;
}

@media only screen and (max-width: 768px) {
	.spot4_toparea {
		flex-direction: column-reverse;
	}
	.spot4_mainimg {
        width: 100%;
		margin-top: 2em;
		text-align: center;
    }
	.spot4_textarea {
		width: 100%;
	}
}

@media only screen and (max-width: 540px) {
	#block4 .spot_bottomarea .grid-container{
		grid-template-columns: repeat(8, 1fr);
		grid-template-rows: repeat(12, auto);
		grid-column-gap: 8px;
		grid-row-gap: 5px;
	}

	#block4 .spot_bottomarea .grid-item.item01{
		grid-area: 7 / 2 / 13 / 6;
		z-index: 3;
	}
	#block4 .spot_bottomarea .grid-item.item02{
		grid-area: 7 / 5 / 10 / 9;
		z-index: 4;
	}
	#block4 .spot_bottomarea .grid-item.item02 img{
		margin-left: -15%;
	}
	#block4 .spot_bottomarea .grid-item.item03{
		grid-area: 3 / 1 / 7 / 5;
		z-index: 2;
	}
	#block4 .spot_bottomarea .grid-item.item04{
		grid-area: 1 / 4 / 5 / 9;
		z-index: 1;
	}
}

@media only screen and (max-width: 400px) {
	i.show_480{
		display: inline!important;
	}

	#block4 .spot_bottomarea .grid-container{
		grid-template-columns: repeat(8, 1fr);
		grid-template-rows: repeat(8, auto);
		grid-column-gap: 5px;
		grid-row-gap: 15px;
	}

	#block4 .spot_bottomarea .grid-item.item01{
		grid-area: 3 / 2 / 9 / 6;
		z-index: 3;
	}
	#block4 .spot_bottomarea .grid-item.item02{
		grid-area: 3 / 4 / 6 / 8;
		z-index: 4;
	}
	#block4 .spot_bottomarea .grid-item.item02 img{
		width: 90%;
		display: block;
		margin-left: auto;
	}
	#block4 .spot_bottomarea .grid-item.item03{
		grid-area: 1 / 1 / 2 / 9;
		z-index: 2;
	}
	#block4 .spot_bottomarea .grid-item.item04{
		grid-area: 2 / 1 / 3 / 9;
		z-index: 1;
	}
}

@media only screen and (max-width: 1000px) {
	.hide_1000{
		display:none;
	}
}
@media only screen and (max-width: 960px) {

}
@media only screen and (max-width: 900px) {

}
@media only screen and (max-width: 840px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 640px) {
	.show_640{
		display: block;
	}
}
@media only screen and (max-width: 540px) {
	.show540{
		display: block;
	}
	.hide540{
		display: none;
	}
	.spot_bottomarea{
		flex-wrap: wrap;
		gap: 20px;
	}
	.spot_bottomarea-item{
		width: 100%;
	}
}
@media only screen and (max-width: 520px) {
	.store {
		width: 100%;
		flex-wrap: wrap!important;
		margin: 0px;
	}
	.store_r {
		width: 100%!important;
		padding-left: 0%!important;
		margin: 0px!important;
		padding-top: 10px!important;
	}
}
@media only screen and (max-width: 400px) {
	.show400{
		display: block!important;
	}
	.hide400{
		display: none!important;
	}
}


/* copy */
.copy{
	background: #e080aa;
	font-size: 1.2rem;
    line-height: 1.3;
    padding: 0.3em 0.5em;
    margin-bottom: 0.5em;
    color: #fff;
    width: fit-content;
	/* display: inline-block; */
}
.copy02{
	background: #0f61a0;
}
#block4 .copy:last-of-type,
#block3 .copy{
	margin-bottom: 1em;
}