@charset "utf-8";




@media all and (min-width: 768px) and (max-width: 1024px) {
}

@media all and (max-width: 768px) {
    .sp_only {
        display: none !important;
    }
	/*------------------------------------------------------------
	    main
	------------------------------------------------------------*/

	main{
	margin-top:57px;

	}


	/*------------------------------------------------------------
	    ヘッダー
	------------------------------------------------------------*/
	#header{
		position:fixed;
		top:0;
		height:57px;
		width:100%;
		background: rgba(255,255,255,0.8);
		z-index:100;
		
	}
	#header.topheader{
		background:#254055;
		
	}
	#header .headerLine{
		display:none;
	}
	#header .headerInner{
		position:relative;

	}
	#header .logo{
		position:absolute;
		top:0;
		left:15px;;
		width:210px;
		padding-top:10px;
	}
	#header.topheader .logo{
		display:block;
	}
	#header .logo img{
		width:100%;
	}
	#header .logo img:hover{
		opacity:0.6;
	}
	#header .hSns{
		display:none;
	}
	#header .overlay-menu{
		display:none;
	}
	#header .sp_btn {
    z-index: 202;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    height: 70px;
}
#header .sp_btn p {
    width: 70px;
    height: 57px;
    font-size: 12px;
    padding: 38px 0 0 0;
    line-height: 12px;
    text-align: center;
    -webkit-transition: .3s ease-out;
}
#header .sp_btn .menu__line {
    position: absolute;
    left: 23px;
    display: block;
    width: 24px;
    height: 2px;
    background: #000;
}
#header.topheader .sp_btn .menu__line {
    background: #fff;
}
#header .menu-state:checked ~ .sp_btn .menu__line {
    left: 24px;
    width: 20px;
    height: 1px;
}
#header .menu-state:checked ~ .sp_btn p {
    color: #fff;
    color: #000;
}
#header.topheader .sp_btn p {
    color: #fff;
}
#header .sp_btn p::before {
    content: "メニュー";
}
#header .menu-state:checked ~ .sp_btn p::before {
    content: "閉じる";
}
#header .sp_btn .menu__line:nth-child(1) {
    top: 13px;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}
#header .sp_btn .menu__line:nth-child(2) {
    top: 20px;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}
