/*
Theme Name:市場日青連統合
Theme URI: http://unknown.jp/
Description: オリジナルリセット
Version: 1.0
Author: noname
Author URI: http://unknown.jp/
*/

/* html5 reset*/
html{overflow-y:scroll;}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
main{display:block;}
h1, h2, h3, h4, h5, h6,address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
article, aside, dialog, figure, footer, header,hgroup, nav, section {display:block;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
img{vertical-align:bottom; max-width:100%; height:auto;}

/* original reset */
li{
	list-style:none;
}

a {
	text-decoration:none;
}
a:link {
}
a:visited {
}
a:hover {
	opacity:0.7;
}
a:active {
}

/* html5 reset +alpha */
html{
    font-size: 62.5%; /* (14px) */
	line-height:1.0;
	max-width: 100%;
    width: auto;
}
#main {
	line-height:1.5;
	margin-top:0px;
	   overflow:hidden;
	    margin-bottom: 50px;
}

/* common item */
.clrfx:after {content:".";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;font-size:0.1em;line-height:0;}
.clrfx {zoom:1;}
.clr {clear:both;}
.fltl {float:left;}
.fltr {float:right;}
.rlt{position:relative;}
.abs{position:absolute;}
strong { font-weight:bold; }
em { font-style: italic; }
del { text-decoration:line-though; }

.al-c{ text-align: center; }
.al-r{ text-align: right; }
.al-l{ text-align: left; }

/* items */
a img {
	-webkit-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;	
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: alpha(opacity=70);
}
a:hover img.opa100 {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: alpha(opacity=100);
}
.container {
	margin:0 auto;
	width:1200px;
}

:root {
  --gradient: linear-gradient(
    -45deg,
    #BF0000 0%,
    #BF0000 51%,
    #FF926A 100%
  );
}

/* body style */
body {
	font-size:1.4rem;
	background:#fff;
	-webkit-text-size-adjust: 100%;
	color:#292929;
}

.zen-maru-gothic {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}

.container.sidewrapper{
	display:flex;
flex-direction: row-reverse;
    justify-content: space-between;
	margin-top:40px;
}
.main_container{
	width:940px;
}
#sidebar{
	width:200px;
	    padding-bottom: 50px;
}

.side_nav li{
	padding:12px 0;
}
.side_nav{
	margin-top:30px;
	    border-bottom: solid 1px #C01521;
    padding-bottom: 30px;
}
.side_nav a{
	color:#000;
}

.side_nav ul{
		margin-top:20px;
}

.side_btn{
	font-weight:bold;
	vertical-align: middle;
	font-size: 16px;
}

.side_btn img{
	margin-right:15px;
	vertical-align: middle;
}

#wrapper {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
}
/* common */
#header{
	padding:20px 0;
}
#header .head_wrap{
	width:1200px;
	margin:0 auto;
	    display: flex;
    justify-content: space-between;
	    align-items: center;
}
#header .logo{
}
#header .logo img{
    width: 330px;
}

.head01{

}

#gnavi {
background-color:#fff;
	box-shadow: 0px 3px 6px 0px #d1d1d1;
	border:solid 1px #C01521;
	border-radius:40px;

}
#gnavi .nav{
    display: flex;
      justify-content: center;
    width: 840px;
    margin: 0 auto;
    align-items: center;
}
#gnavi > ul > li {
/*
	float:left;
	*/
    padding: 18px 0;
	position:relative;
text-align: center;
}
#gnavi a{
	text-decoration:none;
    font-size: 18px;
    padding: 5px 13px;
    display: block;

}
#gnavi a:hover{

}
#gnavi > ul > li > a {
	color:#292929;
	font-size:16px;
}
@media (min-width: 500px) and (max-width: 1220px) {
#gnavi > ul > li > a {
	font-size:13px;
	padding: 5px 1vw;
}
}



#gnavi ul.child {
	display:none;
	position: absolute;
    left: 0px;
    z-index: 5000;
    white-space: nowrap;
	padding-top:0px;
	padding-bottom:0px;
/*    background: url(images/item01.png) no-repeat 250px 50px rgba(255,255,255,0.9);
	background-size:17px 17px; */
	background: rgba(255,255,255,0.9);
	min-width:180px;
}
#gnavi ul.child li {
	    width: auto;
}
#gnavi ul.child li a {
	font-size:14px;
	font-weight:500;
	display:block;
	padding:12px 15px 12px 15px;
	color:#4b4948;
	margin:0px 0;
	position:relative;
	-webkit-transition: all 0.1s ease-out;
	-moz-transition: all 0.1s ease-out;
	-ms-transition: all 0.1s ease-out;
	transition: all 0.1s ease-out;	
	text-align:left;
}
#gnavi ul.child li a:hover {
    background: #cc5656;
	color:#ffffff;
}

#footer {
    font-family: "Zen Maru Gothic", serif;
	overflow:hidden;
	min-width:1200px;
}

#footer a{
	color:initial;
}


#footer .lefter{
    padding: 0px 0 0;
	line-height:2;
	flex:3;
	    margin-left: 5vw;
	    font-size: 15px;
}
#footer .lefter .logo{
	    margin-bottom: 55px;
	    width: 330px;
}

#footer #copy{
    padding: 25px 5vw;
    text-align: center;
}
.footerbg{
    background-image: url(images/footer_bg.png);
    background-position: bottom;
    background-size: contain;
    height: 310px;
    padding: 10px 0;
    background-repeat: no-repeat;
}
.lefter01{
	font-size:16px;
}
.lefter02 span{
	font-size:13px;
}

.lefter_link{
	margin-top:25px;
}
.lefter_link a{
	display:block;
}

.link_style01{
	position:relative;
}


.link_style01::after {
     content: "";
    position: absolute;
    top: 2px;
    right: -27px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}
.foot_contents{
display: flex;
    flex-direction: row-reverse;
}

.righter{
	flex:7;
	margin-left: 70px;
}

.fnavi{
	    flex: 1;
}
.fnavi01{
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.fnavi01 a{
    margin-right: 50px;
	    margin-bottom: 20px;
}
.fnavi02{
	margin-top:50px;
}
.fnavi::last-child{
	border-right:0;
}
.lefter_link{
    font-size: 16px;
    padding: 5px 0px;
}

.bold_footlink.p{
		border-bottom:none;
}
/*
.bold_footlink::after {
     content: "";
    position: absolute;
   top: 50%;
    right: 2vw;
    width: 5px;
    height: 5px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}
*/
.footlink01:first-child{
margin-right:30px;
}
.footlink01 li a{
	position:relative;
	display:block;
	margin: 18px 0px;
	   padding: 0 0px;
}
/*
.footlink01 li a::after {
     content: "";
    position: absolute;
    top: 4px;
    right: 2vw;
    width: 5px;
    height: 5px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}
*/
.mainimg img{
	width:100%;
}

.mainimg{
	position:relative;
}

.index_main #infolist{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 400px;
    height: 85px;
    background-color: #fff;
    border-radius: 30px 0 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 25px;
	color:#292929;
	font-size:16px;
	gap: 15px;
}
.index_main #infolist ul{
	flex:7;
}
.index_main #infolist a{
	color:#292929;
	    display: flex;
    align-items: center;
    gap: 6px;
	flex:3;
}

  .fixed-button {
            position: fixed;
            bottom: 20px;  /* 画面下からの距離 */
            right: 20px;   /* 画面右からの距離 */
            padding: 10px 35px;
           background: rgb(180,38,38);
background: linear-gradient(90deg, rgba(180,38,38,1) 0%, rgba(237,14,14,1) 100%);
	  box-shadow: 2px 2px 3px 0px #d5d5d5;
            color: white;
            border: none;
            border-radius: 30px;
            cursor: pointer;
            font-size: 16px;
	  z-index:100;
        }


#index_hanga{
	padding:100px 0;
}



.title_about{
    background-image: url(images/index_aboutbg.png);
    background-size: inherit;
    background-position: bottom;
    height: 269px;
    padding: 10px 0;
    background-repeat: no-repeat;
	    margin-bottom: 120px;
	margin-top:50px;
}

.title_about .container{
	position:relative;
	height: 360px;
}

.hata{
	    width: 500px;
	 position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.title_type_about{
    writing-mode: vertical-rl;
    background: #C01521;
    color: #fff;
    padding: 25px 4px;
    font-size: 60px;
    margin-top: -31px;
    font-weight: 600;
    letter-spacing: 7.2px;
}

.title_type_about_en{
    position: absolute;
    left: 133px;
    bottom: 20px;
    font-size: 25px;
    color: #C01521;
    font-weight: 600;
}

#index_about p{
	font-size:18px;
	line-height:1.8;
}


.btn_type01{
	background-color: #C01521;
    padding: 10px 0;
    display: block;
    font-size: 17px;
    font-weight: 700;
    position: relative;
    color: #fff;
    text-align: center;
    border-radius: 13px;
    margin-top: 10px;
    box-shadow: 0px 8px 0px 0px #e8bfc1;
    width: 250px;
	position:relative;
}


#index_about a{
	margin-top:35px;
}


.btn_type01 i{
    font-size: 20px;
    margin-left: 10px;
    position: absolute;
    right: 20px;
	top:12px;
}

#index_item {
	position: relative;
	margin: 150px 0 60px;
	padding: 0;
	background: none;
	overflow: visible;
}

.index-item__header {
	position: relative;
	z-index: 3;
	height: 0;
}

.index-item__logo-box {
	position: absolute;
	top: 0;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(460px, calc(100% - 40px));
	min-height: 115px;
	padding: 20px 45px;
	border: 2px solid #C01521;
	border-radius: 10px;
	background: #fff;
	box-sizing: border-box;
	transform: translate(-50%, -50%);
}

.index-item__logo {
	display: block;
	width: min(330px, 100%);
	height: auto;
}

.index-item__main {
	position: relative;
	padding-top: 105px;
	background: url(images/product_bg.webp) center center / cover no-repeat;
}

.index-item__slider-wrap {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-top: 0;
	padding: 0;
	background: #fff;
}

#index_item .index_item_slide {
	margin: 0;
	padding: 8px 0;
	background: #fff;
}

#index_item .index_item_slide .slick-slide {
	margin-right: 8px !important;
	overflow: hidden;
}

#index_item .index_item_slide .slick-slide a {
	display: block;
	/*height: 220px;*/
	background: #fff;
}

#index_item .index_item_slide .slick-slide img {
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	object-fit: contain;
	transition: opacity 0.25s ease, transform 0.3s ease;
}

.index-item__content {
	position: relative;
	min-height: 280px;
	padding: 45px 0 53px;
}

.index-item__content .container {
	position: relative;
	min-height: 210px;
}

.index-item__description {
	position: relative;
	z-index: 2;
	/*width: calc(100% - 230px);*/
	padding-right: 20px;
	padding-left: 20px;
}

#index_item .index-item__lead {
	max-width: 820px;
	margin: 0;
	color: #fff;
	font-size: clamp(2.2rem, 2.3vw, 3.2rem);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.03em;
	font-size:2.5rem;
}

.index-item__button {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 500px;
    min-height: 86px;
    margin: 36px auto 0;
    padding: 15px 60px 15px 30px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 9px 0 rgba(255, 255, 255, 0.45);
    box-sizing: border-box;
    color: #A51414;
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
}

.index-item__button i {
	position: absolute;
	top: 50%;
	right: 25px;
	font-size: 2.4rem;
	transform: translateY(-50%);
}

.index-item__button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 5px;
}

.index-item__shopping {
	position: absolute;
	z-index: 2;
	right: 10px;
	bottom: -54px;
	width: 190px;
	max-width: 20%;
	height: auto;
	pointer-events: none;
}

@media (hover: hover) {
	.index-item__button:hover {
		opacity: 0.92;
	
	}

	#index_item .index_item_slide a:hover img {
		opacity: 1;
	}
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	.index-item__logo-box {
		width: 420px;
	}

	#index_item .index-item__lead {
		font-size: clamp(2rem, 2.7vw, 2.6rem);
	}

	.index-item__description {
		width: calc(100% - 180px);
		padding-right: 20px;
	}

	.index-item__shopping {
		width: 160px;
	}
}

#index_gift{
    background-image: url(images/index_giftbg.png);
    background-size: inherit;
    background-position: center;
    padding: 130px 0;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}
#index_gift .container{
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0px 3px 6px 0px #d1d1d1;
    padding: 50px;
    box-sizing: border-box;
    position: relative;
}
#index_gift .flex{
	justify-content:space-between;
}

#index_gift .flex a{
	    border: solid 1px #e7e7e7;
}

.kikan{
    width: 250px;
    position: absolute;
    top: -37px;
}

#index_gift h2{
	    font-size: 38px;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 20px;
}


#index_special .container{
	background:#EEEEEE;
	border-radius:30px;
	    padding-bottom: 50px;
}
#index_special .flex{
	justify-content:space-between;
}
.index_special_contents{
    background-color: #fff;
    border: solid 8px #53A127;
    width: 1130px;
    margin: 0 auto;
padding: 35px 35px 66px;
    box-sizing: border-box;
	position:relative;
}
.index_special_txt{
	width:450px;
}
.index_special_img{
	width:540px;
	position:relative;
}
.index_special_contents h3{
    color: #fff;
    background-image: url(images/syouhin_title.png);
    background-size: cover;
    background-position: center;
    padding: 20px 50px;
    background-repeat: no-repeat;
    margin-bottom: 20px;
    font-size: 42px;
    position: absolute;
    left: -8px;
    top: -72px;
    border-radius: 9px;
    text-align: center;
}
.index_special_contents h4{
	color:#38874B;
	font-weight:600;
font-size: 35px;
    margin-top: 35px;
	margin-bottom:25px;
}
.pin{
	height:25px;
	margin-right:10px;
}

.index_shop_name{
	font-size: 16px;
	font-weight:400;
	    line-height: 1.8;
}
.index_special_contents p{
text-decoration: underline dotted #B2B2B5;
    line-height: 2.5;
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 25px;
}

.special_eye01{
 transform:rotate(4deg); 
 box-shadow:19px 18px 10px -1px #d1d1d1;
	    width: 500px;
}
.special_eye02{
    width: 127px;
    transform: rotate(-5deg);
    box-shadow: 19px 18px 10px -1px #d1d1d1;
    border: solid 6px #fff;
	position:absolute;
left: 104px;
    top: 290px;
}

.btn_type02{
text-align: left;
    margin: 0 0 0 auto;
    display: block;
    width: 150px;
    border-bottom: solid 1px;
    padding-bottom: 8px;
    color: black;
    padding: 8px;
    position: relative;
}
.btn_type02 i{
	    font-size: 18px;
    margin-left: 10px;
    position: absolute;
    right: 20px;
	top:10px;
}
.kangaeru{
     position: absolute;
    width: 136px;
    left: 115px;
    bottom: -138px;
}
#index_special .btn_type01{
	background:#53A127;
	    box-shadow: 0px 8px 0px 0px #f7f7f7;
	    margin: 50px auto;
}
#index_application{
	margin-top:80px;
}
#index_application .btn_type01{
	 margin: 50px auto;
}

#index_storecard{
	background-image: url(images/other_bg.jpg);
    background-size: cover;
    background-position: center;
    padding: 130px 0;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}
.other_contents{
	background:#fff;
	border-radius:0 100px 0 0;
	border:solid 1px #C01521;
	padding: 60px;
	width:800px;
}

.other_contents:last-child{
	background:#fff;
	border-radius:100px 0 0 0;
	border:solid 1px #C01521;
	padding: 60px;
	width:800px;
	/*margin: -65px 0 0 auto;*/
	margin: 0 auto;
}

.other_contents h2{
	font-size:45px;
	color:#C01521;
	font-weight:600;
	margin-bottom:20px;
}
.other_contents p{
    background: #2B2B2B;
    color: #fff;
    font-size: 16px;
    display: inline;
    padding: 2px 10px;
}
.other_contents .flex{
	justify-content:space-around;
	align-items:center;
}

#order_btn{
	margin-top:80px;
}
#order_btn a{
    color: #050505;
    font-weight: bold;
    background-color: #D8D8D8;
    border: solid 1px #D1D1D1;
    width: 615px;
    height: 135px;
    display: block;
    margin: 30px auto 80px;
    text-align: center;
    font-size: 25px;
    position: relative;
}

#order_btn a div img{
    position: absolute;
    top: 50%;
    left: 73px;
    /* transform: translate(-50%, -50%); */
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#order_btn a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#order_btn a::after {
       content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 15px;
    height: 15px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg);
}

#about{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:80px;
}

#about p{
	margin-left:50px;
	line-height:2;
}

#category{
	margin-top:50px;
}

#category ul{
display:flex;
	flex-wrap:wrap;
	margin:0px 0 30px;
}
#category ul li{

	margin-right:10px;
	margin-bottom:10px;
}
#category ul li:nth-child(6n){
	margin-right:0px;
}
#category ul li a{
	   width:191px;
	height:50px;
	    display: block!important;
    text-align: center;
    font-weight: bold;
	font-size: 15px;
	position:relative;
	    background: #fff;
}
#category ul li a span{
	  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	    width: inherit;
}


.cat_sweets{
	color:#E0619E;
}
.cat_food{color:#E07A35;}
.cat_drink{color:#2B3A8A;}
.cat_fashion{color:#C22672;}
.cat_dailygoods{color:#6A9946;}
.cat_stationery{color:#2A5798;}
.cat_cosmetics{color:#EA2A5E;}
.cat_sports{color:#25783D;}
.cat_instrument{color:#53AFB3;}
.cat_interior{color:#A35A38;}
.cat_buddhist{color:#6A3274;}
.cat_others{color:#6F6F6F;
}


#index_form{
    background-color: #FCFCFC;
    border: solid 1px #D8D8D8;
    margin: 70px 0;
    padding: 40px;
    display: flex;
    justify-content: space-around;
}
#index_form div{
	flex:5;
	    text-align: center;
}
#index_form .index_form_wrapper{
	padding:20px 0;
}
#index_form .index_form_wrapper:first-child{
    border-right: solid 1px #D8D8D8;
}
.title_type02{
	display:block;
	    font-size: 17px;
}

.title_type02 span{
	display:block;
	font-size: 14px;
    font-family: 'Roboto Condensed', sans-serif;
    color: #2B2B2B;
	margin-top:5px;
	    text-align: center;
}
/*
.btn_type02{
    background-color: #fff;
    position: relative;
    border: solid 1px #C01521;
    color: #2B2B2B;
    padding: 12px 0;
    width: 300px;
    display: block;
    margin: 20px auto 0;

}

.btn_type02::after {
       content: "";
    position: absolute;
    top: 43%;
    right: 25px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}
*/

/* waypoints */
.fadeInUp {
    -webkit-animation: fadeInUp 1s cubic-bezier(.55,0,.1,1) both;
    animation: fadeInUp 1s cubic-bezier(.55,0,.1,1) both;
}
@-webkit-keyframes fadeInUp { from{ opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }}
@keyframes fadeInUp { from{ opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }}
.delay-02s {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
.delay-05s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}
.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}


/* turn */
.turner{
animation-name: turnY;
animation-duration: 2s;
animation-iteration-count: 1;
-webkit-animation-name: turnY;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
}

@-webkit-keyframes turnY{
0%{-webkit-transform: rotateY(0deg);}
100%{-webkit-transform: rotateY(360deg);}
}
@keyframes turnY{
0%{transform: rotateY(0deg);}
100%{transform: rotateY(360deg);}
}


#index_order{
	margin-top:80px;
}
#index_order a{
    color: #050505;
    font-weight: bold;
    background-color: #F8F8F8;
    border: solid 1px #D1D1D1;
    width: 615px;
    height: 135px;
    display: block;
    margin: 30px auto 80px;
    text-align: center;
    font-size: 25px;
    position: relative;
}

#index_order a div img{
    position: absolute;
    top: 50%;
    left: 73px;
    /* transform: translate(-50%, -50%); */
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#index_order a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#index_order a::after {
       content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 15px;
    height: 15px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}


.gray_wrapper{
	background: #F5F5F5;
    border-radius: 100px 0 0 0;
    padding: 10px 0 25px;
    margin-top: 50px;
}

#item ul,#store ul{
	display:flex;
justify-content:start;
	flex-wrap:wrap;
}

#item ul li,#store ul li{
width: 388px;
    margin-right: 17px;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 18px;
}



#item ul li img,#store ul li img{
	 border-radius: 18px 18px 0 0;
}

#store ul li img:before{
	display:none;
	border:none;
}

#item ul li:nth-child(3n),#store ul li:nth-child(3n){
	margin-right:0;
}
#item ul li a,#store ul li a{
   color:#050505;
}
.txt_wrapper{
padding: 15px;
}

#item .catch{
	
}
#item .product_name{
	margin:5px 0;
	font-size:16px;
	font-weight:bold;
}
#item .category_type{
		margin:0 0 5px;
	font-size:13px;
	font-weight:bold;
}
#item .item_name{
			margin:0 0 8px;
	font-size:13px;
}

#item .shop_name{
			margin:0 0 8px;
	font-size:12px;
}

#item .price{
	text-align:right;
	font-weight:bold;
		font-size:15px;
}

#item .price span{
	font-weight:normal;
		font-size:12px;
}




#store .affiliation_type{
	
}
#store .shop_name{
		margin:3px 0 7px;
	font-size:16px;
	font-weight:bold;
}
#store .address{
			margin:3px 0 7px;
}
#store .tel{
	
}
#store ul{
	margin-top:30px;
}

/*商品詳細*/
.product_single .gray_wrapper{
	margin-top:0;
}

.product_flex{
	display:flex;
	justify-content:space-between;
	flex-direction:row-reverse;
    margin-top: 75px;
}

#product_main{
max-height:470px;
	margin-bottom:20px;
	
}
#product_main .slick-slide img{
max-height:470px;
	margin:0 auto;
}

#product_nav .slick-slide{
	border: solid 1px #D8D8D8;
  margin: 0 0px;

}
#product_nav .slick-slide:nth-child(2){
    
}

.slick-slide {
	margin-right: 8px!important;
}
#product_nav .slick-slide:last-child{
	margin-right: 0;
}

#product_nav .slick-slide img{
    margin: auto;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}


#product_nav{

}
#product_nav .slick-track{
    margin: auto;
    display: flex;
    justify-content: space-between;
}

.product_slider{
margin-top: 60px
	
}
#product_nav .slick-initialized .slick-slide{
		border: solid 1px #D8D8D8;
}

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

.product_main{
	width:420px;
}

.product_main .catch{
	
}
.product_main .product_name{
	font-weight: bold;
    font-size: 18px;
    margin: 6px 0;
	    border-bottom: solid 1px;
    padding-bottom: 8px;
    margin-bottom: 15px;
}
.product_main .category_type{
		font-weight: bold;
	margin-bottom:2px;
}
.product_main .item_name{
	
}
.product_main .price{
	margin:20px 0;
	font-weight:bold;
font-size: 18px;
    color: #C01521;
}
.product_main .price span{
		font-weight:normal;
	font-size:14px;
}

.gift,.noshi,.haisou{
	line-height:1.8;
}
			
.product_main .product_text{
	margin:40px 0;
}	
.product_txt h3{
	font-weight:bold;
	margin-bottom:10px;
}
.product_txt{
    padding-bottom: 0px;
     width: 670px;
}
.osusume{
	margin-top:30px;
}
.osusume img{
	border: solid 1px #D8D8D8;
    width: 250px;
    height: auto;
	margin-top:10px;
}

.special_link_warapper{
	margin-top:30px;
}

.product_single .special_link {
    width: 500px;
    display: block;
}
.special_link_txt{
    background-color: #3c9947;
    padding: 10px 20px;
    color: #ffffff;
    font-weight: 700;
    font-size: 17px;
    border-top: solid 2px #2b6320;
 border-bottom: solid 2px #2b6320;
}
.special_link_txt i{
	margin-left:10px;
}
.shop_about_wrapper{
	padding:35px 0;
	  border-top: solid 1px #C4C4C4;
	   border-bottom: solid 1px #C4C4C4;
	    margin-top: 40px;
}
.shop_about_wrapper h3{
	font-weight:bold;
	margin-bottom:3px;
}
.shop_about_wrapper div{
	margin-bottom:15px;
}

.shop_link{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 13px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background-color: #fff;
    color: #D92626;
	border:solid 1px #D92626;
    width: 500px;
    font-size: 16px;
	margin-top:20px;
}

.shop_link::after {
	content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #D92626;
    border-bottom: 1px solid #D92626;
    transform: rotate(-45deg);
}


.link_order{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 13px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background-color: #D92626;
    color: #fff;
    width: 100%;
    font-size: 16px;
	margin-bottom:10px;
	margin-top: 30px;
}

/*ボタン内spanの形状*/
.link_order span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.link_order:hover span{
  color:#fff;
}

/*== 背景が流れる（斜め） */
.link_order::before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -130%;
    /*色や形状*/
  background:#333;
  width:120%;
  height: 101%;
  transform: skewX(-25deg);
}
.link_order::after {
	content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
}
/*hoverした時のアニメーション*/
.link_order:hover::before {
  animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
  }
}

.link_guide{
	background:#D8D8D8;
color:#454545;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 13px 0px;
    text-align: center;
    width: 100%;
    font-size: 16px;
    margin-bottom: 10px;
}
.link_guide img{
	width:25px;
	height:25px;
	margin-right:15px;
}

.special_link{

}

.title_type03 {
position: relative;
    padding: 0 63px;
    margin: 0 auto;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #C01521;
    display: table;
}

.title_type03:before, .title_type03:after {
  content: '';
  position: absolute;
  top: 50%;
  width: 45px;
  height: 2px;
  background-color: black;
}

.title_type03:before {
  left:0;
}
.title_type03:after {
  right: 0;
}

.link_all{
text-align: left;
    display: block;
    color: #050505;
    margin-top: 20px;
    margin-bottom: -33px;
}