#header .sp_btn .menu__line:nth-child(3) {
    top: 27px;
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
}
#header .menu-state:checked ~ .sp_btn .menu__line:nth-child(1) {
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
    -webkit-transform: translate(0, 7px) rotate(45deg) scaleX(1.4);
    transform: translate(0, 7px) rotate(45deg) scaleX(1.4);
    background: #fff;
}
#header .menu-state:checked ~ .sp_btn .menu__line:nth-child(2) {
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
    background: #fff;
    opacity: 0;
}
#header .menu-state:checked ~ .sp_btn .menu__line:nth-child(3) {
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
    -webkit-transform: translate(0, -7px) rotate(-45deg) scaleX(1.4);
    transform: translate(0, -7px) rotate(-45deg) scaleX(1.4);
    background: #fff;
}
#header .menu-state:checked ~ .sp_btn p{
    color: #fff;
}
.spnavigation {
    position: fixed;
    top: -100vh;
    left: 0;
    overflow: auto;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity .3s ease-out 0s, -webkit-transform 0s .3s;
    transition: opacity .3s ease-out 0s, -webkit-transform 0s .3s;
    transition: transform 0s .3s, opacity .3s ease-out 0s;
    transition: transform 0s .3s, opacity .3s ease-out 0s, -webkit-transform 0s .3s;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 0;
    background: #DC0042;
    /* background:#142dde;*/
    color: #fff;
    -webkit-overflow-scrolling: touch;
}
#header .menu-state:checked ~ .spnavigation {
    -webkit-transition: opacity .3s ease-out, -webkit-transform 0s;
    transition: opacity .3s ease-out, -webkit-transform 0s;
    transition: transform 0s, opacity .3s ease-out;
    transition: transform 0s, opacity .3s ease-out, -webkit-transform 0s;
    -webkit-transform: translate(0, 100vh);
    transform: translate(0, 100vh);
    opacity: 1;
}
#header .spnavigation ul {
    padding: 57px 0 0 0;
    width: 100%;
}
#header .spnavigation ul li {
    font-size: 18px;
    padding: 0 0 0 0;
    border-bottom:1px solid #fff;
}
#header .spnavigation ul li:first-child{
    border-top:1px solid #fff;
}
#header .spnavigation ul dt {
    font-size: 18px;
    padding: 10px 15px 10px 15px;
}
#header .spnavigation ul dd {
    display: inline-block;
    width: 55%;
    line-height: 24px;
    padding: 13px 0 13px 40px;
    font-size: 20px;
}
#header .spnavigation ul dd:nth-child(odd) {
    width: 40%;
    padding: 13px 0 13px 0;
}
#header .spnavigation ul dt,  header .spnavigation ul dd {
    -webkit-transition: opacity .3s ease-out 0s, -webkit-transform 0s .3s;
    transition: opacity .3s ease-out 0s, -webkit-transform 0s .3s;
    transition: opacity .3s ease-out 0s, transform 0s .3s;
    transition: opacity .3s ease-out 0s, transform 0s .3s, -webkit-transform 0s .3s;
    -webkit-transform: translate(-15px, 0);
    transform: translate(-15px, 0);
    opacity: 0;
}
#header .menu-state:checked ~ .spnavigation ul dt,  header .menu-state:checked ~ .spnavigation ul dd {
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(1) dt {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(2) dt {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(3) dt {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(4) dt {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(5) dt {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}
#header .menu-state:checked ~ .spnavigation ul li:nth-child(6) dt {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}
#header .spnavigation ul a {
    /*	color:#fff;*/
    color: #fff;
    text-decoration: none;
}
#header .spnavigation .logo {
    position: absolute;
    top: 0;
    left: 15px;
    display: block;
	width:210px;
    cursor: pointer;
}
#header .spnavigation .logo img{
	width:100%
}



	/*------------------------------------------------------------
	    TitleBorder
	------------------------------------------------------------*/
	#TitleBorder{
		width:100%;
		margin:0 auto;
		padding:0 15px 0 15px;
		background:#DC0042;
	}

	#TitleBorder .BorderInner{
		max-width:1080px;
		margin:0 auto;
		padding:5px 0 5px 0;
		font-size:14px;
		line-height:1.5em;
		color:#fff;
	}
	#TitleBorder .BorderInner a{
		color:#fff;
	}


	/*------------------------------------------------------------
	    PageImage
	------------------------------------------------------------*/
	#PageImage{
		height:230px;
		width:100%;
		background-position:center center;
		background-repeat:no-repeat;
		background-size:cover;

	}

	#PageImage .PageContents{
		height:100%;
	    width: 100%;
	    align-items: center;
	    display: flex;
	    justify-content: center;
	    
	flex-wrap:wrap;
	}
	#PageImage .PageContents div{
	    width: 100%;
		font-size:30px;
		color:#000;
		font-family:'Courgette', cursive;
		text-align:center;
	}
	#PageImage .PageContents h3{
		padding-top:15px;
		font-size:16px;
		color:#000;
		font-family:'Courgette', cursive;
	}


	/*------------------------------------------------------------
	    PageTitle
	------------------------------------------------------------*/
	.PageTitle{
		width:100%;
		background:#fff;
	}
	.PageTitle .PageTitleInner{
		max-width:850px;
		margin:0 auto;
		padding:20px 15px 30px 15px;
	}



	.PageTitle .PageTitleInner .PIcon{
		display:block;
		width:70px;
		height:77px;
		background: url(../images/svg/page_icon_01.svg) no-repeat center center;
		background-size:70px auto;
		margin:0 auto 40px auto;
	}

	.PageTitle .PageTitleInner .PIcon2{
		width:100%;
		display:block;
		height:auto;
		background: url(../images/svg/page_icon_02.svg) no-repeat center top;
		background-size:70px auto;
		margin:0 auto 20px auto;
		padding:70px 0 0 0;
		font-size:40px;
		line-height:77px;
		font-family:'Courgette', cursive;
		text-align:center;
	}
	.PageTitle .PageTitleInner .PTitle{
		font-size:30px;
		line-height:40px;
		padding:0 15px 30px 15px;
		font-weight:bold;
		text-align:center;
	}
	.PageTitle .PageTitleInner .PSubtitle{
		font-size:16px;
		line-height:24px;
		padding:0 15px 30px 15px;
		text-align:center;
	}
	.PageTitle .PageTitleInner .PText{
		font-size:16px;
		line-height:28px;
		padding:0 0 30px 0;
	}




	/*------------------------------------------------------------
	    Pagetop
	------------------------------------------------------------*/
	.Pagetop{
		display:none;
		position:fixed;
		bottom: 0;
		right: 0;
		transform: rotate(90deg);
	}
	.Pagetop p{
		position: absolute;
		bottom: -40px;
		right: 60px;
		color: #000;
		padding: 10px 0;
		font-family: 'Courgette', cursive;
		font-size: 20px;
		width: 150px;
		height: 40px;
		text-align:right;
		cursor:pointer;
		text-shadow: 1px 1px 1px #ffffff;
	}
	.Pagetop p:hover{
		color:#004988
	}
	.Pagetop p::after{
	    content: "";
	    display: block;
	    position: absolute;
	    top: calc(50% - 5px);
	    left: 20px;
	    width: 35px;
	    height: 7px;
	    border: none;
	    border-left: 2px solid #000;
	    border-bottom: 1px solid #000;
	    transform: skew(-45deg);
	    transition: .3s;
	}
	.Pagetop p:hover::after{
	    left: 30px;
	}
	.Pagetop p::before{
	    content: "";
	    display: block;
	    position: absolute;
	    top: calc(50% - 6px);
	    left: 21px;
	    width: 35px;
	    height: 7px;
	    border: none;
	    border-left: 2px solid #fff;
	    border-bottom: 1px solid #fff;
	    transform: skew(-45deg);
	    transition: .3s;
	}
	.Pagetop p:hover::before{
	    left: 31px;
	}


	/*------------------------------------------------------------
	    Topsec
	------------------------------------------------------------*/

	#Topsec{
		position:relative;
		background: url(../images/top_img.jpg) no-repeat center center;
		background-size:cover;
		background-attachment:scroll;
		height:calc(100vh - 50px);
	}
.webp #Topsec{background-image:url(../images/top_img.webp)}
	#Topsec .TopInner{
		width:75vw;
		max-width:800px;
		text-align:center;
	}
	#Topsec .TOPLogo svg{
		width:75vw;
		max-width:800px;
		height:16vw;
		max-height:250px;
	}
	#Topsec .TopText{
	text-align:center;
	padding:20px 0 80px 0;
	color:#fff;
	font-size:6vw;
  text-shadow:
    0 1px 2px rgba(0,0,0,.7),
    0 0 8px rgba(0,0,0,.35);
	}



	#Topsec .Anc{
		position:absolute;
		left:50%;
		bottom:40px;
		margin-left:-20px;
		width:40px;
		height:40px;
	}
	#Topsec .Anc p{
		display:block;
		position:relative;
		background-size:40px auto;
		width:40px;
		height:40px;
		animation: rotate-anime 5s linear infinite;
	}
	#Topsec .Anc a{
		display:block;
		position:absolute;
		left:0 ;
		top:0;
		background: url(../images/svg/anc_inn.svg) no-repeat center center;
		background-size:40px auto;
		width:40px;
		height:40px;
		animation: rotate-anime_r 5s linear infinite;
	}
	#Topsec .Anc a:hover{
		opacity:0.8;
	}


	/*------------------------------------------------------------
	    ServiceContents
	------------------------------------------------------------*/
	.ServiceContents{
		width:100%;
		background:#DC0042;
		padding:50px 0 0 0;
		
	}
	.ServiceContents .ContentsInner{
		padding:0 15px 60px 15px;
	}
	.ServiceContents .ContentsInner .IconImg{
		max-width:120px;
		margin:0 auto;
		padding:0 0 25px 0;
	}
	.ServiceContents .ContentsInner .CTitle{
		font-size:22px;
		line-height:30px;
		padding:0 0 20px 0;
	}
	.ServiceContents .ContentsInner .CText{
		font-size:16px;
		/* line-height:24px; */
		padding:0 0 30px 0;
	}

	.ServiceContents .ContentsInner .CBtn{
		max-width:450px;
		width:100%;
		margin:0 auto;
	}
	.ServiceContents .ContentsInner .CBtn a{
		display:block;
		width:100%;
		color:#DC0042;
		background:#fff;
		border-radius:5px;
		text-align:center;
		font-weight:bold;
		font-size:22px;
		line-height:1.4;
		padding:10px 10px;
		text-decoration:none;
		box-shadow: 0px 3px 4px 2px rgba(0,0,0,0.2);
	}
	.ServiceContents .ContentsInner .CBtn a span{
		background:#fff url(../images/svg/icon_cart.svg) no-repeat left center;
		background-size:20px auto;
		padding: 0 0 0 35px;

	}

	.ServiceContents .ContentsInner .CBtn a:hover{
		opacity:0.6;
	}

	.ServiceContents .InformationArea{
		padding:10px 0 10px 0;
		
	}
	.ServiceContents .InformationArea .InformationInner{
		padding:0 15px 0 15px;
		position:relative;
		
	}
	.ServiceContents .InformationArea .InformationInner dl{
		width:100%;
		display:block;
	}

	.ServiceContents .InformationArea .InformationInner dl dt{
		width:100%;
		display:block;
		color:#fff;
	}
	.ServiceContents .InformationArea .InformationInner dl dd{
		display:block;
		color:#fff;
	}

	.ServiceContents .InformationArea .InformationInner dl dd a{
		color:#fff;
	}

	.ServiceContents .InformationArea .InformationInner .informationLink{
		display:block;
		position:absolute;
		top:0;
		right:10px;
		background: url(../images/svg/list_link.svg) no-repeat center center;
		background-size:20px auto;
		width:20px;
		height:20px;
	}
	.ServiceContents .InformationArea .InformationInner .informationLink a{
		display:block;
		width:20px;
		height:20px;
	}

	.ServiceContents .InformationArea .InformationInner .informationIcon{
		display:block;
		position:absolute;
		top: -65px;
		left:5px;
		background: url(../images/svg/link_new.svg) no-repeat center center;
		background-size:70px auto;
		width:70px;
		height:70px;
	}


	/*------------------------------------------------------------
	    ProdutcsContents
	------------------------------------------------------------*/
	.ProdutcsContents{
		width:100%;
		background:#fff url(../images/fl_right_bg.png) no-repeat right top 45px;
        background-image:image-set(url("../images/fl_right_bg.webp") type("image/webp"),url("../images/fl_right_bg.png") type("image/png"));
		background-size:150px auto;
		padding:100px 0 50px 0;
		
	}
	.ProdutcsContents .ContentsInner{
		max-width:980px;
		margin:0 auto;
		padding:0 15px 0 15px;
	}
	.ProdutcsContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:30px;
		padding:0 0 15px 0;
		font-family:'Courgette', cursive;
		color:#DC0042;
	}
	.ProdutcsContents .ContentsInner .SubTitle{
		font-size:16px;
		line-height:24px;
		padding:0 0 30px 0;
		position:relative;
		margin:0 auto;
	}
	.ProdutcsContents .ContentsInner .SubTitle span{
		padding:0 25px 0 25px;
		position:relative;
	}

	.ProdutcsContents .ContentsInner .SubTitle span:before{
		background: url(../images/svg/titleline.svg) no-repeat left center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}

	.ProdutcsContents .ContentsInner .SubTitle span:after{
		background: url(../images/svg/titleline.svg) no-repeat right center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}
	.ProdutcsContents .ContentsInner .CText{
		font-size:16px;
		line-height:20px;
		padding:0 0 35px 0;
	}

	.ProdutcsContents .ContentsInner .PDetail{
		/* display:block; */
        display: flex; flex-direction: column;
		width:100%;
		background:#DC0042;
		padding:6px;
	}

	.ProdutcsContents .ContentsInner .PDLeft
	,.ProdutcsContents .ContentsInner .PDRight
    {
		display:block;
		width:100%;
		color:#fff;
		padding:15px 10px 15px 10px;
		vertical-align:top;
	}
	.ProdutcsContents .ContentsInner .PDetail.Rev .PDImg{order:2}

	.ProdutcsContents .ContentsInner .PDTitle{
		font-size:17px;
		line-height:24px;
		padding:0  0 15px 0;
	}
	.ProdutcsContents .ContentsInner .PDsubTitle{
		font-size:24px;
		line-height:28px;
		font-weight:bold;
		padding:0  0 15px 0;
	}

	.ProdutcsContents .ContentsInner .PDText{
		font-size:14px;
		line-height:1.6;
		padding:0  0 35px 0;
	}

	.ProdutcsContents .ContentsInner .PDImg{
		display:block;
		width:100%;
		/* background:#fff; */
		vertical-align:middle;
		text-align:center;
	}
	.ProdutcsContents .ContentsInner .PDImg img{
		width:100%;
		max-width:345px;
	}
    .ProdutcsContents .ContentsInner .PDImg img.jam{max-width:345px; width: 100%;}

	.ProdutcsContents .ContentsInner .PDBtn{
		max-width:350px;
		width:100%;
		margin:0 auto;
	}
	.ProdutcsContents .ContentsInner .PDBtn a{
		font-size:18px;
		line-height:1.4;
		padding:10px 10px;
	}