.title_type04{
	    margin-bottom: 30px;
	margin-top:30px;
  color: #C01521;
  text-align: center;
  padding:10px 0;
	font-size:18px;
	font-weight:bold;
  border-top: solid 2px #C01521;
  border-bottom: solid 2px #C01521;
  background: -webkit-repeating-linear-gradient(-45deg, #fff0f8, #fff0f8 3px,#ffe9e9 3px, #ffe9e9 7px);
  background: repeating-linear-gradient(-45deg, #fff0f8, #fff0f8 3px,#ffe9e9 3px, #ffe9e9 7px);
}
.shop .gray_wrapper{
	margin-top:0;
}
.archive-shop .gray_wrapper{
	margin-top:50px;
}

.shop_main h1{
	background-color: #F5D7D7;
    padding: 15px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    border-radius: 10px;
    margin-top: 50px;
}

.shop_about{
	display:flex;
	margin: 50px 0;
}
.shop_about img{
	margin-right:50px;
	border-radius:10px;
	width: 350px;
}
.shop_about tr{
	border-bottom:solid 1px #AFAFAF;
	position:relative;
	
}
.shop_about tr:before{
	    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #C01521;
    bottom: -2px;
    width: 30px;
}

.shop_about th{
text-align: left;
    width: 100px;
    font-weight: 600;
	padding: 15px 0 10px;
	font-size:16px;
}

.shop_about td{
	padding: 15px 0 10px;
}
.shop_single h2{
	  font-weight: 600;
	font-size:16px;
		border-bottom:solid 1px #AFAFAF;
	position:relative;
		padding: 0px 0 10px;
	margin-bottom:20px;
}

.shop_single h2:before{
	    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #C01521;
    bottom: -2px;
    width: 30px;
}

.item_shop{
	margin-top:50px;
}
.single_shop h1{
	    font-weight: bold;
    font-size: 23px;
}

.single_shop .shop_main{
	display:flex;
	margin-bottom:50px;
	margin-top: 50px;
}
.shop_main .shop_01 img{
	border: solid 1px #D8D8D8;
    width: 250px;
    height: auto;
    margin-top: 20px;
}
.shop_main .shop_01,.shop_main .shop_02{
	flex:5;
}

.shop_main .shop_02 th,.shop_main .shop_02 td{
	padding:10px 20px;
}
.shop_main .shop_02 th{
	text-align:left;
	font-weight:bold;
	color:#C01521;
}
.shop_02 a{
	color:#000;
}
.shop_02 a .fas{margin-left:5px;}

.gmap iframe{
	width:100%;
}
.single_shop #item{
	margin-top:50px;
	    margin-bottom: 50px;
}

.affiliation .title_type04{
	margin-top:30px;
}
.shop_nav{
	margin-top: 30px;
}
.menu_btn{
	cursor: pointer;
	margin-bottom:50px;
}

.menu_btn:hover{
	opacity:0.7;
	
}
.toggle_contents .menuarea{
	margin:0px;
}

.toggle_contents ul {
	display: none;
	padding: 10px;
    border: solid 1px #a9a9a9;
	    background: #fff;
}
.link_all02{
		color:#000;
	display:block;
	margin-bottom:5px;
}
.toggle_contents ul a{
	color:#000;
}
.toggle_btn{
    border: solid 1px #a9a9a9;
    padding: 5px 15px;
    font-size: 16px;
	cursor: pointer;
	    background-color: #fff;
}

.toggle_contents ul li{
	line-height:1.8;
}



.wp-pagenavi {/* 全体 */
    margin: 20px 0;
    font-size: 12px;
}
.wp-pagenavi a {/* フォント色 */
    color: #4a4a4a;
}
.pages {/* 左の表記 */
    margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
    margin: 0 6px 6px 0;
    display: inline-block;
    border: solid 1px #eee;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
	    background-color: #fff;
}
.wp-pagenavi .current {/* カレント数字 */
    border: none;
    background: #C01521;
    color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #B50612;
    color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
    display: none;
}


/*info*/
.info #newslist{
	margin-top:50px;
}

.info #newslist li{
	margin-bottom:20px;
}

.info #newslist li a{
background-color: #FFF2F2;
    border-radius: 13px;
    display: block;
    padding: 15px 30px;
}
.info #newslist .time{
	color:#868686;
}

.info #newslist .title{
	color:#000000;
	font-size: 18px;
}

.single_post{
	display: flex;
    margin: 80px 0;
	justify-content:space-between;
}

.second_main{
	    width: 750px;
}
.news_wrapper .time{
	color:#575757;
}

.news_wrapper h2{
	color:#000000;
	font-size:25px;
	    border-bottom: solid 1px #C01521;
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.news_wrapper p{
	font-size:16px;
	line-height:1.8;
}

.other_post h2{
	color:#C01521;
	margin:0 10px 15px;
	font-size:18px;
}
.info #newslist.other_post{
	margin-top:0;
	    width: 380px;
}

.btn_type05{
	    margin-left: auto;
    display: block;
    width: max-content;
    color: #000000;
}

/*privacy*/
.n_privacy h3{
	font-size: 16px;
	color: #D92626;
	margin-bottom: 10px;
	font-weight: bold;
	margin-top:30px;
}

.n_privacy p{
	font-size: 1.4rem;
	color: #464646;
}

.p_txt,.n_privacy li{
	margin-bottom: 40px;
}

.notfound{
	padding:50px 0;
	text-align:center;
	line-height:2;
}

.notfound h1{
	font-size:16px;
}

.notfound p{
		font-size:18px;
}

.notfound a{
		font-size:20px;
}

/*フォーム*/

/*コンタクトフォーム*/
.contact h2{
	    background-color: #fcffcb;
    display: block;
    padding: 10px 15px;
    font-size: 16px;
    margin-bottom: 20px;
}

.contact .min-container{
	margin:30px auto 70px;
}

.contact .container{
	margin-bottom:50px;
}

.attention{
	margin-bottom:50px;
	margin-top: 30px;
}

.contact h1 {

}


.form_contents p{
color: #464646;
	margin-top: 3px;
}

.mw_wp_form .error {
	font-size: 16px !important;
    color: #B70000;
    display: block;
    font-weight: bold;
}

.form textarea,
.form input[type=text],
.form input[type=email],
.mwform-zip-field input[type="text"] ,
.form input[type="url"] ,
.form input[type="tel"] 
{
    color: #333;
    border: 0px solid #cecece;
    background-color: #F2EFEA;
    font-size: 16px;
    padding: 0.5em;
    border-radius: 5px;
}
.form select{
	  color: #333;
	   background-color: #F2EFEA;
    font-size: 15px;
    padding: 0.5em;
    border-radius: 5px;
	   border: 0px solid;
}

.mwform-checkbox-field input {
      margin: 0px;
	  width: 20px;
    height: 20px;
    vertical-align: middle;
	  background-color: #F2EFEA;
	border: solid 0px;
	  border-radius: 5px;
	float: left;
	    position: absolute;
   left: 45%;
}

.mwform-checkbox-field-text{
 
    display: block;
    height: 40px;
      text-align: center;
}

.form_doui{
	margin-top:10px;
}
.confirm .privacy_mes{
	display:none;
}
.privacy_mes a{
	text-decoration:underline;
}

.confirm .remarks{
		display:none;
}

.adnum{
	margin-bottom:10px;
}
.input_middle p{
	margin-left:0;
}
.form textarea {
	
	 /*   height: 150px;*/
}

.form_soushin{
	display:flex;
	    margin: 20px auto 40px;
}

.form_soushin input{
-webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    color: #fff;
    border: 0px solid #0075B6;
    background: #938369;
    padding: 15px 20px;
    width: 300px;
    box-sizing: border-box;
    font-size: 16px;
    text-align: center;
    position: relative;
    font-weight: 400;
    letter-spacing: 3px;
    margin: 20px auto;
    display: block;
}


.form_soushin input:hover{
    background: #980A27;
    text-decoration: none;
	cursor:pointer;
}

.contact .linker_type02 a{
	    display: block;
    font-weight: bold;
    color: #0075B6;
    font-size: 17px;
	padding: 15px 40px;
	border: solid 2px #0075B6;
    box-shadow: 3px 3px 0 #FFF100;
    background: #fff;
    width: 220px;
    margin: 30px auto;
    text-align: center;
	position:initial;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0px!important;
}
.entry_txt{
	    text-align: center;
    margin-top: 20px;
}

.text{
	font-size: 15px;
	color: #464646;
	    line-height: 1.8;
	margin-top: 20px;
}

.bikou{
	margin: 50px 0;
}

.bikou h3{
	color: #FF0000;
	font-size: 15px;
	font-weight: bold;
}
.bikou p{

}

.bikou li{
	    margin-bottom: 20px;
    line-height: 1.8;
}

.form_contents{
	margin-top: 20px;
	margin-bottom: 40px;
}
.form_a{
	color: #464646;
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 7px;
}
.hissu{
	background-color: #FF0000;
    color: #fff;
    padding: 2px;
    margin-left: 20px;
    font-size: 14px;
	font-weight: normal;
}
.rlt{
	position: relative;
}


.post{
	margin-bottom: 10px;
}


.size{
	margin-right: 45px;
}

.que{
	background-color: #FF6767;
	color: #fff;
	border-radius: 18px;
	padding: 20px 50px;
	box-sizing: border-box;
	    line-height: 1.8;
	margin-top: 40px;
	margin-bottom: 80px;
}
.que a{
	color: #fff;
}

.privacy_mes{
	text-align: center;
	    margin-bottom: 10px;
}

.form .abs01{
		    position: absolute;
    top: 6px;
    left: 191px;
	}

.confirm .conflex{
	display:flex;
}

.n_privacy h3{
	font-size: 16px;
	color: #D92626;
	margin-bottom: 10px;
	font-weight: bold;
}

.n_privacy p{
	font-size: 1.4rem;
	color: #464646;
}

.p_txt,.n_privacy li{
	margin-bottom: 40px;
}

.s_gray{
	font-size: 11px;
   color: #666666;
}

.min-container{
	width: 800px;
margin: 0 auto;
}
	.ng_form .min-container{
	width:775px;
}

	.form_c{
		margin-top: 20px;
	}
	.flex{
	display:flex;
}
	.form .abs02{
		    position: absolute;
    top: 6px;
    left: 90px;
	}
	.form .abs03{
		    position: absolute;
    top: 6px;
    left: 100px;
	}
	
.form.confirm .abs01,.form.confirm .abs02,.form.confirm .abs03{
	    position: initial;
}

	.confirm .title_type_01,.complete .title_type_01{
	font-size:28px;
}


.form .conpri{
	display: none;
}

.form.confirm .conpri{
	display: initial;
}

.shimekiri{
	    text-align: center;
    color: #FF0000;
    font-size: 21px;
    text-decoration: underline;
    margin-bottom: 34px;
    margin-top: 37px;
	font-weight: bold;
}

.web_btn{
text-align: center;
    background-color: #d02b2b;
    padding: 15px;
    font-size: 20px;
    display: table;
    margin: 0 auto;
    width: 292px;
    color: #fff;
    font-weight: bold;
}
.link_txt{
margin: 30px auto;
    border: solid 1px red;
    padding: 10px;
    width: 700px;
    text-align: center;
}

.aisatu{
	font-size:15px;
	margin-bottom:30px;
}
.front h2{
	margin-top: 30px;
    font-size: 18px;
    margin-bottom: 10px;
}


/*日専連冊子*/
.web_btn{
text-align: center;
    background-color: #d02b2b;
    padding: 15px;
    font-size: 20px;
    display: table;
    margin: 0 auto;
    width: 292px;
    color: #fff;
    font-weight: bold;
}

.sample{
	    font-size: 29px;
    color: #FF0505;
    font-weight: bold;
    margin: 27px 0 5px;
}

.number{
	    background-color: #E5194E;
    color: #fff;
    padding: 3px 6px;
    margin-right: 10px;
    font-size: 14px;
}
.confirm .number,.confirm .image_input{
	display:none;
}



.image{
	font-weight:bold;
}

.flex_form{
	    display: flex;
    align-items: baseline;
    margin-top: 15px;
}

.ampm{
	margin-right:20px;
}
.mt{
	margin-top:20px;
}
.last_n{
	margin-right:10px;
}

.gift .mwform-checkbox-field input {
	float:initial;
    position:initial;
    left:initial;
	    margin-right: 0px;
}

.gift .mwform-checkbox-field-text{
	display:initial;
}

.mwform-checkbox-field.horizontal-item{
	margin-right:10px;
}


.gift_title01{
	    margin: 50px auto;
    text-align: center;
}

.gift_title02{
	text-align: center;
    background-color: #D92626;
    padding: 10px 5px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 7px;
}

.gift.form h3,.confirm.gift h3{
	border-bottom: solid 2px #D92626;
    padding-bottom: 5px;
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 30px;
}

.gift.form .txt{
	margin-bottom: 40px;
}

.confirm.gift h2,.thanks.gift h2{
	margin-top:30px;
}
.confirm.gift .txt,.thanks.gift .txt{
    margin: 30px 0;
}


.menu_btn:hover{
	opacity:0.7;
	
}
.toggle_contents .form_input{
	margin:0px;
}

.form .toggle_contents .form_input{
	display: none;
}

.open_btn {
	    cursor: pointer;
    border: solid 2px;
    padding: 12px 40px;
    display: table;
    margin: 30px auto;
    color: #4b4948;
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: bold;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.open_btn:hover{
	background-color: #4b4948;
	color:#fff;
	 border: solid 2px #4b4948;
}

.otodoke{
	font-size: 16px;
    background-color: #ffe2e2;
    padding: 5px;
    font-weight: bold;
    border-radius: 3px;
}

h5{
	    font-size: 18px;
    font-weight: bold;
    border-top: dotted 1px;
    padding-top: 8px;
}

.form_bikou{
font-weight:normal;
	font-size:14px;
}

.toggle_contents{
	
}

.open_txt{
	font-size:16px;
}

.gift .privacy_mes{
	text-align:left;
}

.fukusu{
	padding:30px 0 50px;
}

.confirm .none_02{
	display:none;
}

.error{
	    font-size: 16px !important;
    color: #B70000;
    display: block;
    font-weight: bold;
}

.form_bikou span{
	font-weight:bold;
	font-size:18px;
}

.cyuui{
		font-weight:bold;
	font-size:18px;
}

.none_02 span{
			font-weight:bold;
	font-size:18px;
	    display: block;
}

.confirm.gift .txt span{
			font-weight:bold;
	font-size:18px;
	color:red;
}

.syubetsu .mwform-checkbox-field-text {
    display:initial;
    height: auto;
    text-align: left;
	margin-left: 10px;
}

.syubetsu .mwform-checkbox-field input {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    background-color: #F2EFEA;
    border: solid 0px;
    border-radius: 5px;
    float: left;
    position:initial;
  
}

.form-group{
	margin-bottom:10px;
	
}
.gift_name{
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0;
}

.same{
	margin:20px 0;
		font-size:18px;
}

.same p.none_02{
	    margin: 0px 0 20px;
    background-color: yellow;
	font-weight:bold;
	font-size:16px;
}

.form .none_01{
	display:none;
}
.none_01{
    color: red!important;
}

.noside .min-container{
	margin-top:40px;
}

.title_type_05{
   background-color: #D92626;
    color: #fff;
    border-radius: 16px;
    text-align: center;
    padding: 5px;
    box-sizing: border-box;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.8;
}

/*ご注文方法*/
.orderguide ul{
	margin-top:50px;
}
.orderguide li{
	margin-bottom:40px;
}
.title_type06 {
     background-color: #D7F5DA;
    padding: 15px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    border-radius: 10px;
    margin: 50px 0 30px;
}



.title_type07{
    padding: 0.25em 0.5em;
    color: #464646;
    background: transparent;
    border-left: solid 5px #74CBA8;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}

.order_wrapper{
	margin-bottom:20px;
}
.deadline{
    color: #AB1409;
    font-weight: bold;
    font-size: 18px;
    margin: 24px 0;
}

.order_contact{
	      padding: 30px;
    background: #fff;
    border-radius: 15px;
    margin: 50px 0;
}

.order_contact h3{
	font-weight:bold;
	font-size:16px;
}

.deadline_index{
    color: #AB1409;
    font-weight: bold;
    font-size: 18px;
    margin-top: 24px;
}

.second header {
  width: min(1200px, calc(100% - 40px));
  min-width: 0;
  height: 385px;
  margin: 0 auto;
  border-radius: 50px;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

  .second header {
    height: clamp(250px, 35vw, 385px);
    border-radius: clamp(25px, 4vw, 50px);
  }

  .second header h1 {
    bottom: clamp(25px, 4vw, 48px);
    width: clamp(260px, 37vw, 445px);
    font-size: clamp(24px, 2.75vw, 33px);
  }

  .second header::before {
    width: clamp(285px, 40.66vw, 488px);
    height: clamp(81px, 11.58vw, 139px);
	  left:-1px!important;
  }
}
.about header{
	background: url(images/nissennren_bg.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.product header{
	background: url(images/product_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}

.shop header{
	background: url(images/shop_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.info header{
	background: url(images/info_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.guide header{
	background: url(images/guide_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}

.second header h1{
    bottom: 48px;
    position: absolute;
    color: #C01521;
    z-index: 100;
    font-size: 33px;
    width: 445px;
    text-align: center;
	font-weight: 600;
}

.second header:before{
	    background-image: url(images/title.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50%;
    background-size: cover;
    content: "";
    height: 139px;
    width: 488px;
    left: 0;
    bottom: 0;
    position: absolute;
    z-index: 1;
}
.about h2{
    width: 160px;
    background-color: #C01521;
    color: #fff;
    border-radius: 22px;
    font-size: 20px;
    text-align: center;
    padding: 3px;
}


.rinen{
	    background-color: #FFEBEB;
    border: solid 1px #D92626;
    padding: 30px 50px;
    border-radius: 18px;
    line-height: 3;
    font-size: 16px;
    margin-top: 35px;
}

.ryakusyo{
	    text-align: center;
    color: #C01521;
    font-weight: 600;
    font-size: 21px;
    margin: 75px 0;
}
.about section{
	margin-bottom:80px;
}
.about .flex{
	justify-content:space-between;
	align-items:center;
}

.about .flex p{
    width: 600px;
    font-size: 18px;
    line-height: 2;
}

.about .flex img{
	width:450px;
}


.about table{
	width: 550px;

	
	font-size:16px;
}
.about tr{
	border-bottom: 1px solid #C01521;
}
.about th{
	color:#C01521;
    width: 85px;
    padding: 15px 10px 15px 25px;
	    text-align: left;
}



.about td{
	margin-left: 0em;
	border-bottom: 0px;
	  padding: 15px 10px 15px 25px;
}

.about_flex{
	display:flex;
	justify-content:space-between;
	margin-top:50px;
	    gap: 22px;
}

.nissenren_mark{
	margin: 30px auto;
    display: block;
}

.mark p{
	margin-top:20px;
	font-size:16px;
	    line-height: 2;
}

.yakusoku h2{
	text-align: center;
    background: initial;
    color: #C01521;
    width: auto;
    margin-bottom: 16px;
}

.yakusoku{
	width:650px;
	margin:0 auto;
	border:solid 1px #C01521;
	 padding: 30px 50px;
    border-radius: 18px;
	font-size:16px;
}

.yakusoku li{
	margin-bottom:10px;
}

.about .btn_type01 {
	margin:50px auto;
	width:300px;
}

.about .btn_type01 .fa-solid{
    margin-left: 5px;
    position: initial;
}


.bosyu_main{
	margin: 0 auto;
	display:block;
}

.bosyu section{
	margin:80px 0;
}

.title_type09{
	background-color: #C01521;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 22px;
    font-weight: 600;
	position:relative;
}

.title_type09:before{
	border:solid 1px #D96464;
	    top: 5px;
    left: 5px;
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.bosyu .flex{
	justify-content:space-between;
	align-items:center;
	    margin: 30px 0;
}

.bosyu .flex p{
    width: 600px;
    font-size: 18px;
    line-height: 2;
}

.bosyu .flex img{
	width:450px;
}

.merit{
	background:#FFEBEB;
	padding: 80px 0;
}
.merit ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	    margin-top: 60px;
}
.merit li{
	background:#fff;
	border-radius:10px;
	width:540px;
	margin-bottom:50px;
	padding: 30px;
    box-sizing: border-box;
	position:relative;
}
.merit li .num{
    font-size: 62px;
    color: #FDE864;
    position: absolute;
    left: 37px;
    top: 10px;
}
	
.merit h3{
	text-align: center;
    color: #C01521;
    font-weight: 600;
    font-size: 24px;
    margin: 5px 0;
	    height: 40px;
}
.merit img{
width: 425px;
    margin: 15px auto;
    display: block;
}
.merit p{
	text-align:center;
	font-size: 18px;
}

.oubo_flow{
    border: solid 1px #707070;
    border-radius: 25px;
    margin-top: 50px;
    padding: 65px;
}
.oubo_flow li{
	position:relative;
	display:flex;
	align-items:flex-end;
	margin-bottom:20px;
}
.oubo_flow li:after{
background:#FEEBEB;
	    bottom: 0px;
    left: 0px;
    content: ' ';
    position: absolute;
    width: 100%;
    height: 20%;
    z-index: -1;
}
.oubo_flow h3{
	color:#C01521;
	    font-size: 20px;
}
.oubo_flow .num02{
	color:#C7C7C7;
	font-size:40px;
	padding:0 50px;
	margin-bottom: -7px;
}

.gaiyou p{
	font-size:16px;
	margin:30px 0;
}

.gaiyou li p{
	margin:10px 0;
}
.bikou h3{
	color:#C01521;
	border-bottom:solid 1px #707070;
	padding-bottom:5px;
		font-size:18px;
}

.bosyu .btn_type01{
	    margin: 60px auto;
    width: 300px;
}
.title_type08{
    background: #C01521;
    text-align: center;
    border-radius: 50px;
    font-size: 26px;
    color: #fff;
    padding: 10px 0;
    font-weight: 600;
}

/*版画*/
.hanga{
	font-size: 16px;
	padding-bottom: 100px;
}

.hanga_main{
	width: 100%;
	height: auto;
	object-fit: contain;
}

.hanga p{
	 line-height:2.6em;
	letter-spacing:0.1rem;
}

.flex{
	display:flex;
}

  /* about */

.hanga_about{
	padding-top:95px;
}

.hanga_about h2{
	font-size:41px;
	margin-right:90px;
	min-width:250px;
}

.hanga_about_img{
	margin-top:32px;
}

.greeting{
	padding-top:95px;
}

.greeting h3{
	font-size: 30px;
	position:relative;
	display: flex;
    align-items: center;
    text-align: center;
}

.greeting h3::before,
.greeting h3::after {
            content: "";
            flex: 1;
            border-bottom: 1px solid #C01521; /* 線の太さと色 */
        }

.greeting h3::before{
	margin-right: 40px;
}

.greeting h3::after{
	margin-left: 40px;
}

.greeting p{
	margin: 72px 0;
}

.hanga .post ,.name{
	text-align: right;
}

.name{
	font-size: 20px;
}

/* results */
.results{
	background-color: #30C8D8;
	padding-bottom: 70px;
}

.background_img{
	background-image:url(images/hanga_back.svg);
	width: 100%;
	height:10vw;
	background-size: cover;  /* 画像の縦横比を維持しつつ、コンテナの幅にフィット */
    background-position: center;  /* 画像を中央に配置 */
    background-repeat: no-repeat;  /* 画像の繰り返しを無効にする */
	margin-top: 120px;
	margin-bottom: -2px;
}



.results::before{
	content:"";
	background: url(images/hanga_back.svg) no-repeat;
	width: 100%;
	height: 127px;
}

.results_wrapper{
	background-color:#FFFFEA;
	text-align:center;
	position: relative;
	border-radius: 48px;
	padding: 64px 0 20px;
}

.results_wrapper::after{
	content:"";
	position: absolute;
	background-image:url(images/result.png);
	width: 90px;
	height: 124px;
	background-size: contain;
	background-repeat: no-repeat;
	top: -24px;
	left: 80px;
}

.results h2{
	font-size: 47px;
	letter-spacing: 0.1rem;
}

.yellow{
	display:inline-block;
	background-color:#FDD900;
	padding: 0 80px;
	padding-bottom: 7px;
}

.results .small{
	font-size: 32px;
	margin-bottom:24px;
	padding: 0 24px;
	padding-bottom:8px;
	padding-top: 6px;
	letter-spacing: 0.3rem;
}

.kazari{
	position: relative;
}

.kazari::after,.kazari::before{
	position: absolute;
}

.kazari::before{
	content: "";
	position: absolute;
	background-image:url(images/result_left.png);
	width:54px;
	height:54px;
	background-size: contain;
	background-repeat: no-repeat;
	top: 40px;
	left: -27px;
}


.kazari::after{
	content: "";
	position: absolute;
	background-image:url(images/result_right.png);
	width:54px;
	height:54px;
	background-size: contain;
	background-repeat: no-repeat;
	top: -8px;
	right: -27px;
}

.hanga_contnts{
	margin: 0 auto;
	margin-bottom: 64px;
}

/* 葉っぱの見出し ここから↓  */

.leaf{
	display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
	padding-bottom: 18px;
	margin-bottom: 20px;
    color: #B28146;
	border-bottom: 2px solid #B28146;
}

.hanga_contnts h3 {
    position: relative;
    font-size: 24px;
    text-align: center;
}


.hanga_contnts h3::before,
.hanga_contnts h3::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 44px; /* 画像の幅を調整 */
    height: 44px; /* 画像の高さを調整 */
    background-size: contain;
    transform: translateY(-50%);
}

.hanga_contnts h3::before {
    background-image: url(images/leaf_right.png); /* 左の画像 */
	background-repeat: no-repeat;
    left: -32px; /* タイトルから左へのオフセット */
}

.hanga_contnts h3::after {
background-image: url(images/leaf_left.png); /* 右の画像 */
	background-repeat: no-repeat;
    right: -52px; /* タイトルから右へのオフセット */
}

/* 葉っぱの見出し ここまで↑  */



.hanga_contnts01,.hanga_contnts02{
	margin-top:64px;
}


/*
.hanga_contnts01 img{
	width: 460px;
	object-fit: cover;
}

.hanga_contnts02 img{
	width: 685px;
	object-fit: cover;
	
}
*/
.hanga_contnts03 img,.hanga_contnts04 img,.hanga_contnts05 img,.hanga_contnts06 img{
	height: 400px;
	object-fit: contain;
}


.hanga_contnts01 h3,.hanga_contnts02 h3{
	font-size: 25px;
}

.hanga_contnts03 h3,.hanga_contnts04 h3,.hanga_contnts05 h3,.hanga_contnts06 h3{
	font-size: 22px;
}


.hanga_contnts01,.hanga_contnts02{
	background-color:#fff;
	width:644px;
	border-radius: 21px;
	padding: 45px 72px;
}

.hanga_contnts03,.hanga_contnts04,.hanga_contnts05,.hanga_contnts06,.hanga_contnts07{
	background-color: #fff;
	border-radius: 21px;
	padding: 45px 72px;
}

.hanga_name{
	background-color:#D1F4F0;
	display: block;
	width: 460px;
	margin:0 auto;
	margin-top: 24px;
	padding: 24px 0 16px 0;
	position: relative;
	line-height: 1.75;
}

.hanga_name::before{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid #30C8D8;
	top: 5px;
	left: 6px;
}
.name01{
	font-size: 22px;
	font-weight: bold;
}

.name02{
	font-size: 20px;
}

.name04{
	font-size: 14px;
}

.hanga_flex{
	display: flex;
    flex-wrap: wrap;
}

.column {
      width: calc(50% - 64px); /* 列の幅を均等に分配し、マージンを考慮して計算 */
      margin: 32px;
      padding:30px 18px 60px 18px;
      box-sizing: border-box; /* ボックスモデルを維持するために必要なスタイル */
    }

.hanga_contnts07{
	width: 518px;
	margin-top: 32px;
}

/* 商品特集 一覧ページ */

.tokusyu_ttl{
	font-size: 54px;
	padding:35px 0;
	display: block;
	letter-spacing: 0.3rem;
}

.ttl_lead{
	font-size: 18px;
	padding:14px 0;
	display: block;
	letter-spacing: 0.2rem;
}

.gray{
	background-color: #E3E3E3;
}

.green{
	background-image: url(images/green_ttl.jpg);
	width: 100%;
	height:150px;
	background-size: cover;  /* 画像の縦横比を維持しつつ、コンテナの幅にフィット contain*/
    background-repeat: repeat;  /* 画像の繰り返し*/
}

.tokusyu_ttl{
	color: #fff;
}

 /* 一覧グリッド */
#special{
	letter-spacing: 0.05rem;
}

#special a{
	color: inherit;
}

#special ul{
	display: grid;
	width: 1200px;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 68px;
	padding-top: 90px;
	padding-bottom: 64px;
}

#special .kiji_name{
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 12px;
	letter-spacing: 0.03rem;
	display: block;
	height: 60px;
}

#special .address{
	padding-bottom: 7px;
}

/*ギフト*/
.gift_title img{
	width:100%;
}

.gift .deadline_index{
	text-align:center;
}

.gift_single_title{
	background-image: url(images/gift_single_title_bg.jpg);
    background-position: center;
    background-size: cover;
    height: 100px;
    background-repeat: no-repeat;
	position:relative;
}

.gift_single_title img{
	width:500px;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.gray_wrapper.gift {
	background: #fffdea;
	margin-top:50px;
}

.special_container{
	    width: 750px;
    margin: 0 auto;
}

.special_mainimg{
	    text-align: center;
    margin: 30px 0;
}

.single_special .time{
	color:#3C920C;
	font-size: 16px;
}

.single_special h1{
	    color: #3C920C;
    font-size: 42px;
    font-weight: 700;
	    margin-top: 7px;
	margin-bottom: 32px;
}

.special_contents{
	background-color:#f5f5f5;
	padding-bottom: 80px;
	padding-top: 65px;
}

.special_background_img{
	background-image: url(images/special_background_img.jpg);
    width: 100%;
    height: 16px;
    background-size: contain;
    background-position: center;
    background-repeat: repeat no-repeat;
    margin-bottom: -2px;
}

.interviewee{
	background-color:#fff;
    margin: 0 0 70px 0;
    display: flex;
    padding: 30px;
	align-items:center;
}

.interviewee img{
	width:166px;
	height:auto;
	border-radius:50%;
	margin-right: 35px;
}

.interviewee p{
	font-size: 17px;
}

.interviewee01{
	font-weight:bold;
	    margin-bottom: 10px;
}

.interviewee .shop_name{
	font-weight:bold;
	margin-bottom: 10px;
	font-size:18px;
}
.qa{
	margin-bottom:50px;
}
.qa h2{
background-image: url(images/green_ttl.jpg);
    width: 100%;
    background-size: cover;
    background-repeat: repeat;
    padding: 20px;
    font-size: 32px;
    color: #fff;
    font-weight: 600;
	    box-sizing: border-box;
	    margin-bottom: 30px;
}

.qa h3{
	    font-size: 22px;
    font-weight: 800;
    color: #3C920C;
    margin: 48px 0 20px;
}

.qa h3 span{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
	    font-size: 26px;
    margin-right: 5px;
}

.qa .answer{
margin-left: 30px;
    margin-bottom: 32px;
	   font-size: 17px;
	line-height: 1.75;
	font-weight: bold;
}

.qa .answerimg_txt{
	    background: #fff;
    padding: 10px 23px;
    font-size: 16px;
}

.comment_contents{
	position:relative;
	color:#fff;
	margin-bottom: 60px;
	    background-image: url(images/hitokoto.svg);
    background-position: bottom;
    background-size: contain;
    height: 390px;
    padding: 10px 0;
    background-repeat: no-repeat;
}

.comment_wrapper{
	   position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.comment_wrapper h2{
	text-align: center;
    font-weight: bold;
    font-size: 35px;
    margin-bottom: 20px;
}

.comment_wrapper p{
	font-size:16px;
	    width: 500px;
}

.btn_red{
	background-color: #C01521;
    padding: 26px 65px;
    display: block;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    text-align: center;
    border-radius: 13px;
    box-shadow: 0px 8px 0px 0px #e8bfc1;
    width: 350px;
    position: relative;
	margin: 10px auto 0 auto;
	color: #fff;
}

.btn_red i{
	margin-left: 24px;
}

.single_special .btn_type01 i{
	margin-left: 24px;
}

.single_special .shop_about_wrapper h3{
	font-size: 24px;
	text-align: center;
	margin-bottom: 74px;
}

.single_special .shop_about_wrapper h4{
	font-weight: bold;
    margin-bottom: 3px;
}

.shop_about_flex{
	display: flex;
	gap: 80px;
	justify-content:center;
}

.shop_name{
	font-size: 18px;
	font-weight: bold;
}

.single_special .shop_about_wrapper{
	background-color: #F5F5F5;
	margin-top: 0;
	padding: 60px 0;
}

.shop_about_wrapper .btn_type01{
	padding: 10px 8px;
	margin-top: 40px;
	font-size: 17px;
}

#special h2{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.btn_green{
	background-color: #53A127;
    padding: 26px 65px;
    display: block;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    text-align: center;
    border-radius: 13px;
    box-shadow: 0px 8px 0px 0px #BDC8BE;
    width: 350px;
    position: relative;
	margin: 10px auto 0 auto;
}

.btn_green i{
	margin-left: 24px;
}

.other_special_article .btn_green{
	color: #fff!important;
}

.other_special_article{
	padding: 85px 0 120px 0;
}

.other_special_article ul{
	margin: 0 auto;
	font-family:"Zen Maru Gothic", serif;
}

/* カード事業部 */
.card{
	font-size: 18px;
}

.card header{
	background: url(images/card_title.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}

.card .title_type09{
	font-size:28px;
	padding-top: 16px;
	padding-bottom: 16px;
}

 /* 充実のサービス */
.card_searvice{
	margin-bottom: 150px;
}

.card_searvice .flex{
	justify-content: space-between;
}

.card_searvice li{
	max-width: 330px;
}

.card_searvice li{
	display: block;
	border: 1px solid #1756E3;
	padding: 40px 30px;
	border-radius: 17px;
}


.card_searvice h3{
	font-size: 24px;
	color: #C01521;
	padding:43px 0 23px 0;
	text-align: center;
	height:80px;
	font-weight: 700;
}

.card_searvice p,.card_searvice a{
	font-size: 16px;
	letter-spacing: -0.8px;
	line-height: 1.8;
}

.card_about{
	padding: 80px 0 120px;
	justify-content: space-between;
}

.card_about img{
	width: 330px;
}

.card_about_text{
	width: 60%;
	padding-right: 40px;
}

.card_about_text p{
	line-height: 2;
	margin-bottom: 48px;
}

.card_about img{
	width: 30%
	height:280px;
	object-fit: cover;
}

.card .title_type09{
	margin-bottom: 60px;
}

.card_link{
	text-align: center;
	margin-top: 16px;
	color: #1180EF;
	display: block;
}

.card .lineup .title_type09{
	margin-bottom: 100px;
}

.lineup{
	margin-bottom: 40px;
}

.lineup h3{
	font-size: 22px;
	color: #C01521;
	text-align: center;
}

.lineup .flex{
	justify-content: space-between;
}

.lineup01,.lineup02{
	margin: 0 auto;
	margin-bottom: 80px;
	margin-top: 60px;
	width: 1100px;
}


.lineup li{
	text-align: center;
}

.lineup li h4{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 36px;
}

.lineup h3{
	margin-bottom: 60px;
	font-weight: bold;
	border-bottom: 1px solid #707070;
	padding-bottom: 16px;
}

.jigyo_cta{
	background-color: #EAEAEA;
	border: solid #000000 3px;
	text-align: center;
	padding: 43px;
	margin: 140px auto;
}

.jigyo_cta h3{
	font-size: 32px;
	margin-bottom: 40px;
}

.jigyo_cta a{
	display: inline-block;
	width: auto;
	padding: 16px 30px;
}

.btn_card{
	background-color: #C01521;
	padding: 12px 40px 12px 30px;
	display: inline-block;
	font-size: 17px;
	font-weight: 700;
	color: #fff;
	text-align: center;
	border-radius: 50px;
}

.make p{
	margin-bottom: 40px
}

.jigyo_cta i{
	  position: absolute;
    top: 50%;
   right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.gift_link{
	    margin: 0px auto 15px;
    display: block;
    text-align: center;
    width: fit-content;
}
.gift_link_right{
position: fixed;
    top: 85px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
	width:150px;
	height:auto;
}

.youtube iframe{
	width: 100%;
	height: auto;
aspect-ratio: 16 / 9;
}


.product_slider .slick-slider{
  display: none;
}
.product_slider .slick-slider.slick-initialized{
 display: block; /*slick-initializedが付与されたら表示*/
}


.hanga .btn_type01 {
    margin: 50px auto;
    width: 300px;
}
.sample_container .btn_type01 {
	  margin: 20px auto;
    width: 300px;
}
.sample_container{
	padding-bottom:30px;
}


/*統合*/
/*contact*/
.contact header {
    background: url(images/contact_title.webp) no-repeat center center;
    background-size: cover;
    position: relative;
}

:root {
  --contact-red: #C01521;
  --contact-text: #292929;
  --contact-muted: #777;
  --contact-border: #c9c9c9;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.container {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

#main.contact {
  color: var(--contact-text);
}


#main.contact > .min-container {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

#main.contact > header {
  margin-bottom: 86px;
}

#main.contact .title_subpage {
  color: var(--contact-red);
}

/* お問い合わせフォームのみ900px */
#main.contact > .min-container {
  max-width: 900px;
}

#main.contact > .min-container > p:first-of-type {
  margin: 0 0 76px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
}

#main.contact > .min-container > p:first-of-type span {
  color: var(--contact-red) !important;
}

#main.contact .snow-monkey-form {
  font-size: 16px;
}

#main.contact .smf-progress-tracker {
  margin: 0 0 76px;
}

#main.contact .smf-progress-tracker__item__number {
  background-color: #ddd;
  border-color: #ddd;
}

#main.contact .smf-progress-tracker__item[aria-current="step"] .smf-progress-tracker__item__number,
#main.contact
.smf-progress-tracker__item[aria-current="true"]
.smf-progress-tracker__item__number {
	background-color: var(--contact-red);
	border-color: var(--contact-red);
	color: #fff;
}

#main.contact .smf-progress-tracker__item::after {
  background-color: #ddd;
}

#main.contact .smf-progress-tracker__item__text {
  margin-top: 18px;
  font-weight: 700;
}

#main.contact .smf-item {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  margin: 0;
  padding: 30px 0;
  border: 0;
}

#main.contact .smf-item__col,
#main.contact .smf-item__controls {
  margin: 0;
  padding: 0;
}

#main.contact .smf-item__label {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.7;
}

#main.contact .smf-item__label__required,
#main.contact .smf-item__label__optional,
#main.contact .smf-item:not(:has(.smf-item__label__required)):has([data-validations~="required"]) .smf-item__label::after,
#main.contact .smf-item:not(:has(.smf-item__label__optional)):not(:has([data-validations~="required"])) .smf-item__label::after {
  flex: 0 0 auto;
  margin: 0;
  padding: 3px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.5;
}

#main.contact .smf-item__label__required,
#main.contact .smf-item:not(:has(.smf-item__label__required)):has([data-validations~="required"]) .smf-item__label::after {
  background: #f00;
  color: #fff;
}

#main.contact .smf-item:not(:has(.smf-item__label__required)):has([data-validations~="required"]) .smf-item__label::after {
  content: "必須";
}

#main.contact .smf-item__label__optional,
#main.contact .smf-item:not(:has(.smf-item__label__optional)):not(:has([data-validations~="required"])) .smf-item__label::after {
  background: #bbb;
  color: #222;
}

#main.contact .smf-item:not(:has(.smf-item__label__optional)):not(:has([data-validations~="required"])) .smf-item__label::after {
  content: "任意";
}

#main.contact .smf-item__description {
  margin-top: 2px;
  color: var(--contact-muted);
  font-size: 13px;
  line-height: 1.6;
}

#main.contact .smf-form input[type="text"],
#main.contact .smf-form input[type="email"],
#main.contact .smf-form input[type="tel"],
#main.contact .smf-form input[type="url"],
#main.contact .smf-form input[type="number"],
#main.contact .smf-form select,
#main.contact .smf-form textarea {
  min-height: 46px;
  padding: 10px 14px;
  border: 1px solid var(--contact-border);
  border-radius: 4px;
  background: #fff;
  box-shadow: none;
  color: var(--contact-text);
  font: inherit;
}

#main.contact .smf-form textarea {
  min-height: 190px;
  resize: vertical;
}

#main.contact .smf-form input:focus,
#main.contact .smf-form select:focus,
#main.contact .smf-form textarea:focus {
  border-color: var(--contact-red);
  outline: 2px solid rgb(192 21 33 / 18%);
  outline-offset: 1px;
}

#main.contact .smf-radio-buttons-control__control,
#main.contact .smf-checkboxes-control__control {
  display: grid;
  gap: 10px;
}

#main.contact .smf-radio-button-control,
#main.contact .smf-checkbox-control {
  gap: 12px;
}

#main.contact .smf-radio-button-control__control:checked,
#main.contact .smf-checkbox-control__control:checked {
  background-color: #f00;
  border-color: #f00;
}

#main.contact .smf-action {
  margin-top: 44px;
  text-align: center;
}

#main.contact .smf-button-control__control,
#main.contact .smf-action button,
#main.contact .smf-action input[type="submit"] {
  min-width: 300px;
  min-height: 64px;
  padding: 14px 32px;
  border: 1px solid var(--contact-red);
  border-radius: 5px;
  background: var(--contact-red);
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  transition: background-color 0.2s ease, color 0.2s ease;
}

#main.contact .smf-button-control__control:hover,
#main.contact .smf-action button:hover,
#main.contact .smf-action input[type="submit"]:hover {
  background: #fff;
  color: var(--contact-red);
}

/* 初期状態は非表示 */
.snow-monkey-form .attention,
.snow-monkey-form .confirm,
.snow-monkey-form .smf-input-only-privacy-note{
	display: none;
}

/* 入力画面だけ表示 */
.snow-monkey-form[data-screen="input"] .attention,
.snow-monkey-form[data-screen="input"] .smf-input-only-privacy-note {
	display: block;
	    margin-bottom: 20px;
    font-size: 17px;
}

/* 確認画面だけ表示 */
.snow-monkey-form[data-screen="confirm"] .confirm {
	display: block;
}

.snow-monkey-form[data-screen="confirm"] .smf-item__description{
	display:none;
}

@media screen and (max-width: 767px) {
	
	.second header {
    height: 200px;
    width: 95vw;
    margin: 0 auto;
    margin-top: 60px;
    border-radius: 25px;
		min-width: auto;
}

.second header h1{
    bottom: 19px;
    position: absolute;
    color: #C01521;
    z-index: 100;
    font-size: 20px;
    width: 205px;
    text-align: center;
    font-weight: 600;
}

.second header:before{
	    background-image: url(images/title.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 50%;
    background-size: cover;
    content: "";
    height: 64px;
    width: 226px;
    left: -1px;
    bottom: 0;
    position: absolute;
    z-index: 1;
}
	
  .container {
    width: calc(100% - 32px);
  }

  .contact header {
    background-position: center center;
  }

  #main.contact > .min-container {
    width: calc(100% - 32px);
  }

  #main.contact > header {
    margin-bottom: 40px;
  }



  #main.contact > .min-container {
    max-width: none;
  }

  #main.contact > .min-container > p:first-of-type {
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 1.9;
  }

  #main.contact > .min-container > p:first-of-type br {
    display: none;
  }

  #main.contact .snow-monkey-form {
    font-size: 15px;
  }

  /* 入力・確認・完了ステップ */
  #main.contact .smf-progress-tracker {
    margin-bottom: 44px;
  }

  #main.contact .smf-progress-tracker__item__number {
    width: 28px;
    height: 28px;
    font-size: 13px;
    line-height: 28px;
  }

  #main.contact .smf-progress-tracker__item__text {
    margin-top: 10px;
    font-size: 11px;
    line-height: 1.4;
  }

  /* PCの2カラムを縦並びに変更 */
  #main.contact .smf-item {
    display: block;
    padding: 22px 0;
  }

  #main.contact .smf-item__col--controls {
    margin-top: 12px;
  }

  #main.contact .smf-item__label {
    gap: 10px;
    font-size: 16px;
    line-height: 1.6;
  }

  #main.contact .smf-item__label__required,
  #main.contact .smf-item__label__optional,
  #main.contact .smf-item:not(:has(.smf-item__label__required)):has([data-validations~="required"]) .smf-item__label::after,
  #main.contact .smf-item:not(:has(.smf-item__label__optional)):not(:has([data-validations~="required"])) .smf-item__label::after {
    padding: 2px 8px;
    font-size: 11px;
  }

  #main.contact .smf-item__description {
    margin-top: 3px;
    font-size: 12px;
  }

  /* 入力欄 */
  #main.contact .smf-form input[type="text"],
  #main.contact .smf-form input[type="email"],
  #main.contact .smf-form input[type="tel"],
  #main.contact .smf-form input[type="url"],
  #main.contact .smf-form input[type="number"],
  #main.contact .smf-form select,
  #main.contact .smf-form textarea {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 11px 12px;
    font-size: 16px;
  }

  #main.contact .smf-select-control {
    width: 100%;
  }

  #main.contact .smf-form textarea {
    min-height: 180px;
  }

  /* ラジオボタン・チェックボックス */
  #main.contact .smf-radio-buttons-control__control,
  #main.contact .smf-checkboxes-control__control {
    gap: 12px;
  }

  #main.contact .smf-radio-button-control,
  #main.contact .smf-checkbox-control {
    gap: 10px;
    line-height: 1.6;
  }

  /* 注意文 */
  .snow-monkey-form[data-screen="input"] .attention,
  .snow-monkey-form[data-screen="input"] .smf-input-only-privacy-note {
    margin-bottom: 24px;
    font-size: 14px;
    line-height: 1.8;
  }

  /* 確認ボタン */
  #main.contact .smf-action {
    margin-top: 32px;
  }

  #main.contact .smf-button-control,
  #main.contact .smf-button-control__control,
  #main.contact .smf-action button,
  #main.contact .smf-action input[type="submit"] {
    width: 100%;
  }

  #main.contact .smf-button-control__control,
  #main.contact .smf-action button,
  #main.contact .smf-action input[type="submit"] {
    min-width: 0;
    min-height: 56px;
    padding: 13px 20px;
    font-size: 16px;
  }

  /* 確認画面の「戻る」「送信」ボタンのみ各45% */
  #main.contact .snow-monkey-form[data-screen="confirm"] .smf-action {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  #main.contact .snow-monkey-form[data-screen="confirm"] .smf-button-control {
    width: 45%;
  }

  #main.contact .snow-monkey-form[data-screen="confirm"] .smf-button-control__control,
  #main.contact .snow-monkey-form[data-screen="confirm"] .smf-action button,
  #main.contact .snow-monkey-form[data-screen="confirm"] .smf-action input[type="submit"] {
    width: 80%;
  }
}

/*
 * 日青連入会案内
 * PC・SP共通
 */
.join header {
    background: url(images/join_title.webp) no-repeat center center;
    background-size: cover;
    position: relative;
}
.join {
	--gradient: linear-gradient(
		-45deg,
		#BF0000 0%,
		#BF0000 51%,
		#FF926A 100%
	);
	color: #000;
}

.join .join__main-image {
    display: block;
    width: min(700px, calc(100% - 40px));
    max-width: 100%;
    height: auto;
    margin: 100px auto 30px;
}

.join .join-content {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}

.join .page-section {
	margin: 0;
}

.page-section + .page-section {
	margin-top: 110px;
}

.page-section__heading {
	margin: 0 0 28px;
}

.page-section__title {
	margin: 0;
	color: #000;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.04em;
}

.page-section__title::after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	margin-top: 9px;
	background: var(--gradient);
}

.page-section__label {
	display: table;
	width: auto;
	margin: 14px 0 0;
	padding: 3px 14px 4px;
	background: var(--gradient);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.03em;
}

.page-section__body {
	margin: 0;
}

.page-section__lead {
	margin: 0;
	color: #000;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.8;
}

.page-section__text {
	margin: 42px 0 0;
	color: #000;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.8;
}

.page-section + .page-section .page-section__text {
	margin-top: 0;
}

.page-section__image-link {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 58px auto 0;
	transition: opacity 0.25s ease;
}

.page-section__image-link:hover {
	opacity: 0.8;
}



.contact_btn {
	display: block;
	width: 500px;
	max-width: 100%;
	height: auto;
	margin-bottom:50px;
}