/*------------------------------------------------------------
    TopExperienceContents
------------------------------------------------------------*/
.TopExperienceContents{padding: 50px 0 0 0; }
.TopExperienceContents .topExperience { padding: 0 0 80px;}

.TopExperienceContents .topExperience .CTitle{
     padding: 4em 1em 1em;font-size:20px;font-size: 3.8vw;
}
/* .TopExperienceContents .ContentsInner .CTitle span {    display: block; padding-left: 0;} */
.TopExperienceContents .ContentsInner .SubTitle{padding-bottom: 0;}
.TopExperienceContents .topExperience .ObiTitle{ font-size:26px;font-size: 4.2vw;}

.TopExperienceContents .topExperience .CBtn{max-width:450px;width:calc(100% - 20px);margin:20px auto 0}
.TopExperienceContents .topExperience .CBtn a{background-size:35px auto; background-position: 1% center ; font-size:5vw;font-size:clamp(0px,5vw,24px)}
.TopExperienceContents .topExperience .note{ font-size: 12px; }
.note.Experience{ font-size: 12px;}

/*------------------------------------------------------------
    ExFeatures
------------------------------------------------------------*/
.ExFeatures { margin-top: 50px;}
.ExFeatures .ContentsInner { padding: 60px 0 80px; max-width: 500px;}
.ExFeatures .ContentsInner .features{ padding: 0; }
.ExFeatures .ContentsInner .features li { display: block; }
.ExFeatures .ContentsInner .features .Tx .fTitle{font-size:19px;font-size:clamp(19px,6.5vw,32px)}
.ExFeatures .ContentsInner .features .Tx .fTxt{font-size:13px;}
.ExFeatures .ContentsInner .features .Img{ margin-top: 10px;}


	/*------------------------------------------------------------
	    PickupContents
	------------------------------------------------------------*/
	.PickupContents{
		padding:50px 0 50px 0;
		
	}
	.PickupContents .ContentsInner{
		padding:0 15px 0 15px;
	}
	.PickupContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:35px;
		padding:0 0 10px 0;
		font-family:'Courgette', cursive;
		text-align:center;
		color:#DC0042;
	}
	.PickupContents .ContentsInner .SubTitle{
		font-size:16px;
		line-height:24px;
		padding:0 0 30px 0;
		text-align:center;
		position:relative;
		margin:0 auto;
	}
	.PickupContents .ContentsInner .SubTitle span{
		padding:0 25px 0 25px;
		position:relative;
	}

	.PickupContents .ContentsInner .SubTitle span:before{
		background: url(../images/svg/titleline.svg) no-repeat left center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}

	.PickupContents .ContentsInner .SubTitle span:after{
		background: url(../images/svg/titleline.svg) no-repeat right center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}


	.PickupContents ul{
	    margin-bottom:10px;
	}
	.PickupContents li{
		padding:0 10px;
		width:320px;
		margin-bottom:20px;
	}
	/*------------------------------------------------------------
	    ShopContents
	------------------------------------------------------------*/
	.ShopContents{
		width:100%;
		background:#fff url(../images/shop_bg.jpg) no-repeat center center;
		background-size:cover;
		background-attachment: scroll;
		padding:50px 0 50px 0;
		
	}
	.ShopContents .ContentsInner{
		padding:0 15px 0 15px;
	}
	.ShopContents .ContentsInner .CTitle{
		font-size:30px;
		line-height:40px;
		padding:0 0 20px 0;
		font-family:'Courgette', cursive;
	}
	.ShopContents .ContentsInner .CText{
		font-size:16px;
		line-height:20px;
		padding:0 0 20px 0;
	}


	.ShopContents ul {
		width:100%;
	    padding: 0;
	    display: block;
	    margin:0 0 10px 0;
	}
	.ShopContents li {
	    width: 100%;
	    text-align: center;
	    padding: 0 15px 20px 15px;
	}
	.ShopContents li div{
	    width: 100%;
		padding:10px 5px;
		line-height:30px;
		
	    
	    
	}
	.ShopContents .ContentsInner .CCText{
		font-size:14px;
		line-height:20px;
		padding:0 0 40px 0;
		text-align:left;
	}
	.ShopContents .ContentsInner .CBtn{
		width:100%;
		max-width:400px;
		margin:0 auto;
	}
	.ShopContents .ContentsInner .CBtn a{
		display:block;
		width:100%;
		color:#fff;
		background:#DC0042;
		border-radius:10px;
		box-shadow: 0px 3px 4px 2px rgba(0,0,0,0.2);
		text-align:center;
		font-weight:bold;
		font-size:20px;
		line-height:1.8;
		padding:15px 10px;
		text-decoration:none;
	}

	.ShopContents .ContentsInner .CBtn a:hover{
		background:#F82665;
	}
	/*------------------------------------------------------------
	    SnsContents
	------------------------------------------------------------*/
	.SnsContents{
		width:100%;
        /* 1. フォールバック（image-set自体が解釈できない超古いブラウザ用） */
		background:#fff url(../images/fl_left_bg.png) no-repeat left top 50px;
        /* 2. モダンブラウザ用：WebPがあればWebP、なければPNGを採用 */
        background-image: image-set(
            url("../images/fl_left_bg.webp") type("image/webp"),
            url("../images/fl_left_bg.png") type("image/png")
        );
		background-size:120px auto;
		padding:100px 0 50px 0;
		
	}
    .SnsContents::after { display: none;}

	.SnsContents .ContentsInner{
		max-width:1200px;
		margin:0 auto;
		padding:0 0 0 0;
	}
	.SnsContents .ContentsInner .CTitle{
		font-size:30px;
		line-height:40px;
		padding:45px 0 30px 0;
		font-family:'Courgette', cursive;
		text-align:center;
		background: url(../images/icon_b_insta.png) no-repeat center top;
		background-size:40px auto;
	}

	.SnsContents .ContentsInner .snsImg{
		max-width:800px;
		margin:0 auto;

	}
	.SnsContents .ContentsInner .snsImg img{
		width:100%;

	}
	/*------------------------------------------------------------
	    AboutContents
	------------------------------------------------------------*/
	.AboutContents{
		width:100%;
		background:#fff;
		padding:40px 0 40px 0;
	}
	.AboutContents .ContentsInner{
		padding:0 15px 0 15px;
	}
	.AboutContents .ContentsInner .CTitle{
		font-size:24px;
		line-height:30px;
		padding:0 0 20px 0;
		font-family:'Courgette', cursive;
		text-align:center;
	}
	.AboutContents .ContentsInner h3{
		display:inline-block;
	}
	.AboutContents .ContentsInner .CTitle div{
		display:inline-block;
		font-size:18px;
		padding:0 0 0 15px;
	}
	.AboutContents .ContentsInner .CImg{
		width:100%;
		padding:0 0 20px 0;
		margin:0 auto;
	}

	.AboutContents .ContentsInner .CImg img{
		width:100%;
	}
	.AboutContents .ContentsInner .CText{
		font-size:16px;
		line-height:24px;
		padding:0 0 10px 0;
	}

/*------------------------------------------------------------
    ExperienceContents
------------------------------------------------------------*/
.ExperienceContents { padding: 50px 0 0;}
.ExperienceContents .ContentsInner{   padding: 0 20px;}
.ExperienceContents .ContentsInner .CTitle.mtm30{ margin-top: -10px; max-width: 400px; width: calc(100% - 40px); padding-bottom: 10px;}
.ExperienceContents .ContentsInner .CText{font-size: 14px; font-size:3.4vw;font-size: clamp(13.5px, 3.4vw, 18px); max-width: 500px; margin-left: auto; margin-right: auto;font-weight: 300;}
.ExperienceContents .ContentsInner .CImg img{width: 100%;}
.ExperienceContents .ContentsInner .br_pc_disp { display: none;}
.ExperienceContents .ContentsInner .CTitle span {  display: block; padding-left: 0;}
.CBtn.Experience{max-width:450px;width:100%;margin:20px auto 0;}
.CBtn.Experience {max-width:450px;margin:60px auto 0}
.CBtn.Experience a{background-size: 10%; background-position: left 7% center; font-size:5vw;font-size:clamp(0px,5vw,24px); }

/*------------------------------------------------------------
    IntroSt
------------------------------------------------------------*/
 .IntroSt{ margin-top: 80px;  padding-bottom: 80px;}