@media screen and (max-width: 767px) {
	.join__main-image {
		width: calc(100% - 32px);
	        margin-top: 50px !important;
	}

	.join-content {
		width: calc(100% - 32px);
	}

	.page-section + .page-section {
		margin-top: 72px;
	}

	.page-section__heading {
		margin-bottom: 25px;
	}

	.page-section__title {
		font-size: 2.3rem;
		line-height: 1.5;
		letter-spacing: 0.02em;
	}

	.page-section__title::after {
		height: 2px;
		margin-top: 8px;
	}

.page-section__label {
		margin-top: 10px;
		padding: 7px 10px 6px;
		font-size: 1.3rem;
		line-height: 1.2;
		letter-spacing: 0.02em;
	}

	.page-section__lead {
		font-size: 2rem;
		line-height: 1.75;
	}

	.page-section__text {
		margin-top: 28px;
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.page-section__text br {
		display: none;
	}

	.page-section + .page-section .page-section__text {
		margin-top: 0;
	}

.contact_btn {
    display: block;
    width: 390px;
    max-width: 100%;
    height: auto;
    margin: 0 auto 30px;
}
}


/* shop-videos archive: PC */
.shop-videos-page header {
    background: url(images/ojyama_head.webp) no-repeat center center;
    background-size: cover;
    position: relative;
}
.shop-videos-page {
	--shop-videos-red: #C01521;
	color: #000;
}

.shop-videos-container,
.shop-videos-intro__inner {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}

.shop-videos-intro {
	min-height: 410px;
	margin-top: 90px;
	background-image: var(--shop-videos-intro-bg, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.shop-videos-intro__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	align-items: center;
	gap: 30px;
	min-height: inherit;
	padding-block: 54px;
}

.shop-videos-intro__copy {
	position: relative;
	z-index: 1;
}

.shop-videos-intro__lead {
	margin: 0;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.5;
}



.shop-videos-intro__lead strong {
	color: var(--shop-videos-red);
	background-image: linear-gradient(
		to bottom,
		transparent 68%,
		#FEE100 68%,
		#FEE100 94%,
		transparent 94%
	);
}


.shop-videos-intro__text {
	margin: 56px 0 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.8;
}
.shop-videos-intro__text span {
	background-color: #fff;
	box-shadow: 10px 0 0 #fff, -10px 0 0 #fff;
	box-decoration-break: clone;
}

.shop-videos-intro__visual {
	display: block;
	justify-self: end;
	width: 100%;
	max-width: 670px;
	height: auto;
}
.shop-videos-featured__title {
	position: relative;
	z-index: 1;
	margin: 0;
	line-height: 1;
}
.shop-videos-featured__title::before {
	content: "";
	position: absolute;
	z-index: 0;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 11px;
	background-color: #FEE100;
	transform: translate(-50%, -50%);
}

.shop-videos-featured__title-image {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	max-width: 480px;
	height: auto;
	margin-inline: auto;
}
.shop-videos-featured {
	padding: 88px 0 100px;
	border-bottom: 11px solid #65CBEA;
}

.shop-videos-featured__heading {
	margin-bottom: 48px;
	text-align: center;
}

.shop-videos-featured__title {
	margin: 0;
	color: var(--shop-videos-red);
	font-size: 4.8rem;
	font-weight: 900;
	line-height: 1.3;
}

.shop-videos-featured__description {
	margin: 18px 0 0;
	color: var(--shop-videos-red);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.7;
}

.shop-videos-featured__item {
	width: min(820px, 100%);
	margin-inline: auto;
}

.shop-video-embed {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.shop-videos-page .shop-video-embed iframe {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
}

.shop-videos-page .shop-video-embed iframe,
.shop-videos-page .shop-video-embed video,
.shop-videos-page .shop-video-embed embed,
.shop-videos-page .shop-video-embed object {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0;
}

.shop-videos-page .shop-video-embed > :first-child {
	margin-top: 0;
}

.shop-videos-page .shop-video-embed > :last-child {
	margin-bottom: 0;
}

.shop-videos-featured__video-title {
	margin: 26px 0 0;
	color: var(--shop-videos-red);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.65;
	text-align: left;
}

.shop-videos-list {
	padding: 88px 0 120px;
}

.shop-videos-list__heading {
	margin-bottom: 58px;
	text-align: center;
}

.shop-videos-list__icon {
	display: block;
	width: 0;
	height: 0;
	margin: 0 auto 14px;
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	border-left: 22px solid var(--shop-videos-red);
}

.shop-videos-list__title {
	margin: 0;
	color: var(--shop-videos-red);
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.4;
}

.shop-videos-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 58px 42px;
}

.shop-videos-card {
	min-width: 0;
	overflow: hidden;
	border-radius: 0 0 7px 7px;
	background-color: var(--video-card-bg);
}

.shop-videos-card__title {
	margin: 0;
	padding: 10px 10px 10px;
	background-color: var(--video-card-bg);
	color: var(--shop-videos-red);
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.65;
}

.shop-videos-channel {
	width: min(800px, calc(100% - 40px));
	margin: 0 auto 110px;
}

.shop-videos-channel__link {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	transition: opacity 0.25s ease;
}

.shop-videos-channel__link:hover {
	opacity: 0.8;
}

.shop-videos-channel__link:focus-visible {
	outline: 3px solid var(--shop-videos-red);
	outline-offset: 5px;
}

.shop-videos-channel__image {
	display: block;
	width: 100%;
	max-width: 601px;
	height: auto;
	    border: solid 1px #C01521
}

.shop-videos-page__empty {
	margin: 40px 0;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.shop-videos-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* shop-videos archive: SP */

@media screen and (max-width: 767px) {
	.shop-videos-container,
	.shop-videos-intro__inner {
		width: calc(100% - 32px);
	}

	.shop-videos-intro {
		min-height: 0;
		margin-top: 54px;
		background-position: center top;
		background-size: cover;
	}

	.shop-videos-intro__inner {
		display: block;
		padding-block: 48px;
	}

	.shop-videos-intro__lead {
		font-size: 2.6rem;
		line-height: 1.55;
	}

	.shop-videos-intro__text {
		margin-top: 30px;
		font-size: 1.5rem;
		line-height: 1.8;
	}

	.shop-videos-intro__visual {
		width: 100%;
		max-width: 520px;
		margin: 34px auto 0;
	}

	.shop-videos-featured {
		padding: 60px 0 68px;
		border-bottom-width: 5px;
	}

	.shop-videos-featured__heading {
		margin-bottom: 34px;
	}

	.shop-videos-featured__title {
		font-size: 3.2rem;
	}

	.shop-videos-featured__description {
		margin-top: 12px;
		font-size: 1.5rem;
	}

	.shop-videos-featured__video-title {
		margin-top: 18px;
		font-size: 1.7rem;
		line-height: 1.6;
	}
	.shop-videos-featured__title::before {
		height: 7px;
	}

	.shop-videos-featured__title-image {
		max-width: 400px;
	}
	.shop-videos-list {
		padding: 60px 0 76px;
	}

	.shop-videos-list__heading {
		margin-bottom: 38px;
	}

	.shop-videos-list__title {
		font-size: 2.6rem;
	}

	.shop-videos-list__icon {
		margin-bottom: 10px;
		border-top-width: 10px;
		border-bottom-width: 10px;
		border-left-width: 17px;
	}

	.shop-videos-grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.shop-videos-card__title {
		padding: 17px 16px 20px;
		font-size: 1.6rem;
	}

	.shop-videos-channel {
		width: calc(100% - 32px);
		margin-bottom: 72px;
	}

	.shop-videos-channel__link,
	.shop-videos-channel__image {
		width: 100%;
		max-width: 601px;
	}

	.shop-videos-page__empty {
		font-size: 1.6rem;
	}
}

/* ==================================================
   トップページ：会員ページログイン
================================================== */
#index-member-login {
		padding: 65px 0 100px;
}

#index-member-login .container {
	position: relative;
}

.index-member-login__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(400px, 500px);
	align-items: center;
	gap: 55px;
	min-height: 185px;
	padding: 32px 65px;
	box-sizing: border-box;
	border-radius: 12px;
	overflow: hidden;
	background: url(images/toplogin_bg.webp) center center / cover no-repeat;
}

.index-member-login__text {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.index-member-login__eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.index-member-login__eyebrow-logo {
	display: block;
	flex: 0 0 auto;
	width: 27px;
	height: auto;
}

.index-member-login__eyebrow-text {
	margin: 0;
	color: #111;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
}

.index-member-login__title {
	margin: 13px 0 0;
	color: #C01521;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

.index-member-login__description {
	max-width: 520px;
	margin: 13px 0 0;
	color: #111;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
}

.index-member-login__banner {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
}

#index-member-login .index-member-login__link {
	display: block;
	width: min(100%, 470px);
	margin: 0;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
	#index-member-login .index-member-login__link:hover {
		opacity: 0.9;
		transform: translateY(-2px);
	}

	#index-member-login .index-member-login__link:hover .index-member-login__image {
		opacity: 1;
	}
}

#index-member-login .index-member-login__link:focus-visible {
	outline: 3px solid #C01521;
	outline-offset: 5px;
}

#index-member-login .index-member-login__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 9px;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
	#index-member-login {
		padding: 55px 0 65px;
	}

	.index-member-login__panel {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 42%);
		gap: 30px;
		padding: 30px 35px;
	}

	.index-member-login__eyebrow-logo {
		width: 24px;
	}

	.index-member-login__eyebrow-text {
		font-size: 1.4rem;
	}

	.index-member-login__title {
		font-size: 2.6rem;
	}

	.index-member-login__description {
		font-size: 1.4rem;
	}
}

/* ==================================================
   トップページ：加盟店紹介動画
================================================== */
#index-shop-videos {
	position: relative;
	overflow: visible;
	padding: 0 0 100px;
	color: #fff;
}

#index-shop-videos::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	content: "";
	background-image: url(images/youtube_bg.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
    -webkit-clip-path: ellipse(100% 44% at 50% 54%);
    clip-path: ellipse(100% 44% at 50% 54%);
	pointer-events: none;
}
#index-shop-videos .index-shop-videos__inner {
	width: min(100%, 1600px);
	margin-inline: auto;
}

#index-shop-videos .index-shop-videos__heading {
	position: relative;
	width: min(760px, calc(100% - 80px));
	min-height: 270px;
	margin-inline: auto;
}

#index-shop-videos .index-shop-videos__title-image {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	max-width: 600px;
	height: auto;
	margin-inline: auto;
}
#index-shop-videos .index-shop-videos__person {
    position: absolute;
    z-index: 1;
top: 23px;
    right: -90px;
    display: block;
    width: min(300px, 40%);
    max-height: 300px;
    object-fit: contain;
    object-position: left center;
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-animation: ojyama-person-shake 2s steps(1, end) infinite;
    animation: ojyama-person-shake 2s steps(1, end) infinite;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    pointer-events: none;
}

@-webkit-keyframes ojyama-person-shake {
	0%,
	100% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}

	50% {
		-webkit-transform: rotate(-12deg);
		transform: rotate(-12deg);
	}
}

@keyframes ojyama-person-shake {
	0%,
	100% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}

	50% {
		-webkit-transform: rotate(-12deg);
		transform: rotate(-12deg);
	}
}

#index-shop-videos .index-shop-videos__lead {
	width: min(1200px, calc(100% - 40px));
	margin: 22px auto 0px;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
	position: relative;
}

#index-shop-videos .index-shop-videos__slider {
	width: 100%;
	margin-inline: auto;
	padding: 20px 0 34px;
}

#index-shop-videos .index-shop-videos__slider--single {
	width: min(640px, calc(100% - 40px));
}

#index-shop-videos .index-shop-videos__slide {
		width: 800px;
	max-width: 80vw;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	padding: 5px;
	opacity: 0.82;
	transform: scale(0.7);
	transition:
		transform 0.65s ease,
		opacity 0.65s ease;
}
#index-shop-videos .slick-initialized .index-shop-videos__slide {
	width: min(760px, 65vw);
	margin-inline: -50px;
}
#index-shop-videos .index-shop-videos__slide.slick-center,
#index-shop-videos .index-shop-videos__slider--single .index-shop-videos__slide {
	z-index: 3;
	opacity: 1;
	transform: scale(1);
}

#index-shop-videos .index-shop-videos__movie {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
	box-shadow: 0 12px 30px rgba(90, 0, 0, 0.28);
}

#index-shop-videos .index-shop-videos__movie > *,
#index-shop-videos .index-shop-videos__movie p,
#index-shop-videos .index-shop-videos__movie figure,
#index-shop-videos .index-shop-videos__movie .wp-block-embed__wrapper {
	width: 100%;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}

#index-shop-videos .index-shop-videos__movie iframe,
#index-shop-videos .index-shop-videos__movie video,
#index-shop-videos .index-shop-videos__movie embed,
#index-shop-videos .index-shop-videos__movie object {
	position: absolute !important;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0;
}


#index-shop-videos .index-shop-videos__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	min-height: 48px;
	margin: 0px auto 0;
	padding: 10px 48px 10px 24px;
	border: 0;
	border-radius: 12px;
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 0 8px 0 #F4B8BC;
	color: #C01521;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

#index-shop-videos .index-shop-videos__button i {
	position: absolute;
	top: 50%;
	right: 18px;
	display: grid;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background-color: #C01521;
	color: #fff;
	font-size: 1.2rem;
	place-items: center;
	transform: translateY(-50%);
}
/*
#index-shop-videos .index-shop-videos__button:hover {
	opacity: 0.85;
	transform: translateY(2px);
}
*/


#index-shop-videos .index-shop-videos__button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 5px;
}

#index-shop-videos .index-shop-videos__empty {
	width: calc(100% - 40px);
	margin: 45px auto 0;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
}

#index-shop-videos .slick-list {
	overflow: visible;
	padding-block: 20px !important;
}

#index-shop-videos .slick-track {
	display: flex;
	align-items: center;
}

#index-shop-videos .slick-prev,
#index-shop-videos .slick-next {
	z-index: 10;
	top: 50%;
	width: 60px;
	height: 60px;
	border: 2px solid #C01521;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 5px 16px rgba(80, 0, 0, 0.22);
	transform: translateY(-50%);
}

#index-shop-videos .slick-prev {
	left: 24px;
}

#index-shop-videos .slick-next {
	right: 24px;
}

#index-shop-videos .slick-prev::before,
#index-shop-videos .slick-next::before {
	display: block;
	color: #C01521;
	font-family: Arial, sans-serif;
	font-size: 30px;
	line-height: 1;
	opacity: 1;
}

#index-shop-videos .slick-prev::before,
#index-shop-videos .slick-next::before {
	display: none;
	content: none;
}

#index-shop-videos .slick-prev i,
#index-shop-videos .slick-next i {
	display: block;
	color: #C01521;
	font-size: 28px;
	line-height: 1;}

#index-shop-videos .slick-prev:focus-visible,
#index-shop-videos .slick-next:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	#index-shop-videos .index-shop-videos__slide {
		transition: none;
	}
}

/* トップページ追加セクション：スマートフォン */
@media screen and (max-width: 767px) {
	#index-member-login {
		padding: 45px 0 55px;
	}

	#index-member-login .container {
		width: calc(100% - 32px);
	}

	.index-member-login__panel {
		display: block;
		min-height: 0;
		padding: 28px 20px 25px;
		border-radius: 10px;
		background-position: right center;
	}

	.index-member-login__eyebrow {
		gap: 8px;
	}

	.index-member-login__eyebrow-logo {
		width: 21px;
	}

	.index-member-login__eyebrow-text {
		font-size: 1.3rem;
	}

	.index-member-login__title {
		margin-top: 10px;
		font-size: 2.4rem;
		line-height: 1.45;
	}

	.index-member-login__description {
		max-width: none;
		margin-top: 12px;
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.index-member-login__banner {
		margin-top: 24px;
	}

	#index-member-login .index-member-login__link {
		width: 100%;
		max-width: 430px;
		margin-inline: auto;
	}

	#index-shop-videos {
		padding: 58px 0 66px;
	}


	#index-shop-videos::before {
	        -webkit-clip-path: ellipse(146% 46% at 50% 52%);
        clip-path: ellipse(146% 46% at 50% 52%);
	}

	#index-shop-videos .index-shop-videos__heading {
		width: 84%;
		min-height: 165px;
		margin-bottom: -62px;
		transform: translateY(-72px);
	}
	#index-shop-videos .index-shop-videos__title-image {
		width: 82%;
		max-width: 600px;
	}

	#index-shop-videos .index-shop-videos__person {
		top: 24px;
		right: 0;
		width: 34%;
		max-height: 190px;
		-webkit-animation: ojyama-person-shake-sp 2s steps(1, end) infinite;
		animation: ojyama-person-shake-sp 2s steps(1, end) infinite;
	}

	#index-shop-videos .index-shop-videos__lead {
		width: calc(100% - 40px);
		margin-top: 0px;
		font-size: 1.6rem;
		line-height: 1.75;
	}

	#index-shop-videos .index-shop-videos__slider {
		width: 100%;
		margin-inline: auto;
		padding: 12px 0 24px;
	}

	#index-shop-videos .slick-list {
		overflow: hidden;
	}

	#index-shop-videos .index-shop-videos__slider--single {
		width: 84%;
	}

	#index-shop-videos .index-shop-videos__slide {
		width: 82vw !important;
		margin-inline: 4px !important;
		padding: 0;
		opacity: 1;
		transform: scale(0.92);
opacity: 0.88;
	}

	#index-shop-videos .index-shop-videos__slide.slick-center,
	#index-shop-videos .index-shop-videos__slider--single .index-shop-videos__slide {
		opacity: 1;
		transform: scale(1);
	}

	#index-shop-videos .index-shop-videos__button {
		width: min(250px, calc(100% - 32px));
		min-height: 48px;
		margin-top: 20px;
		font-size: 1.6rem;
	}

	#index-shop-videos .slick-prev,
	#index-shop-videos .slick-next {
		width: 38px;
		height: 38px;
	}

	#index-shop-videos .slick-prev {
		left: 8px;
	}

	#index-shop-videos .slick-next {
		right: 8px;
	}

	#index-shop-videos .slick-prev::before,
	#index-shop-videos .slick-next::before {
		font-size: 24px;
	}

	#index-shop-videos .index-shop-videos__empty {
		width: calc(100% - 40px);
		font-size: 1.6rem;
	}
}

@-webkit-keyframes ojyama-person-shake-sp {
	0%,
	100% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}

	50% {
		-webkit-transform: rotate(-9deg);
		transform: rotate(-9deg);
	}
}

@keyframes ojyama-person-shake-sp {
	0%,
	100% {
		-webkit-transform: rotate(-15deg);
		transform: rotate(-15deg);
	}

	50% {
		-webkit-transform: rotate(-9deg);
		transform: rotate(-9deg);
	}
}

@media screen and (max-width: 480px) {
	#index-shop-videos .index-shop-videos__heading {
		width: 92%;
		min-height: 145px;
	}

	#index-shop-videos .index-shop-videos__title-image {
		width: 84%;
		margin-left: 0;
	}

	#index-shop-videos .index-shop-videos__person {
		top: 28px;
		right: -2px;
		width: 31%;
		max-height: 155px;
	}
}

/* ==================================================
   トップページ：日青連について
================================================== */
#index-nisseiren {
	padding: 110px 0 0px;
	color: #000;
}

#index-nisseiren .container {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}

#index-nisseiren .index-nisseiren__heading {
	display: flex;
	align-items: center;
	gap: 36px;
}

#index-nisseiren .index-nisseiren__logo {
	flex: 0 0 auto;
	width: 120px;
	height: auto;
}

#index-nisseiren .index-nisseiren__title {
	margin: 0;
	color: #C01521;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.35;
}

#index-nisseiren .index-nisseiren__label {
	margin: 8px 0 0;
	color: #C01521;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
}

#index-nisseiren .index-nisseiren__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 450px);
	align-items: center;
	gap: 60px;
}

#index-nisseiren .index-nisseiren__copy {
	min-width: 0;
}

#index-nisseiren .index-nisseiren__lead {
	margin: 20px 0 0;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.8;
}

#index-nisseiren .index-nisseiren__photo {
	margin: 0;
	border-radius: 10px;
	background-color: #f2f2f2;
}

#index-nisseiren .index-nisseiren__photo-image {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	border-radius:10px;
}

#index-nisseiren .index-nisseiren__body {
	margin-top: 42px;
}

#index-nisseiren .index-nisseiren__body p {
	margin: 0;
	font-size: 1.8rem;
	line-height: 2;
}

#index-nisseiren .index-nisseiren__button {
	margin-top: 45px;
}

.index-nisseiren__join-link {
	display: block;
	width: min(450px, 100%);
	margin: 50px auto 0;
	transition: opacity 0.25s ease;
	border:solid 2px #C01521;
}

.index-nisseiren__join-link:hover {
	opacity: 0.8;
}

.index-nisseiren__join-link:focus-visible {
	outline: 3px solid #C01521;
	outline-offset: 6px;
}

.index-nisseiren__join-image {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	#index-nisseiren {
		padding: 72px 0 85px;
	}

	#index-nisseiren .container {
		width: calc(100% - 32px);
	}

	#index-nisseiren .index-nisseiren__heading {
		gap: 18px;
	}

	#index-nisseiren .index-nisseiren__logo {
		width: 72px;
	}

	#index-nisseiren .index-nisseiren__title {
		font-size: 2.8rem;
	}

	#index-nisseiren .index-nisseiren__label {
		margin-top: 4px;
		font-size: 1.5rem;
	}

	#index-nisseiren .index-nisseiren__intro {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 28px;
	}

	#index-nisseiren .index-nisseiren__lead {
		margin-top: 38px;
		font-size: 2rem;
		line-height: 1.75;
	}

	#index-nisseiren .index-nisseiren__photo {
		width: 100%;
	}

	#index-nisseiren .index-nisseiren__body {
		margin-top: 24px;
	}

	#index-nisseiren .index-nisseiren__body p {
		font-size: 1.6rem;
		line-height: 1.9;
	}

.index-nisseiren__button {
		margin: 34px auto 0;
		
	}

.index-nisseiren__join-link {
	margin:70px 20px 0!important;
	width:auto;
	}
}

/* ==================================================
   加盟店紹介動画：ポップアップ再生
================================================== */
.shop-videos-page .shop-video-embed {
	cursor: pointer;
}

.shop-video-thumbnail {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: #000;
	cursor: pointer;
	overflow: hidden;
}

.shop-videos-modal-trigger {
	position: absolute;
	z-index: 3;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: #000;
	cursor: pointer;
	overflow: hidden;
}

.shop-video-thumbnail__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.shop-video-thumbnail:hover .shop-video-thumbnail__image {
	opacity: 0.88;
	transform: scale(1.025);
}

.shop-video-thumbnail__empty {
	display: grid;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 20px;
	background: #000;
	color: #fff;
	text-align: center;
	place-items: center;
}

.shop-videos-modal-trigger__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	width: 72px;
	height: 52px;
	border-radius: 14px;
	background-color: #FF0033;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
	pointer-events: none;
	transform: translate(-50%, -50%);
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.shop-videos-modal-trigger__icon::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 17px solid #fff;
	content: "";
	transform: translate(-40%, -50%);
}

.shop-videos-modal-trigger:hover .shop-videos-modal-trigger__icon {
	opacity: 0.88;
	transform: translate(-50%, -50%) scale(1.08);
}

.shop-videos-modal-trigger:focus-visible {
	outline: 4px solid #FEE100;
	outline-offset: -4px;
}

.shop-videos-modal {
	position: fixed;
	z-index: 10000;
	inset: 0;
	display: grid;
	padding: 40px 24px;
	place-items: center;
}

.shop-videos-modal[hidden] {
	display: none;
}

.shop-videos-modal__backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.82);
}

.shop-videos-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(1200px, calc(100vw - 48px), calc((100vh - 96px) * 16 / 9));
}

.shop-videos-modal__video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background-color: #000;
	box-shadow: 0 18px 60px rgba(0, 0, 0, 0.55);
}

.shop-videos-modal__video iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0;
}

.shop-videos-modal__close {
	position: absolute;
	z-index: 2;
	top: -44px;
	right: 0;
	display: grid;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background-color: #C01521;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	place-items: center;
	transition: opacity 0.25s ease;
}

.shop-videos-modal__close:hover {
	opacity: 0.8;
}

.shop-videos-modal__close:focus-visible {
	outline: 3px solid #FEE100;
	outline-offset: 3px;
}

body.shop-videos-modal-open {
	overflow: hidden;
}

@media screen and (max-width: 767px) {
	.shop-videos-modal-trigger__icon {
		width: 58px;
		height: 42px;
		border-radius: 11px;
	}

	.shop-videos-modal-trigger__icon::before {
		border-top-width: 8px;
		border-bottom-width: 8px;
		border-left-width: 14px;
	}

	.shop-videos-modal {
		padding: 56px 12px 24px;
	}

	.shop-videos-modal__dialog {
		width: min(calc(100vw - 24px), calc((100vh - 96px) * 16 / 9));
	}
}

@media (prefers-reduced-motion: reduce) {
	.shop-video-thumbnail__image,
	.shop-videos-modal-trigger__icon {
		transition: none;
	}
}

/* ==================================================
   日青連について
================================================== */
.nisseiren {
	--gradient: linear-gradient(
		90deg,
		#BF0000 0%,
		#BF0000 51%,
		#FF926A 100%
	);
	color: #000;
}

.nisseiren header {
	position: relative;
	background: url(images/nisseiren_title.webp) no-repeat center center;
	background-size: cover;
}

.nisseiren-container,
.nisseiren-business__inner {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}

.nisseiren .page-section {
	margin: 0;
}

.nisseiren .page-section__heading--light .page-section__title {
	color: #fff;
}

.nisseiren .page-section__heading--light .page-section__title::after {
	width: 50px;
	height: 3px;
	background: #fff;
}

/* 日青連について */
.nisseiren-about {
	padding: 105px 0 120px;
	overflow: hidden;
}

.nisseiren-about__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(480px, 0.95fr);
	align-items: center;
	gap: 64px;
	margin-top: 58px;
}

.nisseiren-about__copy {
	min-width: 0;
}

.nisseiren-about__slogan {
	display: block;
	width: min(100%, 630px);
	height: auto;
}

.nisseiren-about__subtitle {
	display: table;
	margin: 60px 0 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #C01521;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}

.nisseiren-about__text {
	margin-top: 30px;
}

.nisseiren-about__text p {
	margin: 0;
}

.nisseiren-about__text p + p {
	margin-top: 20px;
}

.nisseiren-about__gallery {
	position: relative;
	width: calc(100% + max(20px, (100vw - 1200px) / 2));
	padding: 46px 0 46px 36px;
	border-radius: 18px 0 0 18px;
	background-color: #FFF3F5;
}

.nisseiren-about__gallery-logo {
	position: absolute;
	z-index: 0;
	top: -98px;
	right: 7%;
	width: min(42%, 220px);
	height: auto;
	opacity: 0.1;
	pointer-events: none;
}

.photo-marquee {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.photo-marquee__track {
	display: flex;
	flex-wrap: nowrap;
	width: -webkit-max-content;
	width: max-content;
	-webkit-animation: photo-marquee-scroll 40s linear infinite;
	animation: photo-marquee-scroll 40s linear infinite;
	-webkit-animation-play-state: running;
	animation-play-state: running;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}


.photo-marquee__group {
	display: grid;
	flex: none;
	grid-template-rows: repeat(2, 240px);
	grid-auto-flow: column;
	grid-auto-columns: 240px;
	gap: 33px;
	padding-right: 33px;
}

.photo-marquee__item {
	overflow: hidden;
	border-radius: 5px;
	background-color: #eee;
}

.photo-marquee__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@-webkit-keyframes photo-marquee-scroll {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	to {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes photo-marquee-scroll {
	from {
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	to {
		-webkit-transform: translate3d(-50%, 0, 0);
		transform: translate3d(-50%, 0, 0);
	}
}

/* 主な事業 */
.nisseiren-business {
	padding: 90px 0 110px;
	color: #fff;
	background-image:
		url(images/jigyou_bg.webp),
		linear-gradient(
			90deg,
			#BF0000 0%,
			#BF0000 51%,
			#FF926A 100%
		);
	background-repeat: no-repeat, no-repeat;
	background-position: right bottom, center;
	background-size: min(70%, 1050px) auto, cover;
}

.nisseiren-business__heading {
	margin-bottom: 26px;
}

.nisseiren-business__description {
	margin: 0;
	font-size: 1.8rem;
	line-height: 1.8;
}

.nisseiren-business__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin-top: 52px;
}

.nisseiren-business__card {
	min-height: 170px;
	padding: 26px 28px;
	border: 2px solid rgba(255, 255, 255, 0.8);
	border-radius: 7px;
	background-color: rgba(255, 255, 255, 0.2);
	box-sizing: border-box;
	backdrop-filter: blur(2px);
}

.nisseiren-business__card-title {
	position: relative;
	margin: 0;
	padding-left: 26px;
	color: #fff;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.55;
}

.nisseiren-business__card-title::before {
	position: absolute;
	top: 0.62em;
	left: 2px;
	width: 10px;
	height: 10px;
	background-color: #fff;
	content: "";
	transform: rotate(45deg);
	border-radius: 2px;
}

.nisseiren-business__card-text {
	margin: 16px 0 0;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.75;
}

/* 会長ご挨拶 */
.nisseiren-message {
	padding: 120px 0 130px;
}

.nisseiren-message__layout {
	display: grid;
	grid-template-columns: 350px minmax(0, 1fr);
	align-items: start;
	gap: 76px;
	margin-top: 58px;
}

.nisseiren-message__photo {
	display: block;
	    width: 50vw;
	height: auto;
	border-radius: 6px;
}

.nisseiren-message__position {
	margin: 30px 0 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.nisseiren-message__name {
	margin: 8px 0 0;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.5;
}

.nisseiren-message__name-en {
	margin: 6px 0 0;
	color: #C01521;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.nisseiren-message__content {
	font-size: 1.8rem;
	line-height: 2;
}

.nisseiren-message__content p {
	margin: 0;
}

.nisseiren-message__content p + p,
.nisseiren-message__pillars + p {
	margin-top: 32px;
}

.nisseiren-message__lead {
	margin-bottom: 48px !important;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.75;
}

.nisseiren-message__pillars {
	margin: 30px 0 0;
}

.nisseiren-message__pillars li + li {
	margin-top: 28px;
}

.nisseiren-message__pillars strong,
.nisseiren-message__pillars span {
	display: block;
}

.nisseiren-message__pillars strong {
	font-weight: 700;
}

.nisseiren-message__pillars span {
	margin-top: 5px;
}

/* 組織図 */
.nisseiren-organization {
	padding: 0 0 80px;
}

.nisseiren-organization__scroll {
	margin-top: 58px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.nisseiren-organization__image {
	display: block;
	width: 100%;
	max-width: 800px;
	height: auto;
	margin-inline: auto;
}

.nisseiren-organization__scroll:focus-visible {
	outline: 3px solid #C01521;
	outline-offset: 5px;
}
.nisseiren .index-nisseiren__join-link{
	margin:20px auto 50px;
}
@media screen and (max-width: 767px) {
	.nisseiren-container,
	.nisseiren-business__inner {
		width: calc(100% - 32px);
	}

	.nisseiren-about {
		padding: 65px 0 75px;
	}

	.nisseiren-about__content {
		display: block;
		margin-top: 38px;
	}

	.nisseiren-about__slogan {
		width: 100%;
	}

	.nisseiren-about__subtitle {
		margin-top: 38px;
		padding-bottom: 8px;
		font-size: 1.7rem;
	}

	.nisseiren-about__text {
		margin-top: 24px;
	}

	.nisseiren-about__gallery {
		width: calc(100% + 16px);
		margin-top: 42px;
		padding: 30px 0 30px 20px;
		border-radius: 14px 0 0 14px;
	}

	.nisseiren-about__gallery-logo {
		top: -15px;
		width: 150px;
	}

	.photo-marquee__group {
		grid-template-rows: repeat(2, 215px);
		grid-auto-columns: 215px;
		gap: 14px;
		padding-right: 14px;
	}

	.nisseiren-business {
		padding: 65px 0 78px;
		background-size: 125% auto, cover;
	}

	.nisseiren-business__description {
		font-size: 1.6rem;
	}

	.nisseiren-business__grid {
		grid-template-columns: 1fr;
		gap: 18px;
		margin-top: 36px;
	}

	.nisseiren-business__card {
		min-height: 0;
		padding: 22px 20px;
	}

	.nisseiren-business__card-title {
		font-size: 1.8rem;
	}

	.nisseiren-business__card-text {
		font-size: 1.5rem;
	}

	.nisseiren-message {
		padding: 75px 0 85px;
	}

	.nisseiren-message__layout {
		display: block;
		margin-top: 38px;
	}

	.nisseiren-message__profile {
		width: min(100%, 330px);
		margin-inline: auto;
	}

	.nisseiren-message__position {
		margin-top: 22px;
		font-size: 1.6rem;
	}

	.nisseiren-message__name {
		font-size: 2.4rem;
	}

	.nisseiren-message__name-en {
		font-size: 1.3rem;
	}

	.nisseiren-message__content {
		margin-top: 42px;
		font-size: 1.6rem;
		line-height: 1.9;
	}

	.nisseiren-message__lead {
		margin-bottom: 34px !important;
		font-size: 2rem;
		line-height: 1.75;
	}

	.nisseiren-message__content p + p,
	.nisseiren-message__pillars + p {
		margin-top: 25px;
	}

	.nisseiren-message__pillars {
		margin-top: 24px;
		
	}

	.nisseiren-message__pillars li + li {
		margin-top: 24px;
	}

	.nisseiren-organization {
		padding-bottom: 0px;
	}

	.nisseiren-organization__scroll {
		margin-top: 38px;
		padding-bottom: 10px;
	}

	
}

/* ==================================================
   Header renewal
================================================== */
body.is-menu-open {
	overflow: hidden;
}

#header.site-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	padding: 18px 0;
	background: #fff;
}

#header .site-header__inner {
	display: flex;
	align-items: center;
	width: calc(100% - 70px);
	max-width: none;
	margin-inline: auto;
}

#header .site-header__logo {
	flex: 0 0 auto;
	margin: 0;
	line-height: 1;
}

#header .site-header__logo a,
#header .site-header__logo img {
	display: block;
}

#header .site-header__logo img {
	width: clamp(190px, 18vw, 265px);
	height: auto;
}

#header .desktop-navigation {
	flex: 1 1 auto;
	margin-left: clamp(20px, 3vw, 52px);
}

#header .desktop-navigation__list {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(10px, 1.35vw, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

#header .desktop-navigation__item {
	position: relative;
	margin: 0;
	padding: 0;
}

#header .desktop-navigation__item > a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 44px;
	color: #111;
	font-size: clamp(1.25rem, 1vw, 1.55rem);
	font-weight: 700;
	line-height: 1.45;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.25s ease;
	 font-size: 1.4rem;
}

#header .desktop-navigation__item:not(.desktop-navigation__member) > a::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 2px;
	background: #C01521;
	content: "";
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.25s ease;
}

#header .desktop-navigation__item:not(.desktop-navigation__member) > a:hover,
#header .desktop-navigation__item:not(.desktop-navigation__member) > a:focus-visible {
	color: #C01521;
}

#header .desktop-navigation__item:not(.desktop-navigation__member) > a:hover::after,
#header .desktop-navigation__item:not(.desktop-navigation__member) > a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left center;
}

#header .desktop-navigation__member > a {
	justify-content: center;
	min-width: 132px;
	min-height: 52px;
	padding: 8px 20px;
	border-radius: 36px;
	background: linear-gradient(90deg, #C01521 0%, #FF4F42 100%);
	color: #fff;
	transition: opacity 0.25s ease, transform 0.25s ease;
	    font-size: 1.4rem;
}

#header .desktop-navigation__member > a:hover,
#header .desktop-navigation__member > a:focus-visible {
	color: #fff;
	opacity: 0.82;

}

#header .desktop-navigation__logout > a {
	color: #666;
	font-size: 1.25rem;
}

#header .header-product-menu > a {
	padding-right: 16px;
}

#header .header-product-menu > a::before {
	position: absolute;
	top: 50%;
	right: 0;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid #C01521;
	border-bottom: 1.5px solid #C01521;
	content: "";
	transform: translateY(-70%) rotate(45deg);
}

#header .header-product-submenu {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	z-index: 1010;
	width: 280px;
	margin: 0;
	padding: 12px 0;
	border-top: 3px solid #C01521;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 10px);
	transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
}

#header .header-product-submenu::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 11px;
	content: "";
}

#header .header-product-menu:hover .header-product-submenu,
#header .header-product-menu:focus-within .header-product-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0);
}

#header .header-product-submenu li {
	margin: 0;
}

#header .header-product-submenu a {
	display: block;
	padding: 9px 22px;
	color: #222;
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease;
}

#header .header-product-submenu a:hover,
#header .header-product-submenu a:focus-visible {
	background: #FFF3F3;
	color: #C01521;
}

#header .mobile-menu-button,
#header .mobile-navigation,
#header .mobile-navigation-overlay {
	display: none;
}

@media screen and (max-width: 1200px) and (min-width: 768px) {
	#header .site-header__inner {
		width: calc(100% - 24px);
	}

	#header .site-header__logo img {
		width: 180px;
	}

	#header .desktop-navigation {
		margin-left: 16px;
	}

	#header .desktop-navigation__list {
		gap: 9px;
	}

	#header .desktop-navigation__item > a {
		font-size: 1.15rem;
	}

	#header .desktop-navigation__member > a {
		min-width: 106px;
		padding-inline: 13px;
	}
}

@media screen and (max-width: 930px) {
	#header.site-header {
		padding: 15px 0;
	}

	#header .site-header__inner {
		justify-content: space-between;
		width: calc(100% - 32px);
	}

	#header .site-header__logo img {
		width: min(57vw, 230px);
	}

	#header .desktop-navigation {
		display: none;
	}

	#header .mobile-menu-button {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		width: 48px;
		height: 48px;
		margin: 0;
		padding: 9px;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	#header .mobile-menu-button span {
		display: block;
		width: 30px;
		height: 2px;
		margin-inline: auto;
		background: #C01521;
	}

	#header .mobile-navigation-overlay {
		position: fixed;
		inset: 0;
		z-index: 1020;
		display: block;
		background: rgb(147 147 147 / 42%);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	#header .mobile-navigation-overlay.is-open {
		opacity: 1;
		visibility: visible;
	}

	#header .mobile-navigation {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 1030;
		display: block;
		width: min(78vw, 420px);
		height: 100dvh;
		background: #FFF7F7;
		box-shadow: 10px 0 35px rgba(0, 0, 0, 0.12);
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateX(-102%);
		transition: transform 0.32s ease;
	}

	#header .mobile-navigation.is-open {
		transform: translateX(0);
	}

	#header .mobile-nav-close {
		position: absolute;
		top: 23px;
		right: 20px;
		z-index: 2;
		width: 50px;
		height: 50px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	#header .mobile-nav-close span {
		position: absolute;
		top: 24px;
		left: 5px;
		width: 40px;
		height: 2px;
		background: #C01521;
	}

	#header .mobile-nav-close span:first-child {
		transform: rotate(45deg);
	}

	#header .mobile-nav-close span:last-child {
		transform: rotate(-45deg);
	}

	#header .mobile-navigation__inner {
		padding: 25px 28px 40px;
	}

	#header .mobile-navigation__member,
	#header .mobile-navigation__logout {
		display: flex;
		align-items: center;
		justify-content: center;
		/*width: calc(100% - 54px);*/
		min-height: 50px;
		/*margin-right: 54px;*/
		border-radius: 32px;
		font-size: 1.8rem;
		font-weight: 700;
		text-decoration: none;
	}

	#header .mobile-navigation__member {
		background: linear-gradient(90deg, #FF654E 0%, #C90000 100%);
		color: #fff;
	}

	#header .mobile-navigation__logout {
		justify-content: space-between;
		margin-top: 15px;
		padding: 0 24px;
		border-radius: 14px;
		background: #5A5A5A;
		color: #fff;
	}

	#header .mobile-navigation__logout i {
		font-size: 2rem;
	}

	#header .mobile-navigation__list,
	#header .mobile-product-submenu {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	#header .mobile-navigation__list {
		margin-top: 15px;
	}

	#header .mobile-navigation__list > li {
		margin: 0;
	}

	#header .mobile-navigation__list > li > a,
	#header .mobile-product-menu__row > a {
		display: block;
		padding: 10px 8px;
		color: #111;
		font-size: 1.6rem;
		font-weight: 500;
		line-height: 1.45;
		text-decoration: none;
	}

	#header .mobile-navigation__list a:focus-visible,
	#header .mobile-navigation__list a:hover {
		color: #C01521;
	}

	#header .mobile-product-menu__row {
		display: flex;
		align-items: center;
	}

	#header .mobile-product-menu__row > a {
		flex: 1;
	}

	#header .mobile-product-menu__toggle {
		display: grid;
		flex: 0 0 44px;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #C01521;
		font-size: 2rem;
		place-items: center;
		cursor: pointer;
	}

	#header .mobile-product-menu__toggle i {
		transition: transform 0.3s ease;
	}

	#header .mobile-product-menu__toggle[aria-expanded="true"] i {
		transform: rotate(180deg);
	}

	#header .mobile-product-submenu {
		max-height: 0;
		margin: 0 6px;
		background: #fff;
		overflow: hidden;
		opacity: 0;
		transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
	}

	#header .mobile-product-submenu.is-open {
		max-height: 700px;
		padding: 8px 0;
		opacity: 1;
	}

	#header .mobile-product-submenu a {
		display: block;
		padding: 9px 16px;
		color: #333;
		font-size: 1.45rem;
		font-weight: 700;
		line-height: 1.5;
		text-decoration: none;
	}
}

/* Header navigation color and mobile toggle adjustments */
@media screen and (min-width: 768px) {
	#header .desktop-navigation__list {
		gap: 0;
	}

	#header .desktop-navigation__item:not(.desktop-navigation__member):not(.desktop-navigation__logout) {
		min-height: 52px;
		padding-inline: clamp(8px, 0.85vw, 16px);
		background: #FFF5F5;
	}

	#header .desktop-navigation__item:not(.desktop-navigation__member):not(.desktop-navigation__logout) > a {
		min-height: 52px;
	}

	#header .desktop-navigation__item.header-product-menu {
		width: auto;
		padding-left: clamp(26px, 2.6vw, 48px);
		padding-right: clamp(8px, 0.85vw, 16px);
		border-radius: 999px 0 0 999px;
	}

	#header .desktop-navigation__item--main-last {
		width: auto;
		padding-left: clamp(8px, 0.85vw, 16px) !important;
		padding-right: clamp(26px, 2.6vw, 48px) !important;
		border-radius: 0 999px 999px 0;
	}

	#header .desktop-navigation__item.header-product-menu > a,
	#header .desktop-navigation__item--main-last > a {
		justify-content: flex-start;
	}

	#header .desktop-navigation__member {
		margin-left: clamp(22px, 1.5vw, 48px);
	}

	#header .desktop-navigation__member > a {
		background: linear-gradient(
			131deg,
			#FF926A 0%,
			#BF0000 49%,
			#BF0000 100%
		);
	}

	#header .desktop-navigation__logout {
		margin-left: 12px;
	}
}

@media screen and (max-width: 1350px) and (min-width: 768px) {
	#header .site-header__inner {
		width: calc(100% - 35px);
	}

	#header .site-header__logo img {
		        width: clamp(140px, 15vw, 190px);
	}

	#header .desktop-navigation {
		min-width: 0;
		margin-left: clamp(8px, 1.3vw, 18px);
	}

	#header .desktop-navigation__item:not(.desktop-navigation__member):not(.desktop-navigation__logout) {
		padding-inline: clamp(5px, 0.65vw, 9px);
	}

	#header .desktop-navigation__item.header-product-menu {
		padding-left: clamp(18px, 2vw, 28px);
	}

	#header .desktop-navigation__item--main-last {
		padding-right: clamp(18px, 2vw, 28px) !important;
	}

	#header .desktop-navigation__item > a {
		font-size: clamp(1rem, 0.95vw, 1.25rem);
	}

	#header .desktop-navigation__member {
		margin-left: clamp(10px, 1vw, 20px);
	}

	#header .desktop-navigation__member > a {
		min-width: clamp(94px, 9.5vw, 120px);
		padding-inline: clamp(10px, 1.2vw, 16px);
	}
}

@media screen and (max-width: 930px) {
	#header .mobile-menu-button {
		position: relative;
		z-index: 1040;
		gap: 8px;
		width: 52px;
		height: 52px;
		transition: background-color 0.25s ease;
	}

	#header .mobile-menu-button span {
		width: 36px;
		height: 3px;
		transform-origin: center;
		transition:
			transform 0.3s ease,
			opacity 0.2s ease,
			background-color 0.25s ease;
	}

	#header .mobile-menu-button.is-active {
		position: fixed;
		top: 15px;
		right: 16px;
	}

	#header .mobile-menu-button.is-active span {
		position: absolute;
		top: 25px;
		left: 8px;
		background: #C01521;
	}

	#header .mobile-menu-button.is-active span:nth-child(1) {
		transform: rotate(45deg);
	}

	#header .mobile-menu-button.is-active span:nth-child(2) {
		opacity: 0;
		transform: scaleX(0);
	}

	#header .mobile-menu-button.is-active span:nth-child(3) {
		transform: rotate(-45deg);
	}

	#header .mobile-nav-close {
		display: none;
	}

	#header .mobile-navigation__member {
		background: linear-gradient(
			90deg,
			#FF926A 0%,
			#BF0000 49%,
			#BF0000 100%
		);
	}
}

/* PC navigation final spacing adjustment */
@media screen and (min-width: 768px) {
	#header .desktop-navigation__list {
		--desktop-nav-edge-space: clamp(32px, 3vw, 48px);
	}

	#header .desktop-navigation__item > a {
		font-size: clamp(1.4rem, 1.08vw, 1.65rem);
	}

	#header .desktop-navigation__item.header-product-menu {
		display: flex;
		align-items: center;
		padding-left: 0;
	}

	#header .desktop-navigation__item.header-product-menu::before {
		display: block;
		flex: 0 0 var(--desktop-nav-edge-space);
		width: var(--desktop-nav-edge-space);
		content: "";
	}

	#header .desktop-navigation__item--main-last {
		display: flex;
		align-items: center;
		padding-right: 0 !important;
	}

	#header .desktop-navigation__item--main-last::after {
		display: block;
		flex: 0 0 var(--desktop-nav-edge-space);
		width: var(--desktop-nav-edge-space);
		content: "";
	}
}

@media screen and (max-width: 1350px) and (min-width: 768px) {
	#header .desktop-navigation__item > a {
		font-size: clamp(1.15rem, 1.02vw, 1.4rem);
	}
}

@media screen and (min-width: 768px) and (max-width: 936px) {
	#header .site-header__logo img {
		width: min(57vw, 230px);
	}
}

@media screen and (max-width: 930px) {
	#header.site-header {
		position: sticky;
		top: 0;
		z-index: 1000;
	}
}

/* ==================================================
   Site footer
================================================== */
#footer.site-footer {
	min-width: 0;
	padding: 90px 0 0;
	background: #fff;
	color: #111;
	font-family: "Zen Maru Gothic", serif;
	overflow: hidden;
}

#footer .site-footer__inner {
	width: min(1200px, calc(100% - 40px));
	margin-inline: auto;
}

#footer .site-footer__main {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.8fr);
	gap: clamp(50px, 6vw, 90px);
	align-items: start;
}

#footer .site-footer__information {
	min-width: 0;
}

#footer .site-footer__logo {
	display: block;
	width: min(100%, 330px);
}

#footer .site-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
}

#footer .site-footer__organization {
	margin: 68px 0 0;
	color: #111;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.7;
}

#footer .site-footer__address {
	margin-top: 14px;
	color: #111;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.85;
}

#footer .site-footer__address p {
	margin: 0;
}

#footer .site-footer__address a {
	color: #111;
	text-decoration: none;
}

#footer .site-footer__address span {
	font-size: 1.3rem;
	white-space: nowrap;
}

#footer .site-footer__utility {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 13px;
	margin-top: 45px;
}

#footer .site-footer__utility > a {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.25s ease, opacity 0.25s ease;
}

#footer .site-footer__utility > .site-footer__member-link {
	    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 175px;
    min-height: 45px;
    margin-bottom: 4px;
    border-radius: 999px;
          background: linear-gradient(131deg, #FF926A 0%, #BF0000 49%, #BF0000 100%);
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
}

#footer .site-footer__utility > a:hover,
#footer .site-footer__utility > a:focus-visible {
	color: #C01521;
}

#footer .site-footer__utility > .site-footer__member-link:hover,
#footer .site-footer__utility > .site-footer__member-link:focus-visible {
	color: #fff;
	opacity: 0.8;
}

#footer .site-footer__navigation {
	min-width: 0;
	padding-top: 6px;
}

#footer .site-footer__primary-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 20px clamp(24px, 3vw, 46px);
}

#footer .site-footer__primary-nav a {
	color: #111;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.25s ease;
}

#footer .site-footer__primary-nav a:hover,
#footer .site-footer__primary-nav a:focus-visible,
#footer .site-footer__product-nav a:hover,
#footer .site-footer__product-nav a:focus-visible {
	color: #C01521;
}

#footer .site-footer__product-nav {
	margin-top: 75px;
}

#footer .site-footer__product-title {
	display: inline-block;
	color: #111;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}

#footer .site-footer__category-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(180px, 1fr));
	grid-template-rows: repeat(6, auto);
	grid-auto-flow: column;
	gap: 18px 42px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

#footer .site-footer__category-list li {
	margin: 0;
}

#footer .site-footer__category-list a {
	color: #111;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.25s ease;
}

#footer .site-footer__town {
	width: min(100%, 1200px);
	margin: 28px auto 0;
}

#footer .site-footer__town img {
	display: block;
	width: 100%;
	height: auto;
}

#footer .site-footer__copyright {
	padding: 25px 16px 28px;
	color: #111;
	text-align: center;
}

#footer .site-footer__copyright small {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	#footer.site-footer {
		min-width: 0;
		padding-top: 65px;
	}

	#footer .site-footer__inner {
		width: auto;
		margin-right: 20px;
		margin-left: 20px;
	}

	#footer .site-footer__main {
		display: flex;
		flex-direction: column;
	}

	#footer .site-footer__navigation {
		order: 1;
		margin-top: 0;
	}

	#footer .site-footer__information {
		order: 2;
	        margin: 0px auto 0;
	}

	#footer .site-footer__logo {
		width: min(100%, 250px);
		margin-inline: auto;
	}

	#footer .site-footer__organization {
		margin-top: 42px;
		font-size: 1.5rem;
		text-align: center;
	}

	#footer .site-footer__address {
		margin-top: 12px;
		font-size: 1.4rem;
		text-align: center;
	}

	#footer .site-footer__address span {
		display: block;
		font-size: 1.2rem;
	}

	#footer .site-footer__utility {
		align-items: center;
		margin-top: 35px;
	}

	#footer .site-footer__utility > .site-footer__member-link {
		width: min(100%, 220px);
	}

	#footer .site-footer__navigation {
		padding-top: 0;
	}

	#footer .site-footer__primary-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 20px;
	}

	#footer .site-footer__primary-nav a {
		font-size: 1.4rem;
		white-space: normal;
	}

	#footer .site-footer__product-nav {
		margin-top: 48px;
	}

	#footer .site-footer__category-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: repeat(6, auto);
		grid-auto-flow: column;
		gap: 14px 20px;
		margin-top: 20px;
	}

	#footer .site-footer__category-list a {
		font-size: 1.35rem;
	}

	#footer .site-footer__town {
		width: calc(100% + 40px);
		margin-top: 42px;
		margin-left: -20px;
	}

	#footer .site-footer__copyright {
		padding: 20px 8px 24px;
	}
}


@media screen and (max-width: 767px) {
	#main{
		margin-bottom:0;
	}
.mainimg img{
	width:100%;
}

.mainimg{
	position:relative;
}

.index_main #infolist{
    right: 0;
    bottom: 0;
    height: 85px;
    background-color: #fff;
    justify-content: space-between;
    align-items: center;
    padding: 0 25px;
    color: #292929;
    font-size: 16px;
    margin: 10px 0;
	        position: inherit;
        width: auto;
}
.index_main #infolist .btn_box{
	text-align:right;
}
.index_main #infolist a{
	color:#292929;
}

  .fixed-button {
            position: fixed;
            bottom: 20px;  /* 画面下からの距離 */
            right: 20px;   /* 画面右からの距離 */
            padding: 10px 35px;
           background: rgb(180,38,38);
background: linear-gradient(90deg, rgba(180,38,38,1) 0%, rgba(237,14,14,1) 100%);
	  box-shadow: 2px 2px 3px 0px #d5d5d5;
            color: white;
            border: none;
            border-radius: 30px;
            cursor: pointer;
            font-size: 16px;
	  z-index:100;
        }


#index_hanga{
	    padding: 0px 10px;
	margin-top:50px;
}



.title_about{
      background-image: url(images/index_aboutbg.png);
    background-size: cover;
    background-position: bottom;
    height: 166px;
    padding: 10px 0;
    background-repeat: no-repeat;
    margin-bottom: 120px;
    margin-top: 50px;
}

.title_about .container{
	position:relative;
}

.hata{
	     width: 48vw;
    max-width: 200px;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.title_type_about{
        writing-mode: vertical-rl;
        background: #C01521;
        color: #fff;
        padding: 15px 4px;
        font-size: 30px;
        margin-top: 20px;
        font-weight: 600;
        letter-spacing: 7.2px;
        height: 216px;
}

.title_type_about_en{
       position: absolute;
           left: 0px;
        top: 220px;
    font-size: 18px;
    color: #C01521;
    font-weight: 600;
}

#index_about p{
	font-size:18px;
	line-height:1.8;
}


.btn_type01{
	background-color: #C01521;
    padding: 10px 0;
    display: block;
    font-size: 17px;
    font-weight: 700;
    position: relative;
    color: #fff;
    text-align: center;
    border-radius: 13px;
    margin-top: 10px;
    box-shadow: 0px 8px 0px 0px #e8bfc1;
    width: 250px;
	position:relative;
	
}


#index_about a{
    margin: 35px auto 0;
}