.IntroSt .ichigo-list {
   grid-template-columns: 1fr;
    gap: 40px 0;
    max-width: none;
    margin: 0 auto;
}
.IntroSt .ichigo-list .ichigo-card {  padding: 20px;   width: auto;   margin: 0 auto;}
.IntroSt .ichigo-list .ichigo-desc { font-size: 13px; line-height: 1.7; margin-top: 1em;}


	/*------------------------------------------------------------
	    ConceptContents
	------------------------------------------------------------*/
	.ConceptContents{
		padding:40px 0 40px 0;
	}
	.ConceptContents .ContentsInner{
		padding:0 15px 0 15px;
	}
	.ConceptContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:35px;
		padding:0 0 10px 0;
		font-family:'Courgette', cursive;
		text-align:center;
	}
	.ConceptContents .ContentsInner .SubTitle{
		font-size:16px;
		line-height:24px;
		padding:0 0 30px 0;
		text-align:center;
		position:relative;
		margin:0 auto;
	}
	.ConceptContents .ContentsInner .SubTitle span{
		padding:0 25px 0 25px;
		position:relative;
	}

	.ConceptContents .ContentsInner .SubTitle span:before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		background: url(../images/svg/titleline.svg) no-repeat left center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}

	.ConceptContents .ContentsInner .SubTitle span:after{
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		background: url(../images/svg/titleline.svg) no-repeat right center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}


	.ConceptContents .ContentsInner .CFloat{
	}
	.ConceptContents .ContentsInner .CTable{
		display:block;
		width:100%;
		
	}
	.ConceptContents .ContentsInner .CTable .Cleft{
		display:block;
	}

	.ConceptContents .ContentsInner .CTable .Cright{
		display:block;
		width:100%;
		padding:0 0 0 0;
	}
	.ConceptContents .ContentsInner .CTable .Cright img{
		width:100%;
	}

	.ConceptContents .ContentsInner .CTable dt{
		width:100%;
	}

	.ConceptContents .ContentsInner .CTable dd{
		width:100%;
		font-size:16px;
		line-height:24px;
		padding:0 0 20px 0;
	}

	.ConceptContents .ContentsInner .CTable .dtTitle{
		width:100%;
		font-size:20px;
		line-height:24px;
		font-weight:bold;
		padding:0 0 5px 0;
		color:#D8422B;
	}



	.ConceptContents .ContentsInner .dlLine{
		position:relative;
		border:1px solid #D9D9D9;
		margin:0 0 5px 0;
	}

	.ConceptContents .ContentsInner .dlLine:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 239px;
		height: 2px;
		background: #DC0042;
		transform: scale(0.2,1);
	    transform-origin: left bottom;/*左上基点*/
		transition: 1s ! important;
		
	}
	.ConceptContents .ContentsInner .dlLine.show:before{
		transform: scale(1,1);
		
	}

	/*------------------------------------------------------------
	    StaffContents
	------------------------------------------------------------*/
	.StaffContents{
		width:100%;
		background:#fff;
		padding:40px 0 40px 0;
	}
	.StaffContents .ContentsInner{
		margin:0 auto;
		padding:0 0 0 0;
	}
	.StaffContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:35px;
		padding:0 0 10px 0;
		font-family:'Courgette', cursive;
		text-align:center;
	}
	.StaffContents .ContentsInner .SubTitle{
		font-size:16px;
		line-height:24px;
		padding:0 0 30px 0;
		text-align:center;
		position:relative;
		margin:0 auto;
	}
	.StaffContents .ContentsInner .SubTitle span{
		padding:0 25px 0 25px;
		position:relative;
	}

	.StaffContents .ContentsInner .SubTitle span:before{
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		background: url(../images/svg/titleline.svg) no-repeat left center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}

	.StaffContents .ContentsInner .SubTitle span:after{
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		background: url(../images/svg/titleline.svg) no-repeat right center;
		background-size:18px auto;
		height:24px;
		width:20px;
	}

	.StaffContents .ContentsInner .StaffDetail{
		background:#F8F8F8;
		background-size:100% auto;
	}
	.StaffContents .ContentsInner .StaffDetail .StaffDInner{
		padding:40px 15px;
	}

	.StaffContents .ContentsInner .StaffDetail .StaffDInner .StaffDTable{
		display:block;
		width:100%;
	}

	.StaffContents .ContentsInner .StaffDetail .StaffDInner .StaffDTable .StaffLeft{
		display:block;
		width:100%;
		padding:0 20px 0 20px;
	}
	.StaffContents .ContentsInner .StaffDetail .StaffDInner .StaffDTable .StaffRight{
		display:block;
		width:100%;
	}
	.StaffContents .ContentsInner .StaffDetail .StaffDInner .StaffDTable .StaffLeft img{
		width:100%;
	}
	.StaffContents .ContentsInner .StaffDetail .StaffDInner .StaffDTable .StaffRight .StaffText{
		padding:15px 20px;
	}


/*------------------------------------------------------------
    NotesForVisitors
------------------------------------------------------------*/
.NotesForVisitors{  padding: 0;}
.NotesForVisitors .ContentsInner .Ctitle {    padding:0 0 10px 0;    margin:  50px auto 30px;}
.NotesForVisitors .ContentsInner .Ctitle h3 { font-size: 22px; }

.NotesForVisitors .ContentsInner .NoteNum {    font-size: 18px;  flex: 0  0 2em;}
.NotesForVisitors .ContentsInner .NoteTxt {  font-size: 13px; } 

/*------------------------------------------------------------
    Schedule
------------------------------------------------------------*/
.Schedule .ContentsInner .Ctitle {      
    /* width: 200px;  */
    width: fit-content;
    font-size: 20px;
    font-size: clamp(22px, 5vw, 32px);
}
.Schedule .ContentsInner .ScheTxt {  margin: 20px auto 0; }
.Schedule .ContentsInner .ScheTxt  li {gap: 10px;}
.Schedule .ContentsInner .ScheTxtTtl { flex: 0 0 5em; width: auto; }
.Schedule .ContentsInner .ScheTxtTx { font-size: 14px; }


/*------------------------------------------------------------
    GroupBooking
------------------------------------------------------------*/
.GroupBooking .ContentsInner .Ctitle {  
    font-size: 20px;
    font-size: clamp(22px, 5vw, 32px);
}
.GroupBooking .ContentsInner a
{
        font-size: 18px;
    font-size: clamp(18px, 4vw, 24px);
    width: fit-content;
    padding: 7px 2em;
}


	/*------------------------------------------------------------
	    MapContents
	------------------------------------------------------------*/
	.MapContents{
		width:100%;
		background:#fff;
		padding:80px 0 40px 0;
	}
	.MapContents iframe{
		width:100%;
		height:350px;
	}
	.MapContents .ContentsInner{
        padding: 0 20px;
	}
	.MapContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:35px;
		padding:0 0 10px 0;
		font-family:'Courgette', cursive;
	}
    .MapContents .ContentsInner .Ctitle2 h3{
        font-size: 22px;
        font-size: clamp(22px, 5vw, 32px);
    }
	.MapContents .ContentsInner .CTitle div{
		display:inline-block;
		font-size:18px;
		padding:0 0 0 15px;
	}
    .MapContents iframe { max-width: 100%;}
.MapContents .mapTitle { font-size: 16px;  }
.MapContents iframe + .ContentsInner { margin-top: 0;}
.MapContents .mapAddress { font-size: 13px;     }
.MapContents .mapTransport .mapTransportTitle {  
        font-size: 20px;
        font-size: clamp(20px, 4vw, 26px);
}
.MapContents .mapTransport .mapTransportTitle img {  
    max-width: initial;   width: auto; height: 40px;
 }