.btn_type01 i{
    font-size: 20px;
    margin-left: 10px;
    position: absolute;
    right: 20px;
	top:12px;
}

#index_item {
	margin-top: 70px;
	margin-bottom: 45px;
}

.index-item__main {
	padding-top: 65px;
}

.index-item__logo-box {
	width: calc(100% - 60px);
	max-width: 360px;
	min-height: 80px;
	padding: 14px 28px;
	border-radius: 8px;
}

.index-item__logo {
	width: min(240px, 100%);
}

#index_item .index_item_slide .slick-slide a {
	height: 150px;
}

.index-item__content {
	min-height: 0;
	padding: 30px 0 0px;
}

.index-item__content .container {
	min-height: 0;
}

.index-item__description {
	width: auto;
	padding: 0 20px;
}

#index_item .index-item__lead {
	max-width: none;
	font-size: 1.8rem;
	line-height: 1.7;
}

.index-item__lead .pc-only {
	display: none;
}

.index-item__button {
	width: min(280px, 100%);
	min-height: 60px;
	margin: 28px auto 0 0;
	font-size: 1.6rem;
}

.index-item__shopping {
        width: 100px;
        max-width: none;
        position: relative;
        margin: 0 0 0 auto;
        display: block;
        bottom: auto;
}

#index_gift{
    background-image: url(images/index_giftbg.png);
    background-size: inherit;
    background-position: center;
    padding: 70px 0;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}
#index_gift .container{
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0px 3px 6px 0px #d1d1d1;
    padding: 30px;
    box-sizing: border-box;
    position: relative;
}
#index_gift .flex{
    display: inline;
}

#index_gift .flex a{
	    border: solid 1px #e7e7e7;
}

.kikan{
    width: 200px;
    position: absolute;
    top: -37px;
}

#index_gift h2{
	    font-size: 32px;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 20px;
}
.gift_left{
	margin-bottom:30px;
}

#index_special .container{
	background:#EEEEEE;
	border-radius:30px;
	    padding-bottom: 1px;
}
#index_special .flex{
display: inline;
}
.index_special_contents{
background-color: #fff;
    border: solid 5px #53A127;
    margin: 0 auto;
    padding: 15px 20px 98px;
    box-sizing: border-box;
    position: relative;
    margin: 15px;
	width:auto;
}
.index_special_txt{
width:auto;
}
.index_special_img{
    position: relative;
    margin-top: 30px;
}
.index_special_contents h3{
    color: #fff;
    background-image: url(images/syouhin_title.png);
    background-size: cover;
    background-position: center;
    padding: 9px 50px;
    background-repeat: no-repeat;
    margin-bottom: 20px;
    font-size: 28px;
    position: absolute;
    left: -5px;
    top: -35px;
    border-radius: 9px;
    text-align: center;
}
.index_special_contents h4{
	color:#38874B;
	font-weight:600;
font-size: 25px;
    margin-top: 35px;
	margin-bottom:25px;
}
.pin{
	height:25px;
	margin-right:10px;
}

.index_shop_name{
	font-size: 14px;
	font-weight:400;
	    line-height: 1.8;
}
.index_special_contents p{
 text-decoration: underline dotted #B2B2B5;
    -webkit-text-decoration: underline dotted #B2B2B5; /* Safari用 */
    line-height: 2;
    font-size: 16px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.special_eye01{
 transform:rotate(4deg); 
 box-shadow:19px 18px 10px -1px #d1d1d1;
	    width: 76vw;
}
.special_eye02{
       width: 90px;
    transform: rotate(-5deg);
    box-shadow: 19px 18px 10px -1px #d1d1d1;
    border: solid 6px #fff;
    position: absolute;
            left: 0px;
        top: -25px;
}

.btn_type02{
text-align: left;
    margin: 0 0 0 auto;
    display: block;
    width: 150px;
    border-bottom: solid 1px;
    padding-bottom: 8px;
    color: black;
    padding: 8px;
    position: relative;
}
.btn_type02 i{
	    font-size: 18px;
    margin-left: 10px;
    position: absolute;
    right: 20px;
	top:10px;
}
.kangaeru{
position: absolute;
    width: 90px;
    left: 34px;
    bottom: -24px;
}
#index_special .btn_type01{
	background:#53A127;
	    box-shadow: 0px 8px 0px 0px #f7f7f7;
	    margin: 50px auto;
}
#index_application{
	margin-top:80px;
}
#index_application .btn_type01{
	 margin: 50px auto;
}

#index_storecard{
	background-image: url(images/other_bg.jpg);
    background-size: cover;
    background-position: center;
    padding: 75px 0;
    background-repeat: no-repeat;
    margin-bottom: 20px;
}
.other_contents{
background: #fff;
    border-radius: 0 100px 0 0;
    border: solid 1px #C01521;
    padding: 30px;
    width: 77vw;
}

.other_contents:last-child{
	background:#fff;
	border-radius:90px 0 0 0;
	border:solid 1px #C01521;
	         padding: 39px 16px;
    width: 92vw;
	margin: 25px 0 0 auto;
}

.other_contents h2{
	font-size:30px;
	color:#C01521;
	font-weight:600;
	margin-bottom:20px;
}
.other_contents p{
    background: #2B2B2B;
    color: #fff;
    font-size: 16px;
    display: inline;
    padding: 2px 10px;
}
.other_contents .flex{
display:inline;
}

#order_btn{
	margin-top:50px;
}
#order_btn a{
      color: #050505;
    font-weight: bold;
    background-color: #D8D8D8;
    border: solid 1px #D1D1D1;
    height: 80px;
    display: block;
    margin: 0px auto 30px;
    text-align: center;
    font-size: 18px;
    position: relative;
	width:auto;
}

#order_btn a div img{
    position: absolute;
    top: 50%;
    left: 60px;
    /* transform: translate(-50%, -50%); */
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	    width: 30px;
}
#order_btn a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#order_btn a::after {
       content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 10px;
    height: 10px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg);
}

#about{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:80px;
}

#about p{
	margin-left:50px;
	line-height:2;
}

#category{
	margin-top:50px;
}

#category ul{
display:flex;
	flex-wrap:wrap;
	margin:0px 0 30px;
}
#category ul li{

	margin-right:1.7vw;
	margin-bottom:10px;
}
#category ul li:nth-child(2n){
	margin-right:0px;
}
#category ul li a{
    width: 45vw;
    height: 35px;
    display: block !important;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    position: relative;
    background: #fff;
	    line-height: 1;
}
#category ul li a span{
	  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	    width: inherit;
}


.cat_sweets{
	color:#E0619E;
}
.cat_food{color:#E07A35;}
.cat_drink{color:#2B3A8A;}
.cat_fashion{color:#C22672;}
.cat_dailygoods{color:#6A9946;}
.cat_stationery{color:#2A5798;}
.cat_cosmetics{color:#EA2A5E;}
.cat_sports{color:#25783D;}
.cat_instrument{color:#53AFB3;}
.cat_interior{color:#A35A38;}
.cat_buddhist{color:#6A3274;}
.cat_others{color:#6F6F6F;
}


#index_form{
    background-color: #FCFCFC;
    border: solid 1px #D8D8D8;
    margin: 70px 0;
    padding: 40px;
    display: flex;
    justify-content: space-around;
}
#index_form div{
	flex:5;
	    text-align: center;
}
#index_form .index_form_wrapper{
	padding:20px 0;
}
#index_form .index_form_wrapper:first-child{
    border-right: solid 1px #D8D8D8;
}
.title_type02{
	display:block;
	    font-size: 17px;
}

.title_type02 span{
	display:block;
	font-size: 14px;
    font-family: 'Roboto Condensed', sans-serif;
    color: #2B2B2B;
	margin-top:5px;
	    text-align: center;
}
/*
.btn_type02{
    background-color: #fff;
    position: relative;
    border: solid 1px #C01521;
    color: #2B2B2B;
    padding: 12px 0;
    width: 300px;
    display: block;
    margin: 20px auto 0;

}

.btn_type02::after {
       content: "";
    position: absolute;
    top: 43%;
    right: 25px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}
*/

/* waypoints */
.fadeInUp {
    -webkit-animation: fadeInUp 1s cubic-bezier(.55,0,.1,1) both;
    animation: fadeInUp 1s cubic-bezier(.55,0,.1,1) both;
}
@-webkit-keyframes fadeInUp { from{ opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }}
@keyframes fadeInUp { from{ opacity: 0; -webkit-transform: translateY(8px); transform: translateY(8px); }}
.delay-02s {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}
.delay-05s {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}
.delay-1s {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}


/* turn */
.turner{
animation-name: turnY;
animation-duration: 2s;
animation-iteration-count: 1;
-webkit-animation-name: turnY;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
}

@-webkit-keyframes turnY{
0%{-webkit-transform: rotateY(0deg);}
100%{-webkit-transform: rotateY(360deg);}
}
@keyframes turnY{
0%{transform: rotateY(0deg);}
100%{transform: rotateY(360deg);}
}


#index_order{
	margin-top:80px;
}
#index_order a{
    color: #050505;
    font-weight: bold;
    background-color: #F8F8F8;
    border: solid 1px #D1D1D1;
    width: 615px;
    height: 135px;
    display: block;
    margin: 30px auto 80px;
    text-align: center;
    font-size: 25px;
    position: relative;
}

#index_order a div img{
    position: absolute;
    top: 50%;
    left: 73px;
    /* transform: translate(-50%, -50%); */
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#index_order a span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#index_order a::after {
       content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 15px;
    height: 15px;
    border-right: 1px solid #C01521;
    border-bottom: 1px solid #C01521;
    transform: rotate(-45deg);
}


.gray_wrapper{
	background: #F5F5F5;
    border-radius: 45px 0 0 0;
    padding: 10px 0 25px;
    margin-top: 40px;
}

#item ul,#store ul{
grid-template-columns: repeat(2, minmax(0, 1fr));
	        gap: 10px 10px;
}

#item ul li,#store ul li{
	width: auto;
        min-width: 0;
        margin: 0;
    margin-bottom: 20px;
    background: #fff;
    border-radius: 15px;
}
#item ul li img,#store ul li img{
	 border-radius: 15px 15px 0 0;
}
#item ul li:nth-child(2n),#store ul li:nth-child(2n){
	margin-right:0;
}
	
#item ul li:nth-child(3n), #store ul li:nth-child(3n) {
    margin-right: auto;
}	
	
#item ul li a,#store ul li a{
   color:#050505;
}
.txt_wrapper{
padding: 15px;
}

#item .catch{
	
}
#item .product_name{
	margin:5px 0;
	font-size:16px;
	font-weight:bold;
}
#item .category_type{
		margin:0 0 5px;
	font-size:13px;
	font-weight:bold;
}
#item .item_name{
			margin:0 0 8px;
	font-size:13px;
}

#item .shop_name{
			margin:0 0 8px;
	font-size:12px;
}

#item .price{
	text-align:right;
	font-weight:bold;
		font-size:15px;
}

#item .price span{
	font-weight:normal;
		font-size:12px;
}




#store .affiliation_type{
	
}
#store .shop_name{
		margin:3px 0 7px;
	font-size:16px;
	font-weight:bold;
}
#store .address{
			margin:3px 0 7px;
}
#store .tel{
	
}
#store ul{
	margin-top:30px;
}

/*商品詳細*/
.product_single .gray_wrapper{
	margin-top:0;
	overflow:hidden;
}

.product_flex{
    margin-top: 40px;
	display:block;
}

#product_main{
	margin-bottom:20px;
	
}
#product_main .slick-slide img{
	margin:0 auto;

}

#product_nav .slick-slide{
	
  margin: 0 0px;

}

#product_main .slick-slider {
    width: 100%; /* スライダーコンテナの幅を100%に */
}
#product_main .slick-slide img {
    width: 100%; /* 画像の幅をスライダーコンテナに合わせる */
    height: auto; /* 縦横比を保つ */
	max-height:auto;
}


#product_nav .slick-slide:nth-child(2){
    
}

.slick-slide {
	
}



#product_nav .slick-track{
    margin: auto;
    display: flex;
    justify-content: space-between;
}

.product_slider{
margin-top: 60px
	
}
#product_nav .slick-initialized .slick-slide{
		border: solid 1px #D8D8D8;
}

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

.product_main{
width:auto;
}

.product_main .catch{
	
}
.product_main .product_name{
	font-weight: bold;
    font-size: 18px;
    margin: 6px 0;
	    border-bottom: solid 1px;
    padding-bottom: 8px;
    margin-bottom: 15px;
}
.product_main .category_type{
		font-weight: bold;
	margin-bottom:2px;
}
.product_main .item_name{
	
}
.product_main .price{
	margin:20px 0;
	font-weight:bold;
font-size: 18px;
    color: #C01521;
}
.product_main .price span{
		font-weight:normal;
	font-size:14px;
}

.gift,.noshi,.haisou{
	line-height:1.8;
}
			
.product_main .product_text{
	margin:40px 0;
}	
.product_txt h3{
	font-weight:bold;
	margin-bottom:10px;
}
.product_txt{
    padding-bottom: 0px;
      margin-top: 30px;
}
.osusume{
	margin-top:30px;
}
.osusume img{
	border: solid 1px #D8D8D8;
    width: 250px;
    height: auto;
	margin-top:10px;
}

.special_link_warapper{
	margin-top:30px;
}

.product_single .special_link {
 
    display: block;
}
.special_link_txt{
    background-color: #3c9947;
    padding: 10px 20px;
    color: #ffffff;
    font-weight: 700;
    font-size: 17px;
    border-top: solid 2px #2b6320;
 border-bottom: solid 2px #2b6320;
}
.special_link_txt i{
	margin-left:10px;
}
.shop_about_wrapper{
	padding:35px 0;
	  border-top: solid 1px #C4C4C4;
	   border-bottom: solid 1px #C4C4C4;
	    margin-top: 40px;
}
.shop_about_wrapper h3{
	font-weight:bold;
	margin-bottom:3px;
}
.shop_about_wrapper div{
	margin-bottom:15px;
}

.shop_link{
       position: relative;
    overflow: hidden;
    text-decoration: none;
    display: block;
    padding: 13px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background-color: #fff;
    color: #D92626;
    border: solid 1px #D92626;
    font-size: 16px;
    margin-top: 20px;
	width:auto;
}

.shop_link::after {
	content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #D92626;
    border-bottom: 1px solid #D92626;
    transform: rotate(-45deg);
}


.link_order{
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 13px 0px;
    text-align: center;
    outline: none;
    transition: ease .2s;
    background-color: #D92626;
    color: #fff;
    width: 100%;
    font-size: 16px;
	margin-bottom:10px;
	margin-top: 30px;
}

/*ボタン内spanの形状*/
.link_order span {
  position: relative;
  z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}

.link_order:hover span{
  color:#fff;
}

/*== 背景が流れる（斜め） */
.link_order::before {
  content: '';
    /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -130%;
    /*色や形状*/
  background:#333;
  width:120%;
  height: 101%;
  transform: skewX(-25deg);
}
.link_order::after {
	content: "";
    position: absolute;
    top: 44%;
    right: 35px;
    width: 7px;
    height: 7px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
}
/*hoverした時のアニメーション*/
.link_order:hover::before {
  animation: skewanime .5s forwards;/*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left:-10%;/*画面の見えていない左から右へ移動する終了地点*/
  }
}

.link_guide{
	background:#D8D8D8;
color:#454545;
    overflow: hidden;
    text-decoration: none;
    display: inline-block;
    padding: 13px 0px;
    text-align: center;
    width: 100%;
    font-size: 16px;
    margin-bottom: 10px;
}
.link_guide img{
	width:25px;
	height:25px;
	margin-right:15px;
}

.special_link{

}

.title_type03 {
position: relative;
    padding: 0 63px;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #C01521;
    display: table;
}

.title_type03:before, .title_type03:after {
  content: '';
  position: absolute;
  top: 50%;
  width: 45px;
  height: 2px;
  background-color: black;
}

.title_type03:before {
  left:0;
}
.title_type03:after {
  right: 0;
}

.link_all{
text-align: left;
    display: block;
    color: #050505;
    margin-top: 20px;
    margin-bottom: -33px;
}

.title_type04{
	    margin-bottom: 30px;
	margin-top:30px;
  color: #C01521;
  text-align: center;
  padding:10px 0;
	font-size:18px;
	font-weight:bold;
  border-top: solid 2px #C01521;
  border-bottom: solid 2px #C01521;
  background: -webkit-repeating-linear-gradient(-45deg, #fff0f8, #fff0f8 3px,#ffe9e9 3px, #ffe9e9 7px);
  background: repeating-linear-gradient(-45deg, #fff0f8, #fff0f8 3px,#ffe9e9 3px, #ffe9e9 7px);
}
.shop .gray_wrapper{

}
.archive-shop .gray_wrapper{
	margin-top:30px;
}

.shop_main h1{
	background-color: #F5D7D7;
    padding: 10px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    border-radius: 10px;
    margin-top: 50px;
}

.shop_about{
	margin: 50px 0;
	display:block;
}
.shop_about img{

	border-radius:10px;
}
.shop_about table{
    width: 100%;
    margin-top: 20px;
}
.shop_about tr{
	border-bottom:solid 1px #AFAFAF;
	position:relative;
	
}
.shop_about tr:before{
	    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #C01521;
    bottom: -2px;
    width: 30px;
}

.shop_about th{
text-align: left;
    width: 100px;
    font-weight: 600;
	padding: 15px 0 10px;
	font-size:16px;
}

.shop_about td{
	padding: 15px 0 10px;
}
.shop_single h2{
	  font-weight: 600;
	font-size:16px;
		border-bottom:solid 1px #AFAFAF;
	position:relative;
		padding: 0px 0 10px;
	margin-bottom:20px;
}

.shop_single h2:before{
	    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #C01521;
    bottom: -2px;
    width: 30px;
}
.item_shop{
	margin-top:50px;
}
.single_shop h1{
	    font-weight: bold;
    font-size: 23px;
}

.single_shop .shop_main{
	display:flex;
	margin-bottom:50px;
	margin-top: 50px;
}
.shop_main .shop_01 img{
	border: solid 1px #D8D8D8;
    width: 250px;
    height: auto;
    margin-top: 20px;
}
.shop_main .shop_01,.shop_main .shop_02{
	flex:5;
}

.shop_main .shop_02 th,.shop_main .shop_02 td{
	padding:10px 20px;
}
.shop_main .shop_02 th{
	text-align:left;
	font-weight:bold;
	color:#C01521;
}
.shop_02 a{
	color:#000;
}
.shop_02 a .fas{margin-left:5px;}

.gmap iframe{
	width:100%;
}
.single_shop #item{
	margin-top:50px;
	    margin-bottom: 50px;
}

.affiliation .title_type04{
	margin-top:30px;
}
.shop_nav{
	margin-top: 30px;
}
.menu_btn{
	cursor: pointer;
	margin-bottom:50px;
}

.menu_btn:hover{
	opacity:0.7;
	
}
.toggle_contents .menuarea{
	margin:0px;
}

.toggle_contents ul {
	display: none;
	padding: 10px;
    border: solid 1px #a9a9a9;
	    background: #fff;
}
.link_all02{
		color:#000;
	display:block;
	margin-bottom:5px;
}
.toggle_contents ul a{
	color:#000;
}
.toggle_btn{
    border: solid 1px #a9a9a9;
    padding: 5px 15px;
    font-size: 16px;
	cursor: pointer;
	    background-color: #fff;
}

.toggle_contents ul li{
	line-height:1.8;
}



.wp-pagenavi {/* 全体 */
    margin: 20px 0;
    font-size: 12px;
}
.wp-pagenavi a {/* フォント色 */
    color: #4a4a4a;
}
.pages {/* 左の表記 */
    margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
    margin: 0 6px 6px 0;
    display: inline-block;
    border: solid 1px #eee;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
	    background-color: #fff;
}
.wp-pagenavi .current {/* カレント数字 */
    border: none;
    background: #C01521;
    color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #B50612;
    color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
    display: none;
}


/*info*/
.info #newslist{
	margin-top:50px;
}

.info #newslist li{
	margin-bottom:20px;
}

.info #newslist li a{
background-color: #FFF2F2;
    border-radius: 13px;
    display: block;
    padding: 15px 30px;
}
.info #newslist .time{
	color:#868686;
}

.info #newslist .title{
	color:#000000;
	font-size: 16px;
}

.single_post{
    margin: 50px 0;
	display:block;
}

.second_main{
	   width:auto;
}
.news_wrapper .time{
	color:#575757;
}

.news_wrapper h2{
	color:#000000;
	font-size:22px;
	    border-bottom: solid 1px #C01521;
    padding-bottom: 8px;
    margin-bottom: 15px;
}

.news_wrapper p{
	font-size:16px;
	line-height:1.8;
}

.other_post h2{
	color:#C01521;
	margin:0 10px 15px;
	font-size:18px;
}
.info #newslist.other_post{
	margin-top: 40px;
	width:auto;
}

.btn_type05{
	    margin-left: auto;
    display: block;
    width: max-content;
    color: #000000;
}

/*privacy*/
.n_privacy h3{
	font-size: 16px;
	color: #D92626;
	margin-bottom: 10px;
	font-weight: bold;
	margin-top:30px;
}

.n_privacy p{
	font-size: 1.4rem;
	color: #464646;
}

.p_txt,.n_privacy li{
	margin-bottom: 40px;
}

.notfound{
	padding:50px 0;
	text-align:center;
	line-height:2;
}

.notfound h1{
	font-size:16px;
}

.notfound p{
		font-size:18px;
}

.notfound a{
		font-size:20px;
}

/*フォーム*/

/*コンタクトフォーム*/
.contact h2{
	    background-color: #fcffcb;
    display: block;
    padding: 10px 15px;
    font-size: 16px;
    margin-bottom: 20px;
}

.contact .min-container{
	margin:30px 10px;
}

.contact .container{
	margin-bottom:50px;
}

.attention{
	margin-bottom:50px;
	margin-top: 30px;
}

.contact h1 {

}


.form_contents p{
color: #464646;
	margin-top: 3px;
}

.mw_wp_form .error {
	font-size: 16px !important;
    color: #B70000;
    display: block;
    font-weight: bold;
}

.form textarea,
.form input[type=text],
.form input[type=email],
.mwform-zip-field input[type="text"] ,
.form input[type="url"] ,
.form input[type="tel"] 
{
    color: #333;
    border: 0px solid #cecece;
    background-color: #F2EFEA;
    font-size: 16px;
    padding: 0.5em;
    border-radius: 5px;
}


.form input[type=text],
.form input[type=email],
.form input[type="url"],
.form textarea
{
	max-width:93%;
}

.form select{
	  color: #333;
	   background-color: #F2EFEA;
    font-size: 15px;
    padding: 0.5em;
    border-radius: 5px;
	   border: 0px solid;
}

.mwform-checkbox-field input {
      margin: 0px;
	  width: 20px;
    height: 20px;
    vertical-align: middle;
	  background-color: #F2EFEA;
	border: solid 0px;
	  border-radius: 5px;
	float: left;
	    position: absolute;
    left: 34%;
}

.mwform-checkbox-field-text{
 
    display: block;
    height: 40px;
      text-align: center;
}

.form_doui{
	margin-top:10px;
}
.confirm .privacy_mes{
	display:none;
}
.privacy_mes a{
	text-decoration:underline;
}

.confirm .remarks{
		display:none;
}

.adnum{
	margin-bottom:10px;
}
.input_middle p{
	margin-left:0;
}
.form textarea {
	
	 /*   height: 150px;*/
}

.form_soushin{
	display:flex;
	    margin: 20px auto 40px;
}

.form_soushin input{
-webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    color: #fff;
    border: 0px solid #0075B6;
    background: #938369;
    padding: 15px 20px;
    width: 300px;
    box-sizing: border-box;
    font-size: 16px;
    text-align: center;
    position: relative;
    font-weight: 400;
    letter-spacing: 3px;
    margin: 20px auto;
    display: block;
}


.form_soushin input:hover{
    background: #980A27;
    text-decoration: none;
	cursor:pointer;
}

.contact .linker_type02 a{
	    display: block;
    font-weight: bold;
    color: #0075B6;
    font-size: 17px;
	padding: 15px 40px;
	border: solid 2px #0075B6;
    box-shadow: 3px 3px 0 #FFF100;
    background: #fff;
    width: 220px;
    margin: 30px auto;
    text-align: center;
	position:initial;
}

.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0px!important;
}
.entry_txt{
	    text-align: center;
    margin-top: 20px;
}

.text{
	font-size: 15px;
	color: #464646;
	    line-height: 1.8;
	margin-top: 20px;
}

.bikou{
	margin: 50px 0;
}

.bikou h3{
	color: #FF0000;
	font-size: 15px;
	font-weight: bold;
}
.bikou p{

}

.bikou li{
	    margin-bottom: 20px;
    line-height: 1.8;
}

.form_contents{
	margin-top: 20px;
	margin-bottom: 40px;
}
.form_a{
	color: #464646;
	font-weight: bold;
	font-size: 15px;
	margin-bottom: 7px;
}
.hissu{
	background-color: #FF0000;
    color: #fff;
    padding: 2px;
    margin-left: 20px;
    font-size: 14px;
	font-weight: normal;
}
.rlt{
	position: relative;
}


.post{
	margin-bottom: 10px;
}


.size{
	margin-right: 45px;
}

.que{
	background-color: #FF6767;
	color: #fff;
	border-radius: 18px;
	padding: 20px 50px;
	box-sizing: border-box;
	    line-height: 1.8;
	margin-top: 40px;
	margin-bottom: 80px;
}
.que a{
	color: #fff;
}

.privacy_mes{
	text-align: center;
	    margin-bottom: 10px;
}

.form .abs01{
		    position: absolute;
    top: 6px;
    left: 175px;
	}

.confirm .conflex{
	display:flex;
}

.n_privacy h3{
	font-size: 16px;
	color: #D92626;
	margin-bottom: 10px;
	font-weight: bold;
}

.n_privacy p{
	font-size: 1.4rem;
	color: #464646;
}

.p_txt,.n_privacy li{
	margin-bottom: 40px;
}

.s_gray{
	font-size: 11px;
   color: #666666;
}

.min-container{
margin: 0 10px;
	width:auto;
}
	.ng_form .min-container{
	
}

	.form_c{
		margin-top: 20px;
	}
	.flex{
	display:flex;
}
	.form .abs02{
		    position: absolute;
    top: 26px;
    left: 72px;
	}
	.form .abs03{
		    position: absolute;
    top: 26px;
    left: 72px;
	}
	
.form.confirm .abs01,.form.confirm .abs02,.form.confirm .abs03{
	    position: initial;
}

	.confirm .title_type_01,.complete .title_type_01{
	font-size:28px;
}


.form .conpri{
	display: none;
}

.form.confirm .conpri{
	display: initial;
}

.shimekiri{
	    text-align: center;
    color: #FF0000;
    font-size: 21px;
    text-decoration: underline;
    margin-bottom: 34px;
    margin-top: 37px;
	font-weight: bold;
}

.web_btn{
text-align: center;
    background-color: #d02b2b;
    padding: 15px;
    font-size: 20px;
    display: table;
    margin: 0 auto;
    width: 292px;
    color: #fff;
    font-weight: bold;
}
.link_txt{
margin: 30px auto;
    border: solid 1px red;
    padding: 10px;
    width: 700px;
    text-align: center;
}

.aisatu{
	font-size:15px;
	margin-bottom:30px;
}
.front h2{
	margin-top: 30px;
    font-size: 18px;
    margin-bottom: 10px;
}


/*日専連冊子*/
.web_btn{
text-align: center;
    background-color: #d02b2b;
    padding: 15px;
    font-size: 20px;
    display: table;
    margin: 0 auto;
    width: 292px;
    color: #fff;
    font-weight: bold;
}

.sample{
	    font-size: 29px;
    color: #FF0505;
    font-weight: bold;
    margin: 27px 0 5px;
}

.number{
	    background-color: #E5194E;
    color: #fff;
    padding: 3px 6px;
    margin-right: 10px;
    font-size: 14px;
}
.confirm .number,.confirm .image_input{
	display:none;
}



.image{
	font-weight:bold;
}

.flex_form{
	    display: flex;
    align-items: baseline;
    margin-top: 15px;
}

.ampm{
	margin-right:20px;
}
.mt{
	margin-top:20px;
}
.last_n{
	margin-right:10px;
}

.gift .mwform-checkbox-field input {
	float:initial;
    position:initial;
    left:initial;
	    margin-right: 0px;
}

.gift .mwform-checkbox-field-text{
	display:initial;
}

.mwform-checkbox-field.horizontal-item{
	margin-right:10px;
}


.gift_title01{
	    margin: 50px auto;
    text-align: center;
}

.gift_title02{
	text-align: center;
    background-color: #D92626;
    padding: 10px 5px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    border-radius: 7px;
}

.gift.form h3,.confirm.gift h3{
	border-bottom: solid 2px #D92626;
    padding-bottom: 5px;
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 30px;
}

.gift.form .txt{
	margin-bottom: 40px;
}

.confirm.gift h2,.thanks.gift h2{
	margin-top:30px;
}
.confirm.gift .txt,.thanks.gift .txt{
    margin: 30px 0;
}


.menu_btn:hover{
	opacity:0.7;
	
}
.toggle_contents .form_input{
	margin:0px;
}

.form .toggle_contents .form_input{
	display: none;
}

.open_btn {
	    cursor: pointer;
    border: solid 2px;
    padding: 12px 40px;
    display: table;
    margin: 30px auto;
    color: #4b4948;
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: bold;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
.open_btn:hover{
	background-color: #4b4948;
	color:#fff;
	 border: solid 2px #4b4948;
}

.otodoke{
	font-size: 16px;
    background-color: #ffe2e2;
    padding: 5px;
    font-weight: bold;
    border-radius: 3px;
}

h5{
	    font-size: 18px;
    font-weight: bold;
    border-top: dotted 1px;
    padding-top: 8px;
}

.form_bikou{
font-weight:normal;
	font-size:14px;
}

.toggle_contents{
	
}

.open_txt{
	font-size:16px;
}

.gift .privacy_mes{
	text-align:left;
}

.fukusu{
	padding:30px 0 50px;
}

.confirm .none_02{
	display:none;
}

.error{
	    font-size: 16px !important;
    color: #B70000;
    display: block;
    font-weight: bold;
}

.form_bikou span{
	font-weight:bold;
	font-size:18px;
}

.cyuui{
		font-weight:bold;
	font-size:18px;
}

.none_02 span{
			font-weight:bold;
	font-size:18px;
	    display: block;
}

.confirm.gift .txt span{
			font-weight:bold;
	font-size:18px;
	color:red;
}

.syubetsu .mwform-checkbox-field-text {
    display:initial;
    height: auto;
    text-align: left;
	margin-left: 10px;
}

.syubetsu .mwform-checkbox-field input {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    background-color: #F2EFEA;
    border: solid 0px;
    border-radius: 5px;
    float: left;
    position:initial;
  
}

.form-group{
	margin-bottom:10px;
	
}
.gift_name{
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0;
}

.same{
	margin:20px 0;
		font-size:18px;
}

.same p.none_02{
	    margin: 0px 0 20px;
    background-color: yellow;
	font-weight:bold;
	font-size:16px;
}

.form .none_01{
	display:none;
}
.none_01{
    color: red!important;
}

.noside .min-container{
	margin-top:40px;
}

.title_type_05{
   background-color: #D92626;
    color: #fff;
    border-radius: 16px;
    text-align: center;
    padding: 5px;
    box-sizing: border-box;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
}

/*ご注文方法*/
.orderguide ul{
	margin-top:50px;
}
.orderguide li{
	margin-bottom:40px;
}
.title_type06 {
     background-color: #D7F5DA;
    padding: 15px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    border-radius: 10px;
    margin: 50px 0 30px;
}



.title_type07{
    padding: 0.25em 0.5em;
    color: #464646;
    background: transparent;
    border-left: solid 5px #74CBA8;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
}

.order_wrapper{
	margin-bottom:20px;
}
.deadline{
    color: #AB1409;
    font-weight: bold;
    font-size: 18px;
    margin: 24px 0;
}

.order_contact{
	      padding: 30px;
    background: #fff;
    border-radius: 15px;
    margin: 50px 0;
}

.order_contact h3{
	font-weight:bold;
	font-size:16px;
}

.deadline_index{
    color: #AB1409;
    font-weight: bold;
    font-size: 18px;
    margin-top: 24px;
}

.second header{
	    height: 200px;
    width: 95vw;
    margin: 0 auto;
    margin-top: 60px;
    border-radius: 25px;
}
.about header{
	background: url(images/nissennren_bg.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.product header{
	background: url(images/product_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}

.shop header{
	background: url(images/shop_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.info header{
	background: url(images/info_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}
.guide header{
	background: url(images/guide_title.jpg) no-repeat center center;
    background-size: cover;
		position:relative;
}



.about h2{
    width: 160px;
    background-color: #C01521;
    color: #fff;
    border-radius: 22px;
    font-size: 20px;
    text-align: center;
    padding: 3px;
}


.rinen{
	background-color: #FFEBEB;
    border: solid 1px #D92626;
    padding: 20px 20px;
    border-radius: 18px;
    line-height: 2;
    font-size: 14px;
    margin-top: 35px;
}

.ryakusyo{
color: #C01521;
    font-weight: 600;
    font-size: 18px;
    margin: 40px 0;
}
.about section{
	margin-bottom:80px;
}
.about .flex{
	display: inherit;
}

.about .flex p{
    font-size: 16px;
    line-height: 2;
	width:auto;
}

.about .flex img{
	width:250px;
	margin: 20px auto 0;
	display:block;
}


.about table{
	width: 100%;

	
	font-size:16px;
}
.about tr{

}
.about th{
    color: #C01521;
    width: 76px;
    padding: 15px 10px 15px 15px;
    text-align: left;
}



.about td{
	margin-left: 0em;
	border-bottom: 0px;
	  padding: 15px 10px 15px 25px;
}

.about_flex{
	margin-top:30px;
	display:block;
}

.nissenren_mark{
	margin: 30px auto;
    display: block;
	width:250px;
}

.mark p{
	margin-top:20px;
	font-size:16px;
	    line-height: 2;
}

.yakusoku h2{
	text-align: center;
    background: initial;
    color: #C01521;
    width: auto;
    margin-bottom: 16px;
}

.yakusoku{
	margin:0 auto;
	border:solid 1px #C01521;
	 padding: 30px 30px;
    border-radius: 18px;
	font-size:16px;
	width:auto;
}

.yakusoku li{
	margin-bottom:10px;
}

.about .btn_type01 {
	margin:50px auto;
	width:300px;
}

.about .btn_type01 .fa-solid{
    margin-left: 5px;
    position: initial;
}


.bosyu_main{
	margin: 0 auto;
	display:block;
}

.bosyu section{
	margin:70px 0;
}

.title_type09{
	background-color: #C01521;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    font-size: 20px;
    font-weight: 600;
	position:relative;
}

.title_type09:before{
	border:solid 1px #D96464;
	    top: 5px;
    left: 5px;
    content: ' ';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.bosyu .flex{
margin: 30px 0;
    display: inherit;
}

.bosyu .flex p{
    font-size: 16px;
    line-height: 2;
	width:auto;
}

.bosyu .flex img{
	width: 450px;
    margin: 0 auto;
    display: block;
}

.merit{
	background:#FFEBEB;
	padding: 50px 0;
}
.merit ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	    margin-top: 60px;
}
.merit li{
	background:#fff;
	border-radius:10px;
	width:540px;
	margin-bottom:50px;
	padding: 30px;
    box-sizing: border-box;
	position:relative;
}

.merit li:last-child{
	margin-bottom:0;
}


.merit li .num{
    font-size: 62px;
    color: #FDE864;
    position: absolute;
    left: 37px;
    top: -45px;
}
	
.merit h3{
	text-align: center;
    color: #C01521;
    font-weight: 600;
    font-size: 20px;
    margin: 5px 0;
	    height: 40px;
}
.merit img{
width: 425px;
    margin: 15px auto;
    display: block;
}
.merit p{
	text-align:center;
	font-size: 16px;
}
	/*
main{
	margin-top:59px;
}*/
.oubo_flow{
    border: solid 1px #707070;
    border-radius: 25px;
    margin-top: 50px;
    padding: 25px;
}
.oubo_flow li{
	position:relative;
	margin-bottom:20px;
}
.oubo_flow li:after{
background:#FEEBEB;
	    bottom: 0px;
    left: 0px;
    content: ' ';
    position: absolute;
    width: 100%;
    height: 30%;
    z-index: -1;
}
.oubo_flow h3{
	color:#C01521;
	    font-size: 16px;
}
.oubo_flow .num02{
	color:#C7C7C7;
	font-size:40px;
}

.gaiyou p{
	font-size:16px;
	margin:30px 0;
}

.gaiyou li p{
	margin:10px 0;
}
.bikou h3{
	color:#C01521;
	border-bottom:solid 1px #707070;
	padding-bottom:5px;
		font-size:18px;
}

.bosyu .btn_type01{
	    margin: 60px auto;
    width: 300px;
}
.title_type08{
    background: #C01521;
    text-align: center;
    border-radius: 50px;
    font-size: 18px;
    color: #fff;
    padding: 10px 0;
    font-weight: 600;
}

/*版画*/
.hanga{
	font-size: 16px;
	padding-bottom:0;
}

.hanga_main{
	width: 100%;
	height: auto;
	object-fit: contain;
}

.hanga p{
	 line-height:2em;
	letter-spacing:0.1rem;
}

.flex{
	display:flex;
}

  /* about */

.hanga_about{
	padding-top:95px;
}

.hanga_about .flex{
	display:initial;
}


.hanga_about h2{
	    font-size: 41px;
    margin-bottom: 25px;
}

.hanga_about_img{
	margin-top:32px;
}

.greeting{
	padding-top:95px;
}

.greeting h3{
	font-size: 30px;
	position:relative;
	display: flex;
    align-items: center;
    text-align: center;
}

.greeting h3::before,
.greeting h3::after {
            content: "";
            flex: 1;
            border-bottom: 1px solid #C01521; /* 線の太さと色 */
        }

.greeting h3::before{
	margin-right: 40px;
}

.greeting h3::after{
	margin-left: 40px;
}

.greeting p{
	margin: 50px 0;
}

.hanga .post ,.name{
	text-align: right;
}

.name{
	font-size: 20px;
}

/* results */
.results{
	background-color: #30C8D8;
	padding-bottom: 70px;
}

.background_img{
	background-image:url(images/hanga_back.svg);
	width: 100%;
	height:10vw;
	background-size: cover;  /* 画像の縦横比を維持しつつ、コンテナの幅にフィット */
    background-position: center;  /* 画像を中央に配置 */
    background-repeat: no-repeat;  /* 画像の繰り返しを無効にする */
	margin-top: 120px;
	margin-bottom: -2px;
}



.results::before{
	content:"";
	background: url(images/hanga_back.svg) no-repeat;
	width: 100%;
	height: 127px;
}

.results_wrapper{
	background-color:#FFFFEA;
	text-align:center;
	position: relative;
	border-radius: 48px;
	padding: 64px 10px 20px;
}

.results_wrapper::after{
	content: "";
    position: absolute;
    background-image: url(images/result.png);
    width: 52px;
    height: 94px;
    background-size: contain;
    background-repeat: no-repeat;
    top: -24px;
    left: 42px;
}

.results h2{
	font-size: 47px;
	letter-spacing: 0.1rem;
}

.yellow{
	    display: inline-block;
    background-color: #FDD900;
    padding: 0px 39px;
    padding-bottom: 7px;
    font-size: 35px;
}

.results .small{
	font-size: 25px;
	margin-bottom:14px;
	padding: 0 24px;
	padding-bottom:8px;
	padding-top: 6px;
	letter-spacing: 0.3rem;
}

.kazari{
	position: relative;
}

.kazari::after,.kazari::before{
	position: absolute;
}

.kazari::before{
	content: "";
	position: absolute;
	background-image:url(images/result_left.png);
	width:44px;
	height:44px;
	background-size: contain;
	background-repeat: no-repeat;
	top: 40px;
	left: -27px;
}


.kazari::after{
	content: "";
	position: absolute;
	background-image:url(images/result_right.png);
	width:44px;
	height:44px;
	background-size: contain;
	background-repeat: no-repeat;
	top: -8px;
	right: -27px;
}

.hanga_contnts{
	margin: 0 auto;
	margin-bottom: 64px;
}

/* 葉っぱの見出し ここから↓  */

.leaf{
	display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
	padding-bottom: 18px;
	margin-bottom: 20px;
    color: #B28146;
	border-bottom: 2px solid #B28146;
}

.hanga_contnts h3 {
    position: relative;
    font-size: 24px;
    text-align: center;
}


.hanga_contnts h3::before,
.hanga_contnts h3::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 44px; /* 画像の幅を調整 */
    height: 44px; /* 画像の高さを調整 */
    background-size: contain;
    transform: translateY(-50%);
}

.hanga_contnts h3::before {
    background-image: url(images/leaf_right.png); /* 左の画像 */
	background-repeat: no-repeat;
    left: -32px; /* タイトルから左へのオフセット */
}

.hanga_contnts h3::after {
background-image: url(images/leaf_left.png); /* 右の画像 */
	background-repeat: no-repeat;
    right: -52px; /* タイトルから右へのオフセット */
}

/* 葉っぱの見出し ここまで↑  */



.hanga_contnts01,.hanga_contnts02{
	margin-top:64px;
}



.hanga_contnts01 img{
height:310px;
	object-fit: contain;
}

.hanga_contnts02 img{
height:310px;
  object-fit: contain;
	
}

.hanga_contnts03 img,.hanga_contnts04 img,.hanga_contnts05 img,.hanga_contnts06 img,.hanga_contnts07 img{
height:310px;
	object-fit: contain;
}


.hanga_contnts01 h3,.hanga_contnts02 h3{
	font-size: 20px;
}

.hanga_contnts03 h3,.hanga_contnts04 h3,.hanga_contnts05 h3,.hanga_contnts06 h3{
	font-size: 20px;
}


.hanga_contnts01,.hanga_contnts02{
	    background-color: #fff;
    border-radius: 21px;
    padding: 20px 20px;
	width:auto;
}

.hanga_contnts03,.hanga_contnts04,.hanga_contnts05,.hanga_contnts06,.hanga_contnts07{
	background-color: #fff;
	border-radius: 21px;
    padding: 20px 20px;
	width:100%;
}

.hanga_name{
	background-color: #D1F4F0;
    display: block;
    margin: 0 auto;
    margin-top: 24px;
    padding: 24px 20px;
    position: relative;
    line-height: 1.75;
	width:auto;
}

.hanga_name::before{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border: 2px solid #30C8D8;
    top: 4px;
    left: 4px;
}

.name01{
	font-size: 18px;
	font-weight: bold;
}

.name02{
	font-size: 17px;
}

.name04{
	font-size: 14px;
}


.hanga_contnts07{
	margin-top: 32px;
}

/* 商品特集 一覧ページ */

.tokusyu_ttl{
	font-size: 40px;
	padding:20px 0;
	display: block;
	letter-spacing: 0.3rem;
}

.ttl_lead{
	font-size: 18px;
	padding:14px 0;
	display: block;
	letter-spacing: 0.2rem;
}

.gray{
	background-color: #E3E3E3;
}

.green{
	background-image: url(images/green_ttl.jpg);
	width: 100%;
	
	background-size: cover;  /* 画像の縦横比を維持しつつ、コンテナの幅にフィット contain*/
    background-repeat: repeat;  /* 画像の繰り返し*/
}

.tokusyu_ttl{
	color: #fff;
}

 /* 一覧グリッド */
#special{
	letter-spacing: 0.05rem;
}

#special a{
	color: inherit;
}

#special ul{
	padding-top: 40px;
	padding-bottom: 30px;
}

#special li{
	margin-bottom:30px;
}

#special .kiji_name{
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 12px;
	letter-spacing: 0.03rem;
	display: block;
}

#special .address{
	padding-bottom: 7px;
}

/*ギフト*/
.gift_title img{
	width:100%;
}

.gift .deadline_index{
	text-align:center;
}

.gift_single_title{
	background-image: url(images/gift_single_title_bg.jpg);
    background-position: center;
    background-size: cover;
    height: 50px;
    background-repeat: no-repeat;
	position:relative;
}

.gift_single_title img{
	max-width:250px;
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

.gray_wrapper.gift {
	background: #fffdea;
	margin-top:20px;
}

.special_container{
    margin: 0 0px;
	padding:20px;
	overflow: visible;
	width:auto;
}

.special_mainimg{
	    text-align: center;
    margin: 30px 0;
}

.single_special .time{
	color:#3C920C;
	font-size: 16px;
}

.single_special h1{
	    color: #3C920C;
    font-size: 27px;
    font-weight: 700;
	    margin-top: 7px;
	margin-bottom: 32px;
}

.special_contents{
	background-color:#f5f5f5;
	padding-bottom: 80px;
	padding-top: 65px;
}

.special_background_img{
	background-image: url(images/special_background_img.jpg);
    width: 100%;
    height: 16px;
    background-size: auto;
    background-position: center;
    background-repeat: repeat no-repeat;
    margin-bottom: -2px;
}

.interviewee{
	    background-color: #fff;
    margin: 0 0 70px 0;
    padding: 25px;
	        display: block;
}

.interviewee img{
    width: 150px;
    height: auto;
    border-radius: 50%;
    margin: 0 auto 20px;
    display: block;
}

.interviewee p{
	font-size: 16px;
}

.interviewee01{
	font-weight:bold;
	    margin-bottom: 10px;
}

.interviewee .shop_name{
	font-weight:bold;
	margin-bottom: 10px;
	font-size:18px;
}
.qa{
	margin-bottom:50px;
}
.qa h2{
background-image: url(images/green_ttl.jpg);
    width: 100%;
    background-size: cover;
    background-repeat: repeat;
    padding: 20px;
    font-size: 20px;
    color: #fff;
    font-weight: 600;
	    box-sizing: border-box;
	margin-bottom: 25px;
}

.qa h3{
	    font-size: 18px;
    font-weight: 800;
    color: #3C920C;
    margin: 48px 0 20px;
}

.qa h3 span{
  font-family: "Rubik", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
	    font-size: 25px;
    margin-right: 5px;
}

.qa .answer{
margin-left: 0px;
    margin-bottom: 32px;
	   font-size: 16px;
	line-height: 1.75;
	font-weight: bold;
}

.qa .answerimg_txt{
	    background: #fff;
    padding: 10px 23px;
    font-size: 16px;
}
/*
.comment_contents{
	    position: relative;
    color: #fff;
    margin-bottom: 60px;
    background-image: url(images/hitokoto.svg);
    background-position: center;
    background-size: cover;
    height: 390px;
    padding: 10px 0;
    background-repeat: no-repeat;
}
*/

.comment_area{
	height:500px;
	position:relative;
}
.comment_contents{
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    margin-bottom: 60px;
    background-image: url(images/hitokoto.svg);
    background-position: center;
    background-size: cover;
    height: 390px;
    padding: 10px 0;
    background-repeat: no-repeat;
    width: 500px;
}

.comment_wrapper{
	   position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	    width: 77vw;
}

.comment_wrapper h2{
	text-align: center;
    font-weight: bold;
    font-size: 23px;
    margin-bottom: 20px;
}

.comment_wrapper p{
	font-size:16px;
	width:auto;
}

.btn_red{
	background-color: #C01521;
    padding: 26px 65px;
    display: block;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    text-align: center;
    border-radius: 13px;
    box-shadow: 0px 8px 0px 0px #e8bfc1;
    position: relative;
	margin: 10px auto 0 auto;
	color: #fff;
	width:auto;
}

.btn_red i{
	margin-left: 24px;
}

.single_special .btn_type01 i{
	margin-left: 24px;
}

.single_special .shop_about_wrapper h3{
	font-size: 24px;
	text-align: center;
	margin-bottom: 74px;
}

.single_special .shop_about_wrapper h4{
	font-weight: bold;
    margin-bottom: 3px;
}

.shop_about_flex{
	display: flex;
	gap: 80px;
	justify-content:center;
}

.shop_name{
	font-size: 18px;
	font-weight: bold;
}

.single_special .shop_about_wrapper{
	background-color: #F5F5F5;
	margin-top: 0;
	padding: 60px 0;
}

.shop_about_wrapper .btn_type01{
	padding: 10px 8px;
	margin-top: 40px;
	font-size: 17px;
}

#special h2{
	font-size: 25px;
	font-weight: bold;
	text-align: center;
}

.btn_green{
	background-color: #53A127;
    padding: 26px 65px;
    display: block;
    font-size: 24px;
    font-weight: 700;
    position: relative;
    text-align: center;
    border-radius: 13px;
    box-shadow: 0px 8px 0px 0px #BDC8BE;
  width:auto;
    position: relative;
	margin: 10px auto 0 auto;
}

.btn_green i{
	margin-left: 24px;
}

.other_special_article .btn_green{
	color: #fff!important;
}

.other_special_article{
padding: 60px 20px;
}

.other_special_article ul{
	margin: 0 auto;
	font-family:"Zen Maru Gothic", serif;
}