.GroupBooking + .MapContents { margin-top: 0;}

	/*------------------------------------------------------------
	    CompanyContents
	------------------------------------------------------------*/
	.CompanyContents{
		padding:50px 15px 30px 15px;
	}
	.CompanyContents .ContentsInner{
	}
	.CompanyContents .ContentsInner .CTitle{
		font-size:35px;
		line-height:35px;
		padding:0 0 10px 0;
		font-family:'Courgette', cursive;
	}
	.CompanyContents .ContentsInner h3{
		display:inline-block;
	}
	.CompanyContents .ContentsInner .CTitle div{
		display:inline-block;
		font-size:18px;
		padding:0 0 0 15px;
	}

	.CompanyContents .ContentsInner dl{
		display:block;
		width:100%;
		background:#F0F0F0;
	}

	.CompanyContents .ContentsInner dl:nth-child(odd){
		background:#fff;
	}

	.CompanyContents .ContentsInner dt{
		display:block;
		width:100%;
		font-size:14px;
		line-height:1.6em;
		padding:10px 10px 5px 10px;
	}
	.CompanyContents .ContentsInner dd{
		display:block;
		padding:5px 15px 10px 20px;
		font-size:14px;
		line-height:1.6em;

	}

	/*------------------------------------------------------------
	    LogoContents
	------------------------------------------------------------*/
	.LogoContents{
		padding:30px 15px 50px 15px;
	}

	.LogoContents .farmlogo{
		width:150px;
	}
	/*------------------------------------------------------------
	    PrivacyContents
	------------------------------------------------------------*/
	.PrivacyContents{
		padding:50px 15px 50px 15px;
	}
	.PrivacyContents .ContentsInner{
		padding:0 0 0 0;
	}

	.PrivacyContents .ContentsInner dt{
		padding:0 0 15px 0;
	}
	.PrivacyContents .ContentsInner dd{
		padding:0 0 25px 20px;
	}
	.PrivacyContents .ContentsInner .dlLine{
		position:relative;
		border:1px solid #D9D9D9;
		margin:0 0 30px 0;
	}

	.PrivacyContents .ContentsInner .dlLine:before{
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 239px;
		height: 2px;
		background: #DC0042;
		transform: scale(0.2,1);
	    transform-origin: left bottom;/*左上基点*/
		transition: 1s ! important;
		
	}
	.PrivacyContents .ContentsInner .dlLine.show:before{
		transform: scale(1,1);
		
	}


	/*------------------------------------------------------------
	    ContactContents
	------------------------------------------------------------*/
	.ContactContents{
		width:100%;
		background:#fff;
		padding:50px 0 50px 0;
	}
	.ContactContents .ContentsInner{
		max-width:920px;
		margin:0 auto;
		padding:50px 15px 0 15px;
		background:#fff;
	}


	#contacttel{
		width:100%;
		background:#F1F1F1;
		padding:40px 0 25px 0;
	}
	#contacttel h3{
		font-size:17px;
		text-align:center;
		padding:0 0 15px 0;

	}
	#contacttel .tel{
		font-size:20px;
		line-height:40px;
		text-align:center;
		padding:0 0 10px 0;
	}
	#contacttel .tel span{
		font-size:30px;
		font-weight:bold;
		padding:0 0 0 10px;
		
	}
	#contacttel .subText{
		font-size:16px;
		text-align:center;
		padding:0 0 15px 0;

	}




	#contact .text {
		padding:0 0 30px 0;
	}

	#contact .form_inner {
	    text-align: left;
	    padding:30px 0 0 0;;
	    font-size: 1rem;
	    line-height: 1.6; }
	    #contact .form_inner .timearea2 + .bikou_wrap {
	      margin-top: 1em; }
	    #contact .form_inner .bikou_wrap {
	      display: inline;
	      padding-left: 1em; }
	      #contact .form_inner .bikou_wrap .bikounote {
	        font-size: 0.8125rem; }
	        #contact .form_inner .bikou_wrap .bikounote a {
	          color: #C94642; }
	    #contact .form_inner .settlement {
	      margin: 2em 0;
	      font-size: 0.8125rem; }
	      #contact .form_inner .settlement .bullets {
	        padding-left: 1em; }
	        #contact .form_inner .settlement .bullets li {
	          font-size: 0.75rem;
	          padding-left: 1em;
	          text-indent: -1em; }
	      #contact .form_inner .settlement .mop {
	        padding: 0.5em 0 0 1em; }
	      #contact .form_inner .settlement .method {
	        padding: 0.5em 0 0; }
	    #contact .form_inner .form_item {
	      padding-bottom: 30px; }
	      #contact .form_inner .form_item .head {
	        padding-bottom: 10px; }
	        #contact .form_inner .form_item .head span {
	          font-size: 0.875rem;
	          color: white;
	          background-color: #FF6868;
	          padding: 0 5px;
	          margin-left: 10px;
	          border-radius: 3px; }
	      #contact .form_inner .form_item .body {}
	        #contact .form_inner .form_item .body input,
	        #contact .form_inner .form_item .body textarea {
	          border: 1px solid #95989a;
	          padding: 1em;
	          max-width: 100%;
	          box-sizing: border-box; }
	          #contact .form_inner .form_item .body input[type="text"], #contact .form_inner .form_item .body input[type="tel"],
	          #contact .form_inner .form_item .body textarea[type="text"],
	          #contact .form_inner .form_item .body textarea[type="tel"] {
	            max-width: 360px;
	            width: 100%; }
	          #contact .form_inner .form_item .body input[type="email"],
	          #contact .form_inner .form_item .body textarea[type="email"] {
	            max-width: 360px;
	            width: 100%; }
	          #contact .form_inner .form_item .body input.p-region,
	          #contact .form_inner .form_item .body textarea.p-region {
	            width: 8em; }
	          #contact .form_inner .form_item .body input.zip,
	          #contact .form_inner .form_item .body textarea.zip {
	            width: 8em; }
	          #contact .form_inner .form_item .body input[name="muni"],
	          #contact .form_inner .form_item .body textarea[name="muni"] {
	            width: 8em; }
	        #contact .form_inner .form_item .body textarea {
	          width: 100%; }
	        #contact .form_inner .form_item .body select {
	          border: 1px solid #95989a;
	          padding-top: 11px;
	          padding-bottom: 11px;
	          padding-left: 5px; }
	          #contact .form_inner .form_item .body select[name="timearea1"].wpcf7-not-valid, #contact .form_inner .form_item .body select[name="timearea2"].wpcf7-not-valid {
	            position: relative;
	            margin-bottom: 3em; }
	          #contact .form_inner .form_item .body select[name="timearea1"] + span.wpcf7-not-valid-tip,
	          #contact .form_inner .form_item .body select[name="timearea2"] + span.wpcf7-not-valid-tip {
	            position: absolute;
	            left: 0;
	            bottom: -4.5em; }
	        #contact .form_inner .form_item .body .wpcf7-list-item {
	          display: block;
	          padding: 0.5em 0 0; }
	    #contact .form_inner .btn_area {
	      text-align: center; }
	    #contact .form_inner .btn_area p{
	      text-align: center; }
	      #contact .form_inner .btn_area input {
	        background-color: #DC0042;
	        color: white;
	        border: none;
	        padding: 10px 20px;
	        border-radius: 5px;
	        margin: 0 2% 10px 2%;
	        max-width: 330px; 
	        font-size:20px;
	   box-shadow: 2px 3px 5px 0 rgba(0, 0, 0, .5);
	   }
	        #contact .form_inner .btn_area input[type="reset"] {
	          width: 45%; }
	        #contact .form_inner .btn_area input[type="submit"] {
	          width: 40%;
	          max-width: 200px;
	          min-width: 150px; }
	        #contact .form_inner .btn_area input:hover {
	          background-color: #FB9482;
	          cursor: pointer; }
	    #contact .form_inner .reCAPTCHA_branding {
	      padding: 3em 0;
	      font-size: 0.75rem; }
	      #contact .form_inner .reCAPTCHA_branding a {
	        text-decoration: underline; }
	  #contact .form_inner .wpcf7c-conf {
	    background-color: white; }
	  #contact .form_inner input:-webkit-autofill,
	  #contact .form_inner .input:focus:-webkit-autofill {
	    -webkit-box-shadow: 0 0 0 100px white inset; }
	  #contact span.wpcf7-not-valid-tip {
	    font-size: 12px; }
	  #contact input[type=checkbox].wpcf7c-conf:checked {
	    border-color: #ff6798; }
	  #contact .callTel {
	    margin: 30px auto 10px;
	    max-width: 860px;
	    width: calc(100% - 50px); }
	    #contact .callTel a {
	      display: block;
	      padding: 20px;
	      color: #936f30;
	      border: 2px solid #936f30;
	      border-radius: 5px;
	      font-size: 1.875rem;
	      font-weight: bolder;
	      width: 100%;
	      height: 100%;
	      -webkit-transition: 0.25s;
	      transition: 0.25s; }
	      #contact .callTel a:hover, #contact .callTel a:focus {
	        -webkit-box-shadow: 0 0.5em 0.5em -0.4em #936f30;
	                box-shadow: 0 0.5em 0.5em -0.4em #936f30;
	        -webkit-transform: translateY(-0.25em);
	                transform: translateY(-0.25em); }
	  #contact p.description {
	    padding-left: 20px;
	    color: #936f30;
	    font-weight: bold;
	    font-size: 0.75rem;
	    line-height: 1.5;
	    margin-bottom: 30px;
	    text-align: left;
	    display: none; }

	/*------------------------------------------------------------
	    パンクズリスト
	------------------------------------------------------------*/
	/*------------------------------------------------------------
	    conts
	------------------------------------------------------------*/

	/*------------------------------------------------------------
	    sideBar
	------------------------------------------------------------*/
	/*------------------------------------------------------------
	    フッター
	------------------------------------------------------------*/
	.footer{
	}

	.footer .fOuter{
		max-width:1080px;
		margin:0 auto;
		padding:30px 15px 5px 15px;
	}

	.footer .f_flLogo{
		text-align:center;
		padding-bottom:40px;
	}
	.footer .f_flLogo img{
		width:120px;
	}

	.footer .fMenu{
	    display: block;
	    margin-bottom:35px;
	}
	.footer .fMenu div{
		padding:0 0 10px 0;
	}
	.footer .fMenu a{
		width:100%;
	}
	.footer .fSns{
	    align-items: center;
	    display: flex;
	    justify-content: center;
	    margin-bottom:45px;
	}
	.footer .fSns div{
		padding:0 15px;
	}
	.footer .fSns img{
		width:48px;
	}
	.footer .fSns a:hover{
		opacity:0.6;
	}

	.footer .fInner{
		
	}

	.footer .fCopy{
		height:35px;
		line-height:35px;
	}

#gt_float_wrapper{
 right:0 ! important;
 top:auto ! important;
 bottom:0 ! important;
}
.gt_float_switcher .gt-selected .gt-current-lang {
  padding: 3px 15px ! important;
}
.gt_float_switcher .gt_options a {
  padding: 10px 15px ! important;
  font-size: 01em ! important;
  }

}