/* カード事業部 */
.card header{
	background: url(images/card_title.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}


 /* 充実のサービス */
.card_searvice{
	margin-bottom: 50px;
}

.card_searvice .flex{
	display:initial;
}

.card_searvice li{
	max-width: 330px;
}

.card_searvice li{
    display: block;
    border: 1px solid #1756E3;
    padding: 30px 20px;
    border-radius: 17px;
	margin-bottom:30px;
}


.card_searvice h3{
	    font-size: 22px;
    color: #C01521;
    padding: 18px 0 15px 0;
    text-align: center;
    font-weight: 700;
}

.card_searvice p,.card_searvice a{
	font-size: 16px;
	letter-spacing: -0.8px;
	line-height: 1.8;
}

.card_about{
margin: 30px 15px;
}

.card_about .flex{
	display:initial;
}


.card_about img{
	min-width:200px;
	margin:30px auto;
	
display:block;
}

.card_about_text{

}

.card_about_text p{
	line-height: 2;
	margin-bottom: 48px;
}

.card_about img{
}

.card .title_type09{
	margin-bottom: 40px;
}

.card_link{
	text-align: center;
	margin-top: 16px;
	color: #1180EF;
	display: block;
}

.card .lineup .title_type09{

}

.lineup{
	margin-bottom: 40px;
}

.lineup h3{
	font-size: 22px;
	color: #C01521;
	text-align: center;
}

.lineup .flex{
	justify-content: space-between;
}

.lineup01,.lineup02{
	margin: 0 auto;
	margin-bottom: 80px;
	margin-top: 30px;
}


.lineup li{
	text-align: center;
	width:45vw;
}

.lineup li h4{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 36px;
}

.lineup h3{
	margin-bottom: 35px;
	font-weight: bold;
	border-bottom: 1px solid #707070;
	padding-bottom: 16px;
}

.jigyo_cta{
    background-color: #EAEAEA;
    border: solid #000000 3px;
    text-align: center;
    padding: 30px;
    margin: 55px 15px;
}
.jigyo_cta{
	position:relative;
}
.jigyo_cta i{
	  position: absolute;
    top: 50%;
   right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.jigyo_cta h3{
	font-size: 25px;
	margin-bottom: 40px;
}

.jigyo_cta a{
	display: inline-block;
	width: auto;
	padding: 16px 30px;
}

.btn_card{
background-color: #C01521;
    padding: 12px 20px 12px 20px;
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    border-radius: 50px;
    margin: 0 auto;
	text-align:center;
}

.make p{
	margin-bottom: 40px
}

.gift_link{
	display: block;
    margin: 60px 20px -47px;
}

.gift_link_right{
position: fixed;
    top: 85px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
	width:150px;
	height:auto;
}

.youtube iframe{
	width: 100%;
	height: auto;
aspect-ratio: 16 / 9;
}


.hanga .btn_type01 {
    margin: 50px auto 0;
    width: 300px;
}

.sample_container .btn_type01 {
	  margin: 20px auto;
}
.sample_container{
	padding-bottom:20px;
}
}

/* ==================================================
   768px〜1200px 共通レスポンシブ調整
================================================== */
@media screen and (min-width: 768px) and (max-width: 1200px) {
	html,
	body {
		max-width: 100%;
	}

	.container,
	#header .head_wrap,
	#header .site-header__inner,
	#footer .site-footer__inner,
	.shop-videos-container,
	.shop-videos-intro__inner,
	.nisseiren__container,
	.join-content {
		width: calc(100% - 40px);
		max-width: 1200px;
		margin-inline: auto;
	}

	#header .head_wrap,
	#header .site-header__inner,
	#gnavi,
	#gnavi .nav,
	#footer,
	.foot_contents,
	.main_container,
	.second_main,
	.product_main,
	.product_txt,
	.index_special_txt,
	.index_special_img,
	.shop_main .shop_01,
	.shop_main .shop_02 {
		min-width: 0;
	}

	#header .head_wrap {
		gap: clamp(12px, 2vw, 28px);
	}

	#header .logo,
	#header .site-header__logo {
		flex: 0 1 auto;
		min-width: 0;
	}

	#header .logo img {
		width: clamp(190px, 24vw, 300px);
	}

	#gnavi {
		flex: 1 1 auto;
	}

	#gnavi .nav {
		width: min(840px, 100%);
	}

	#gnavi > ul > li,
	#gnavi > ul > li > a {
		min-width: 0;
	}

	#gnavi > ul > li > a {
		padding-inline: clamp(5px, 0.8vw, 10px);
		font-size: clamp(1.2rem, 1.25vw, 1.5rem);
	}

	#gnavi ul.child {
		max-width: min(320px, calc(100vw - 40px));
		white-space: normal;
	}

	#footer {
		width: 100%;
		min-width: 0;
	}

	.foot_contents {
		display: grid;
		grid-template-columns: minmax(230px, 0.8fr) minmax(0, 2fr);
		gap: clamp(24px, 4vw, 48px);
	}

	#footer .lefter,
	.righter {
		min-width: 0;
		margin-left: 0;
	}

	#footer .lefter .logo {
		width: min(280px, 100%);
	}

	.fnavi01 {
		gap: 12px clamp(18px, 3vw, 36px);
	}

	.fnavi01 a {
		margin-right: 0;
	}

	.container.sidewrapper {
		gap: clamp(24px, 3.5vw, 42px);
	}

	.main_container,
	.second_main {
		flex: 1 1 auto;
		width: auto;
	}

	#sidebar {
		flex: 0 0 clamp(180px, 19vw, 200px);
		width: auto;
		min-width: 0;
	}

	img,
	iframe,
	video,
	embed,
	object {
		max-width: 100%;
	}

	.index_main #infolist {
		width: min(400px, 48%);
		padding-inline: clamp(16px, 2.2vw, 25px);
	}

	.title_about .container {
		max-width: calc(100% - 40px);
	}

	.hata {
		width: min(500px, 48vw);
	}

	.title_type_about {
		font-size: clamp(4rem, 5vw, 6rem);
	}

	.title_type_about_en {
		left: clamp(80px, 11vw, 133px);
		font-size: clamp(1.8rem, 2.1vw, 2.5rem);
	}

	.btn_index_item {
		right: clamp(108px, 10vw, 220px);
	}

	.shopping {
		width: clamp(100px, 12.5vw, 150px);
	}

	.index_special_contents {
		width: calc(100% - 40px);
		max-width: 1130px;
		padding-inline: clamp(24px, 3vw, 35px);
	}

	#index_special .flex {
		gap: clamp(28px, 4vw, 55px);
	}
.title_type_item {
    font-size: 45px;
}
	.index_special_txt {
		flex: 1 1 44%;
		width: auto;
	}

	.index_special_img {
		flex: 0 1 48%;
		width: auto;
	}

	.special_eye01 {
		width: 100%;
	}

	.special_eye02 {
		left: 20%;
		top: 58%;
		width: clamp(90px, 11vw, 127px);
	}

	.index_special_contents h3 {
		max-width: calc(100% + 16px);
		padding-inline: clamp(24px, 4vw, 50px);
		font-size: clamp(3rem, 3.5vw, 4.2rem);
	}

	.other_contents,
	.other_contents:last-child {
		width: min(800px, calc(100% - 40px));
		padding: clamp(36px, 5vw, 60px);
	}

	.other_contents h2 {
		font-size: clamp(3.2rem, 3.8vw, 4.5rem);
	}

	#order_btn a,
	#index_order a {
		width: min(615px, 100%);
	}

	#category ul {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 10px;
	}

	#category ul li,
	#category ul li:nth-child(6n) {
		min-width: 0;
		margin: 0;
	}

	#category ul li a {
		width: 100%;
	}

	#category ul li a span {
		width: 100%;
		padding-inline: 6px;
		overflow-wrap: anywhere;
	}

	#item ul,
	#store ul {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px 17px;
	}

	#item ul li,
	#store ul li,
	#item ul li:nth-child(3n),
	#store ul li:nth-child(3n) {
		width: auto;
		min-width: 0;
		margin: 0;
	}

	.product_flex,
	.product_container {
		gap: clamp(30px, 4vw, 55px);
	}

	.product_slider,
	.product_main,
	.product_txt,
	#product_main,
	#product_nav,
	#product_main .slick-list,
	#product_nav .slick-list {
		min-width: 0;
	}

	.product_main {
		flex: 0 1 38%;
		width: auto;
	}

	.product_txt {
		flex: 1 1 0;
		width: auto;
	}

	.product_single .special_link,
	.shop_link {
		width: min(500px, 100%);
	}

	.shop_about,
	.single_shop .shop_main,
	.single_post,
	.about .flex,
	.bosyu .flex,
	.shop_about_flex {
		gap: clamp(28px, 4vw, 50px);
	}

	.shop_about img {
		flex: 0 1 34%;
		width: min(350px, 34%);
		margin-right: 0;
		object-fit: contain;
	}

	.shop_about table,
	.shop_main .shop_02 table,
	.about table {
		width: 100%;
		table-layout: fixed;
	}

	.shop_about th,
	.shop_about td,
	.shop_main .shop_02 th,
	.shop_main .shop_02 td,
	.about th,
	.about td {
		overflow-wrap: anywhere;
	}

	.single_shop .shop_main > *,
	.single_post > *,
	.about .flex > *,
	.bosyu .flex > * {
		min-width: 0;
	}

	.info #newslist.other_post {
		flex: 0 0 clamp(280px, 31vw, 380px);
		width: auto;
	}

	.news_wrapper img,
	.news_wrapper iframe,
	.news_wrapper video,
	.news_wrapper table,
	.second_main img,
	.second_main iframe,
	.second_main video,
	.second_main table {
		max-width: 100%;
	}

	.news_wrapper,
	.second_main,
	.other_post,
	.news_wrapper a,
	.news_wrapper td,
	.news_wrapper th {
		overflow-wrap: anywhere;
	}

	.min-container,
	.ng_form .min-container,
	.link_txt,
	.special_container {
		width: min(800px, 100%);
		max-width: 100%;
	}

	.form textarea,
	.form input[type="text"],
	.form input[type="email"],
	.form input[type="url"],
	.form input[type="tel"],
	.form select,
	#main.contact .smf-form input,
	#main.contact .smf-form select,
	#main.contact .smf-form textarea {
		max-width: 100%;
	}

	.form_soushin input,
	#main.contact .smf-action input[type="submit"],
	#main.contact .smf-action button {
		max-width: 100%;
	}

	.mwform-checkbox-field input {
		position: static;
		float: none;
		margin-right: 8px;
	}

	.mwform-checkbox-field-text {
		display: inline;
		height: auto;
		text-align: left;
	}

	.second header {
		max-width: calc(100% - 40px);
	}

	.about .flex p,
	.bosyu .flex p {
		flex: 1 1 0;
		width: auto;
	}

	.about .flex img,
	.bosyu .flex img {
		flex: 0 1 40%;
		width: min(450px, 40%);
	}
.nisseiren-about__content {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(315px, 0.95fr);
    align-items: center;
    gap: 48px;
    margin-top: 58px;
}
	.about table {
		flex: 1 1 0;
	}

	.yakusoku {
		width: min(650px, 100%);
	}

	.merit ul {
		gap: 30px;
	}

	.merit li {
		width: calc(50% - 15px);
		min-width: 0;
	}

	.merit img {
		width: 100%;
		max-width: 425px;
	}

	.oubo_flow {
		padding: clamp(35px, 5vw, 65px);
	}

	.hanga_contnts01,
	.hanga_contnts02,
	.hanga_contnts03,
	.hanga_contnts04,
	.hanga_contnts05,
	.hanga_contnts06,
	.hanga_contnts07 {
		max-width: 100%;
	}

	.hanga_name,
	.hanga_name::before {
		width: min(460px, 100%);
		        padding: 20px;
	}
	
	.hanga_name::before{
		height:stretch;
	}

	.column {
		width: calc(50% - 32px);
		margin: 16px;
	}

	#special ul {
		width: 100%;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(28px, 5vw, 68px);
	}

	.gift_single_title img,
	.comment_wrapper p {
		width: min(500px, calc(100% - 40px));
	}

	.shop_about_flex > * {
		min-width: 0;
	}

	.shop-video-embed,
	.index-shop-videos__movie,
	.shop-videos-modal__video,
	.gmap {
		max-width: 100%;
	}

	.shop-videos-modal {
		padding: 56px 24px 24px;
	}

	.shop-videos-modal__dialog {
		width: min(calc(100vw - 48px), calc((100vh - 96px) * 16 / 9));
		max-width: 1200px;
	}

	.page-section__heading,
	.page-section__body,
	.members-dashboard__inner,
	.member-notice-archive__inner,
	.member-activity-archive__inner,
	.member-activity-single__inner {
		min-width: 0;
	}

	table {
		max-width: 100%;
	}
}

/* 小型PC：横並びを維持しつつ比率で縮小 */
@media screen and (min-width: 1024px) and (max-width: 1200px) {
	.index_special_contents {
		width: calc(100% - 50px);
	}

	.product_container {
		display: grid;
		grid-template-columns: minmax(320px, 0.75fr) minmax(0, 1.25fr);
	}

	.single_post {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 34%);
	}

	#index-shop-videos .index-shop-videos__slide {
		max-width: min(800px, 66vw);
	}
}

/* タブレット：窮屈な2カラムを安全に1カラム化 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.container,
	#header .head_wrap,
	#header .site-header__inner,
	#footer .site-footer__inner,
	.shop-videos-container,
	.shop-videos-intro__inner,
	.nisseiren__container,
	.join-content {
		width: calc(100% - 32px);
	}

	.second header {
		height: clamp(230px, 30vw, 290px);
		border-radius: clamp(24px, 3.5vw, 36px);
	}

	.second header h1 {
		bottom: clamp(22px, 3vw, 30px);
		width: clamp(230px, 32vw, 300px);
		font-size: clamp(2.2rem, 2.8vw, 2.8rem);
	}

	.second header::before {
		width: clamp(255px, 35vw, 330px);
		height: clamp(73px, 10vw, 94px);
	}
#index-nisseiren .index-nisseiren__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 300px);
    align-items: center;
    gap: 48px;
}
	.container.sidewrapper {
		flex-direction: column;
	}

	.main_container,
	#sidebar,
	.second_main,
	.info #newslist.other_post {
		flex: none;
		width: 100%;
	}

	#sidebar {
		padding-bottom: 20px;
	}

	.foot_contents {
		grid-template-columns: minmax(200px, 0.75fr) minmax(0, 1.5fr);
		gap: 28px;
	}

	.footerbg {
		height: auto;
		min-height: 310px;
	}

	.index_main #infolist {
		position: relative;
		width: 100%;
		height: auto;
		min-height: 85px;
		border-radius: 0;
	}

	#index_special .flex,
	.other_contents .flex,
	.product_flex,
	.product_container,
	.shop_about,
	.single_shop .shop_main,
	.single_post,
	.about .flex,
	.about_flex,
	.bosyu .flex,
	.shop_about_flex {
		display: flex;
		flex-direction: column;
	}

	.index_special_txt,
	.index_special_img,
	.product_main,
	.product_txt,
	.shop_about img,
	.single_shop .shop_main > *,
	.about .flex p,
	.about .flex img,
	.bosyu .flex p,
	.bosyu .flex img,
	.about table {
		flex: none;
		max-width: 100%;
	}

	.index_special_img,
	.shop_about img,
	.about .flex img,
	.bosyu .flex img {
		align-self: center;
	}

	.index_special_contents {
		padding-top: 55px;
	}

	.index_special_contents h3 {
		top: -58px;
		font-size: clamp(2.6rem, 4.4vw, 3.6rem);
	}

	.special_eye02 {
		top: auto;
		bottom: -30px;
	}

	.kangaeru {
		left: clamp(50px, 14vw, 115px);
	}

	#category ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	#item ul,
	#store ul,
	#special ul,
	.shop-videos-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product_slider {
		width: min(620px, 100%);
		margin-inline: auto;
	}

	.single_post {
		margin-block: 55px;
	}

	.form .flex,
	.confirm .conflex,
	#index_form {
		flex-wrap: wrap;
	}

	#index_form {
		gap: 24px;
	}

	#index_form .index_form_wrapper {
		flex: 1 1 280px;
	}

	.oubo_flow li {
		align-items: flex-start;
	}

	.oubo_flow .num02 {
		padding-inline: clamp(20px, 5vw, 50px);
	}

	.comment_contents {
		min-height: 390px;
		height: auto;
	}

	.comment_wrapper {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		padding: 80px 40px;
		transform: none;
	}

	.comment_wrapper p {
		width: 100%;
	}

	.nisseiren__intro-layout,
	.nisseiren__president-layout,
	.shop-videos-intro__inner {
		grid-template-columns: 1fr;
	}

	.nisseiren__intro-visual,
	.nisseiren__president-visual,
	.shop-videos-intro__visual {
		max-width: min(620px, 100%);
		margin-inline: auto;
	}
}

/* 931〜1023px：PCナビ直前でロゴが隠れないように圧縮 */
@media screen and (min-width: 931px) and (max-width: 1023px) {
	#header .site-header__inner {
		gap: 6px;
		width: calc(100% - 24px);
	}

	#header .site-header__logo {
		flex: 0 0 auto;
		max-width: 145px;
	}

	#header .site-header__logo img,
	#header .logo img {
		display: block;
		width: clamp(128px, 14vw, 145px);
		max-width: 100%;
	}

	#header .desktop-navigation {
		flex: 1 1 auto;
		min-width: 0;
		margin-left: 4px;
	}

	#header .desktop-navigation__list {
		--desktop-nav-edge-space: 16px;
		width: 100%;
		min-width: 0;
	}

	#header .desktop-navigation__item:not(.desktop-navigation__member):not(.desktop-navigation__logout) {
		min-width: 0;
		padding-inline: 3px;
	}

	#header .desktop-navigation__item.header-product-menu {
		padding-left: 0;
	}

	#header .desktop-navigation__item--main-last {
		padding-right: 0 !important;
	}

	#header .desktop-navigation__item > a {
		padding-inline: 4px;
		font-size: clamp(1rem, 1.12vw, 1.15rem);
		white-space: nowrap;
	}

	#header .header-product-menu > a {
		padding-right: 20px;
		padding-left: 4px;
	}

	#header .header-product-menu > a::before {
		right: 5px;
		width: 6px;
		height: 6px;
	}

	#header .desktop-navigation__member {
		margin-left: 6px;
	}

	#header .desktop-navigation__member > a {
		min-width: 88px;
		padding-inline: 8px;
	}
}

/* ==================================================
   商品・店舗一覧／カテゴリー：スマートフォン2列
================================================== */
@media screen and (max-width: 767px) {
	#category ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		width: 100%;
		margin: 0 0 30px;
	}

	#category ul li,
	#category ul li:nth-child(2n),
	#category ul li:nth-child(6n) {
		width: auto;
		min-width: 0;
		margin: 0;
	}

	#category ul li a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: auto;
		min-height: 54px;
		padding: 7px 8px;
		font-size: clamp(1.2rem, 3.6vw, 1.4rem);
		line-height: 1.35;
	}

	#category ul li a span {
		position: static;
		width: 100%;
		padding: 0;
		text-align: center;
		overflow-wrap: anywhere;
		transform: none;
	}

	#item ul,
	#store ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 10px;
		width: 100%;
	}

	#item ul li,
	#store ul li,
	#item ul li:nth-child(2n),
	#store ul li:nth-child(2n),
	#item ul li:nth-child(3n),
	#store ul li:nth-child(3n) {
		width: auto;
		min-width: 0;
		margin: 0;
	}

	#item ul li a,
	#store ul li a {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-width: 0;
	}

	#item ul li img,
	#store ul li img {
		display: block;
		width: 100%;
		height: auto;
	}

	#item .txt_wrapper,
	#store .txt_wrapper {
		min-width: 0;
		padding: 12px 10px;
	}

	#item .catch,
	#item .product_name,
	#item .category_type,
	#item .item_name,
	#item .shop_name,
	#store .affiliation_type,
	#store .shop_name,
	#store .address,
	#store .tel {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	#item .product_name,
	#store .shop_name {
		font-size: 1.4rem;
		line-height: 1.5;
	}

	#item .price {
		font-size: 1.35rem;
	}
}

/* ==================================================
   商品・店舗一覧／カテゴリー：1201px以上
================================================== */
@media screen and (min-width: 1201px) {
	#category ul {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 10px;
		width: 100%;
	}

	#category ul li,
	#category ul li:nth-child(6n) {
		width: auto;
		min-width: 0;
		margin: 0;
	}

	#category ul li a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		padding-inline: 8px;
	}

	#category ul li a span {
		position: static;
		width: 100%;
		text-align: center;
		overflow-wrap: anywhere;
		transform: none;
	}

	#item ul,
	#store ul {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px 17px;
		width: 100%;
	}

	#item ul li,
	#store ul li,
	#item ul li:nth-child(2n),
	#store ul li:nth-child(2n),
	#item ul li:nth-child(3n),
	#store ul li:nth-child(3n) {
		width: auto;
		min-width: 0;
		margin: 0;
	}

	#item ul li a,
	#store ul li a {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-width: 0;
	}

	#item ul li img,
	#store ul li img {
		display: block;
		width: 100%;
		height: auto;
	}

	#item .txt_wrapper,
	#store .txt_wrapper,
	#item .product_name,
	#store .shop_name,
	#store .address {
		min-width: 0;
		overflow-wrap: anywhere;
	}
}

.index-nisseiren__image-button {
	display: block;
	width: min(450px, 100%);
	margin: 50px auto 0;
	border: solid 2px #ececec;
	transition: opacity 0.25s ease;
	box-sizing: border-box;
}

.index-nisseiren__image-button:hover {
	opacity: 0.8;
}

.index-nisseiren__image-button:focus-visible {
	outline: 3px solid #C01521;
	outline-offset: 6px;
}

.index-nisseiren__image-button-img {
	display: block;
	width: 100%;
	height: auto;
}

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

	.index-nisseiren__image-button {
		width: auto;
		margin: 70px 20px 0;
	}

}

/* ==================================================
 * トップページ メインビジュアル動画（2026-08-17）
 * ================================================== */
.index_main .main-visual {
	position: relative;
	width: 100%;
	height: clamp(540px, 53vw, 720px);
	overflow: hidden;
	background: #cbeee9;
}

.index_main .main-visual__video {
	position: absolute;
	z-index: 0;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

.index_main .main-visual__overlay {
	position: absolute;
	z-index: 2;
	inset: 0;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	pointer-events: none;
}

.index_main .main-visual .main-visual__title {
	display: block;
	width: min(570px, 48vw);
	height: auto;
	max-width: none;
margin-top: clamp(65px, 7vw, 75px);
	filter: drop-shadow(0 2px 4px rgba(255, 255, 255, 0.25));
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

.index_main .main-visual #infolist {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 767px) {
	.index_main .main-visual {
		--main-visual-notice-height: 85px;
		width: 100%;
		height: calc((100vw * 480 / 390) + var(--main-visual-notice-height));
		aspect-ratio: auto;
		overflow: hidden;
		background: #ebddc4;
	}

	.index_main .main-visual__video {
		inset: 0;
		width: 100%;
		height: calc(100% - var(--main-visual-notice-height));
		object-fit: cover;
		object-position: 50% center;
	}

	.index_main .main-visual__overlay {
		bottom: var(--main-visual-notice-height);
	}

	.index_main .main-visual .main-visual__title {
		width: min(88vw, 430px);
		height: auto;
		margin-top: clamp(45px, 14vw, 80px);
	}

	.index_main .main-visual #infolist {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		height: var(--main-visual-notice-height);
		margin: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.index_main .main-visual__video {
		/* posterを表示できるよう、動画要素自体は非表示にしない */
	}
}

/* 出品者募集バナー下の案内文 */
#index_application .index-application__note {
	margin: 28px 20px 0;
	color: #000;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#index_application .index-application__note {
		margin-top: 20px;
		font-size: 1.5rem;
	}
}

/* 出品者募集バナー PC・SP画像切り替え */
#index_application {
	margin-top: 80px;
	text-align: center;
}

#index_application .index-application__banner-link {
	display: block;
	width: min(1201px, calc(100% - 40px));
	margin: 0 auto;
	transition: opacity 0.25s ease;
}

#index_application .index-application__banner-link picture {
	display: block;
}

#index_application .index-application__banner-image {
	display: block;
	width: 100%;
	height: auto;
}

#index_application .index-application__banner-link:focus-visible {
	outline: 3px solid #C01521;
	outline-offset: 5px;
}

@media (hover: hover) {
	#index_application .index-application__banner-link:hover {
		opacity: 0.85;
	}
}

@media screen and (max-width: 767px) {
	#index_application {
		margin-top: 55px;
	}

	#index_application .index-application__banner-link {
		width: calc(100% - 32px);
		margin: 0 auto;
	}

	#index_application .index-application__banner-image {
		width: 100%;
		height: auto;
	}
}

/* ==================================================
 * 販売中の商品内 店舗紹介
 * ================================================== */
.index-item-store {
	position: relative;
	padding: 35px 0 80px;
	background: transparent;
}

.index-item-store__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	grid-template-rows: auto auto auto;
	grid-template-areas:
		"title visual"
		"lead visual"
		"button visual";
	align-items: center;
	column-gap: 60px;
	row-gap: 12px;
	min-height: 250px;
	padding: 40px 70px;
	border: 1px solid rgba(255, 255, 255, 0.9);
	background-color: rgb(174 28 28 / 63%);
	border-radius: 10px;
	box-sizing: border-box;
}

.index-item-store__title {
	grid-area: title;
	align-self: end;
	margin: 0;
	color: #fff;
	font-size: clamp(2.6rem, 2.8vw, 3.5rem);
	font-weight: 700;
	line-height: 1.4;
}

#index_item .index-item-store__lead {
	grid-area: lead;
	margin: 0;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1.7;
}

.index-item-store__visual {
	grid-area: visual;
	display: flex;
	align-items: center;
	justify-content: center;
}

.index-item-store__image {
	display: block;
	width: min(360px, 100%);
	height: auto;
}

.index-item-store__button {
	position: relative;
	grid-area: button;
	align-self: start;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 280px;
	min-height: 48px;
	margin-top: 15px;
	    padding: 10px 48px 10px 24px;
	border-radius: 7px;
	background: #fff;
	    box-shadow: 0 9px 0 rgba(255, 255, 255, 0.45);
	box-sizing: border-box;
	color: #C01521;
	font-size: 1.6rem;
	font-weight: 700;
}

.index-item-store__button i {
	position: absolute;
	top: 50%;
	right: 20px;
	font-size: 1.8rem;
	transform: translateY(-50%);
}

.index-item-store__button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 5px;
}

@media (hover: hover) {
	.index-item-store__button:hover {
		opacity: 0.9;
	}
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
.index-item-store__box {
    display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(10px, 290px);}

.index-item-store__image {
    display: block;
    width: min(290px, 100%);
    height: auto;
}
}
@media screen and (min-width: 768px) {
	.index-item__content {
		padding-bottom: 80px;
	}
}

@media screen and (max-width: 767px) {
	.index-item-store {
		padding: 10px 0 55px;
	}

	.index-item-store .container {
		width: calc(100% - 32px);
	}

	.index-item-store__box {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"title"
			"lead"
			"visual"
			"button";
		gap: 0;
		min-height: 0;
		padding: 28px 22px 30px;
		border-radius: 8px;
	}

	.index-item-store__title {
		font-size: 2.5rem;
	}

	#index_item .index-item-store__lead {
		margin-top: 10px;
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.index-item-store__visual {
		margin-top: 22px;
	}

	.index-item-store__image {
		width: min(100px, 90%);
		margin: 0 auto;
	}

	.index-item-store__button {
		width: min(280px, 100%);
		margin: 25px auto 0;
		font-size: 1.5rem;
	}
}

/* スマホ：販売中の商品スライダーの上下余白を調整 */
@media screen and (max-width: 430px) {
	#index_item .index_item_slide {
		padding-top: 0;
		padding-bottom: 0;
		line-height: 0;
	}

	#index_item .index_item_slide .slick-track {
		display: flex;
		align-items: center;
	}

	#index_item .index_item_slide .slick-slide a {
		height: clamp(105px, 30vw, 125px);
	}

	#index_item .index_item_slide .slick-slide img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}
