@charset "utf-8";
/* ==========================================================================
   common
   ========================================================================== */
.white{
	color: #FAFAFA;
}

.enji{
	color: #B3424A;
}

.serif{
	font-family: "Noto Serif JP", serif;
}

.sans{
	font-family: "Noto Sans JP", sans-serif;
}

.roboto{
	font-family: "Roboto", sans-serif;
}

.roboto-condensed{
	font-family: "Roboto Condensed", sans-serif;
}


/* wrap
============================================================ */
.contents_wrap{
	width: 100vw;
	overflow: hidden;
}

.contents_wrap .wrap{
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 0 5.5vw;
	margin: 0 auto;
}
@media (min-width: 960px){
.contents_wrap .wrap{
	max-width: calc(1100px + 10vw + 10vw);
	padding: 0 10vw;
}
}


/* section_title
============================================================ */
.section_title_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 20px 0;
}
@media (min-width: 960px){
.section_title_block{
	margin: 0 0 30px 0;
}
}

.section_title{
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.12em;
	text-align: center;
	padding-left: 0.12em;
}
@media (min-width: 440px){
.section_title{
	width: auto;
	font-size: 3.2rem;
	letter-spacing: 0.14em;
	padding-left: 0.14em;
}
}

.section_sub_title{
	font-size: 2.0rem;
	line-height: 1.5;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.12em;
	text-align: center;
	padding-left: 0.12em;
	text-decoration: underline;
  text-decoration-color: #333333;
  text-decoration-thickness: 2px;
  text-underline-offset: 8px;  
}
@media (min-width: 440px){
.section_sub_title{
	font-size: 2.6rem;
	letter-spacing: 0.12em;
	padding-left: 0.12em;
	text-underline-offset: 10px; 
}
}

.section_title_news{
	color: #B3424A;
	font-size: 2.1rem;
	line-height: 1.5;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.12em;
	text-align: center;
	padding-left: 0.12em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
@media (min-width: 440px){
.section_title_news{
	font-size: 2.6rem;
	letter-spacing: 0.12em;
	padding-left: 0.12em;
	text-underline-offset: 10px; 
}
}

.section_title_news svg{
	width: 15px;
	height: auto;
	fill: #B3424A;
	margin: 2px 8px 0;
}
@media (min-width: 440px){
.section_title_news svg{
	width: 18px;
	margin: 2px 11px 0;
}
}


.section_title_en{
	color: #999999;
	font-size: 1.3rem;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0.12em;
	margin-left: -0.12em;
	text-align: center;
}
@media (min-width: 440px){
.section_title_en{
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.7;
}
}

.vertical_line-a{
	width: 2px;
	height: 20px;
	background-color: #D9D9D9;
}
@media (min-width: 440px){
.vertical_line-a{
	width: 2px;
	height: 30px;
}
}

.vertical_line-b{
	width: 2px;
	height: 20px;
	background-color: #444444;
}
@media (min-width: 440px){
.vertical_line-b{
	width: 2px;
	height: 30px;
}
}


/* btn
============================================================ */
.btn{
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (min-width: 440px){
.btn{
	width: 100%;
}
}
@media (min-width: 960px){
.btn{
	width: auto;
}
}

.btn a{
	color: #fff;
	width: 100%;
	height: 50px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
	text-align: center;
  display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
  position: relative;
	background-color: #B3424A;
	border-radius: 4px;
	box-sizing: border-box;
}
@media (min-width: 440px){
.btn a{
	width: 260px;
	height: 56px;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	transition: all 0.2s ease;
}
}

.btn a img{
	width: 28px;
	height: 28px;
	display: block;
	margin-right: 8px;
}

.btn.tel a{
	font-size: 2.1rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
}

.btn.line a{
	background-color: #06C755;
}

.btn a .roboto{
	font-size: 116%;
	font-weight: 400;
	margin: 0 0.1em -0.15em 0.1em;
}

@media (min-width: 960px){
.btn a:hover{
	background-color: #333;
}
}


/* header
============================================================ */
header{
	width: 100vw;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	box-sizing: border-box;
	padding: 20px 4% 0;
	z-index: 200;
}
@media (min-width: 440px){
header{
	position: absolute;
	align-items: flex-start;
	justify-content: space-between;
	padding: 30px 40px 0;
}
}

/* logo */
header .logo{
	width: auto;
	height: 31px;
}
@media (min-width: 440px){
header .logo{
	width: auto;
	height: 38px;
}
}
@media (min-width: 960px){
header .logo{
	width: auto;
	height: 44px;
}
}

.logo img{
	width: auto;
	height: 100%;
	display: block;
}

/* nav */
.header-nav{
	display:none;
}
@media (min-width: 960px){
.header-nav{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-end;
}
}

.header-nav ul{
	width: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	margin-left: 26px;
}

.header-nav ul li{
  display: block;
	line-height: 1;
	margin-bottom: 9px;
}

.header-nav ul li a{
	color: #FFFFFF;
	width: auto;
	font-size: 1.3rem;
	line-height: 1.10;
	font-weight: 400;
	letter-spacing: 0.04em;
	display: block;
  transition: all 0.2s ease;
}

.header-nav ul li a:hover{
	color: #333333;
}

.header-nav .btn-contact a{
	color: #FAFAFA;
	width: 134px;
	height: 42px;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	border-radius: 100px;
	border: 1px solid #FAFAFA;
	box-sizing: border-box;
	transition: all 0.2s ease;
	margin-left: 40px;
}

@media (min-width: 960px){
.header-nav .btn-contact a:hover{
	color: #111111;
	border: 1px solid #FAFAFA;
	background-color: #FAFAFA;
}
}


/* floating-btn
============================================================ */
.floating-btn{
	width: 100vw;
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 7px 6px;
	box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 1000;
}
@media (min-width: 440px){
.floating-btn{
	width: 300px;
	height: 74px;
	bottom: 22px;
	right: 22px;
	left: auto;
	padding: 0;
	background-color: rgba(0, 0, 0, 0);
}
}
@media (min-width: 960px){
.floating-btn{
	width: 300px;
	height: 74px;
	bottom: 32px;
	right: 32px;
	left: auto;
}
}

.floating-btn a{
	color: #FFF;
	width: 100%;
	height: 52px;
	font-size: 2.2rem;
	font-weight: 400;
	line-height: 1;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.05em;
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	background-color: #B3424A;
	padding: 0 0 0 0;
	box-sizing: border-box;
}
@media (min-width: 440px){
.floating-btn a{
	width: 300px;
	height: 74px;
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 1;
	border-radius: 3px;
	letter-spacing: 0.02em;
	padding: 0 0 0 56px;
	transition: all 0.2s ease;
}
}

.floating-btn a img {
  width: 25px;
  height: 25px;
  display: block;
	margin-top: 0px;
  margin-right: 8px;
}
@media (min-width: 440px){
.floating-btn a img {
  width: 28px;
  height: 28px;
	margin-top: 0px;
  margin-right: 8px;
}
}

.floating-btn a .tel{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
@media (min-width: 440px){
.floating-btn a .tel{
}
}

.floating-btn a .note{
	font-size: 1.15rem;
	line-height: 1.2;
	font-weight: 400;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.02em;
	text-align: center;
}
@media (min-width: 440px){
.floating-btn a .note{
	font-size: 1.2rem;
	line-height: 1.3;
	font-weight: 400;
	letter-spacing: 0.02em;
}
}

.floating-btn a::before{
	content: "";
	width: 63px;
	height: 64px;
	background-image: url(../img/hanbai/img-human-2.webp);
	background-size: 63px 64px;
	background-repeat: no-repeat;
	position: absolute;
	left: 20px;
	bottom: 0;
	margin: 0 0 0 -11px;
}
@media (min-width: 440px){
.floating-btn a::before{
	width: 86px;
	height: 87px;
	background-size: 86px 87px;
	left: -8px;
	bottom: 0px;
}
}

.floating-btn a::after{
	content: "";
  width: 14px;
	height: 14px;
  background-image: url(../img/hanbai/icon-arrow-rw.svg);
  background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
  position: absolute;
	top: 50%;
  right: 14px;
  margin: -7px 0 0 0;
}
@media (min-width: 960px){
.floating-btn a::after{
	display: none;
}
}

@media (min-width: 960px){
.floating-btn a:hover{
	background-color: #B3424A;
}
}


/* mv
============================================================ */
#mv{
	width: 100vw;
	height: auto;
	aspect-ratio: 10 / 14.6;
	overflow: hidden;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}
@media (min-width: 440px){
#mv{
	height: 100svh;
	aspect-ratio: auto;
}
}

@media (min-width: 960px){
#mv{
	height: 100vh;
}
}

#mv .text_wrap{
	position: absolute;
	bottom: 14.0vw;
	bottom: 8.0vw;
	left: 5.5vw;
	z-index: 1;
}
@media (min-width: 440px){
#mv .text_wrap{
	bottom: 26.0vw;
	left: 5.5vw;
}
}
@media (min-width: 960px){
#mv .text_wrap{
  bottom: 6.0vw;
	left: 5.0vw;
}
}

#mv .badge{
	width: 160px;
	height: auto;
	position: absolute;
	top: 21.0vw;
	right: 3.0vw;
}
@media (min-width: 440px){
#mv .badge{
	width: 310px;
	height: auto;
	position: absolute;
	top: 8.6vw;
	right: 3.0vw;
}
}

#mv .badge img{
	width: 100%;
	height: auto;
	display: block;
}

#mv .catch .head{
	color: #fff;
	font-size: 2.9rem;
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.5;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}
@media (min-width: 440px){
#mv .catch .head{
	font-size: 5.6rem;
	font-size: 5.0rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
}
}

#mv .catch .article{
	color: #fff;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.7;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
}
@media (min-width: 440px){
#mv .catch .article{
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
}

#mv .catch .article span{
	letter-spacing: 0em;
	margin-right: 4px;
}


/* slide
============================================================ */
#slide{
	width: 100vw;
	height: auto;
	aspect-ratio: 10 / 14.6;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #000;
	box-sizing: border-box;
}
@media (min-width: 440px){
#slide{
	height: 100svh;
	aspect-ratio: auto;
}
}
@media (min-width: 960px){
#slide{
	height: 100vh;
}
}

.metaslider{
	opacity: 0.75;
}


/* concept
============================================================ */
#concept{
	padding: 50px 0 40px 0;
}
@media (min-width: 440px){
#concept{
	padding: 100px 0 70px 0;
}
}

#concept .wrap{
	width: 100%;
	padding: 0 5.5vw;
	box-sizing: border-box;
	position: relative;
}
@media (min-width: 960px){
#concept .wrap{
	max-width: calc(900px + 10vw + 10vw);
	padding: 0 10vw;
	margin: 0 auto;
}
}

#concept .text_block .head{
	font-size: 2.55rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.08em;
}
@media (min-width: 440px){
#concept .text_block .head{
	font-size: 2.8rem;
	letter-spacing: 0.17em;
}
}
@media (min-width: 960px){
#concept .text_block .head{
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
}

#concept .text_block .article{
	font-size: 1.55rem;
	text-align: justify;
	margin-top: 20px;
}
@media (min-width: 960px){
#concept .text_block .article{
	font-size: 1.55rem;
	line-height: 2.1;
	letter-spacing: 0.06em;
	margin-top: 25px;
}
}

#concept .bg-logo{
	width: 185px;
	height: 185px;
	opacity: 0.025;
	position: absolute;
	top: -5px;
	right: -30px;
	z-index: -1;
}
@media (min-width: 440px){
#concept .bg-logo{
	width: 300px;
	height: 300px;
	top: -10px;
	right: -30px;
}
}
@media (min-width: 960px){
#concept .bg-logo{
	width: 390px;
	height: 390px;
	top: 56px;
	right: 30px;
}
}


/* concept-img
============================================================ */
#concept-img{
	z-index: -1;
	margin: -15px 0 0 0;
}
@media (min-width: 440px){
#concept-img{
	opacity: 0.95;
	margin: -170px 0 0 0;
}
}
@media (min-width: 960px){
#concept-img{
	margin: -210px 0 0 0;
}
}


/* loop-img
============================================================ */
#loop-img{
	width: 100%;
	box-sizing: border-box;
}

#loop-img ul{
	width: 100%;
	height: calc(160px + 30px);
}
@media (min-width: 960px){
#loop-img ul{
	width: 100%;
	height: calc(23vw + 50px);
}
}

#loop-img li{
	width: calc(160px + 14px);
	height: 160px;
	display: block;
	margin-right: 14px;
	box-sizing: border-box;
}
@media (min-width: 960px){
#loop-img li{
	width: calc(23vw + 30px);
	height: 23vw;
	margin-right: 30px;
}
}

#loop-img li img{
	width: auto;
	height: 100%;
	display: block;
	border-radius: 14px;
	overflow: hidden;
}
@media (min-width: 960px){
#loop-img li img{
	border-radius: 30px;
}
}

#loop-img li.shift{
	margin-top: 30px;
}
@media (min-width: 960px){
#loop-img li.shift{
	margin-top: 50px;
}
}


/* news
============================================================ */
#news{
	
	padding: 50px 0 0 0;
}
@media (min-width: 440px){
#news{
	padding: 100px 0 0 0;
}
}

#news .wrap{
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 0 5.5vw;
	margin: 0 auto;
}
@media (min-width: 960px){
#news .wrap{
	max-width: calc(1000px + 10vw + 10vw);
	padding: 0 10vw;
}
}

#news .entry_list ul li a{
	width: 100%;
	border-radius: 3px;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: center;
	align-items: flex-start;
	justify-content: space-between;
}
@media (min-width: 440px){
#news .entry_list ul li a{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
}

#news .entry_list ul li a .thumb{
	width: 100%;
	height: auto;
	aspect-ratio: 8 / 10;
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	overflow: hidden;
	background-color: #9ad6d5;
}
@media (min-width: 440px){
#news .entry_list ul li a .thumb{
	width: 100%;
	height: auto;
	aspect-ratio: 8 / 10;
}
}

#news .entry_list ul li a .thumb img{
	width: 100%;
	height: auto;
	display: block;
	transition: all 0.2s ease;
}

@media (min-width: 440px){
#news .entry_list ul li a:hover .thumb img{
	transform: scale(1.08, 1.08);
}
}

#news .swiper-nav{
	width: 100%;
	height: 40px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
	gap: 16px;
}
@media (min-width: 440px){
#news .swiper-nav{
	margin-top: 18px;
	gap: 18px;
}
}

#news .swiper-button-prev,
#news .swiper-container-rtl .swiper-button-next {
  background-image: url(../img/common/icon_arrow-l.svg);
}

#news .swiper-button-next,
#news .swiper-container-rtl .swiper-button-prev {
  background-image: url(../img/common/icon_arrow-r.svg);
}

#news .swiper-button-next,
#news .swiper-button-prev {
	width: 30px;
	height: 30px;
  position: static;
  top: auto;
	bottom: auto;
	left: auto;
	right: auto;
  margin-top: 0px;
	border-radius: 50%;
	border: 1px solid #B3424A;
  z-index: 10;
  cursor: pointer;
  background-size: 16px 16px;
  background-position: center;
  background-repeat: no-repeat;
}

#news .swiper-pagination {
  position: static;
}

#news .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #B3424A;
  opacity: .2;
	margin: 0 3px 2px;
}

#news .swiper-pagination-bullet-active {
  opacity: 1;
  background: #B3424A;
}


/* worries
============================================================ */
#worries{
	padding: 50px 0 0 0;
}
@media (min-width: 440px){
#worries{
	padding: 100px 0 40px 0;
}
}

#worries .section_title_block{
	position: relative;
	padding: 0 0 30px 0;
	margin: 0;
}
@media (min-width: 960px){
#worries .section_title_block{
	padding: 0 0 77px 0;
	padding: 0 0 60px 0;
}
}

#worries .section_bubble_title{
	color: #B3424A;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
	text-align: center;
	border-radius: 100px;;
	border: 2px solid #B3424A;
	padding: 11px 26px 11px 26.5px;
}
@media (min-width: 440px){
#worries .section_bubble_title{
	font-size: 1.7rem;
	padding: 11px 38px 11px 39px;
}
}
@media (min-width: 960px){
#worries .section_bubble_title{
	font-size: 1.9rem;
	letter-spacing: 0.09em;
	padding: 11px 38px 11px 39px;
}
}

.vertical_line-c{
	width: 2px;
	height: 20px;
	background-color: #B3424A;
}
@media (min-width: 440px){
.vertical_line-c{
	width: 2px;
	height: 20px;
}
}

#worries .section_title{
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
	text-align: center;
	padding-left: 0.08em;
}
@media (min-width: 440px){
#worries .section_title{
	font-size: 2.6rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	padding-left: 0.09em;
}
}
@media (min-width: 960px){
#worries .section_title{
	width: auto;
	font-size: 3.0rem;
}
}

#worries .img-human{
	display: none;
}
@media (min-width: 960px){
#worries .img-human{
	width: 176px;
	height: auto;
	position: absolute;
	left: 100px;
	bottom: 0;
	display: block;
}
}

#worries .list{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 26px;
}
@media (min-width: 440px){
#worries .list{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 26px 30px;
}
}
@media (min-width: 960px){
#worries .list{
	gap: 60px 40px;
}
}

#worries .list .card{
	width: 100%; 
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}
@media (min-width: 440px){
#worries .list .card{
	width: calc((100% - 30px * 1) / 2); 
}
}
@media (min-width: 960px){
#worries .list .card{
	width: calc((100% - 40px * 2) / 3); 
}
}

#worries .list .query{
	color: #FFF;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
	text-align: justify;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	position: relative;
	border-radius: 8px;
	background-color: #181818;
	padding: 15px 26px 15px 22px;
	margin: 0 0 20px 0;
}
@media (min-width: 440px){
#worries .list .query{
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.08em;
	border-radius: 8px;
	padding: 18px 26px 18px 24px;
	margin: 0 0 22px 0;
}
}
@media (min-width: 960px){
#worries .list .query{
	font-size: 1.7rem;
	padding: 54px 42px 34px 42px;
	padding: 54px 48px 34px 48px;
	margin: 0 0 30px 0;
}
}

#worries .list .query img{
	width: 44px;
	height: auto;
	display: block;
}
@media (min-width: 440px){
#worries .list .query img{
	width: 50px;
}
}
@media (min-width: 960px){
#worries .list .query img{
	width: 60px;
	position: absolute;
	top: -22px;
	left: 50%;
	margin: 0 0 0 -30px;
}
}

#worries .list .query::after{
	content: "";
	width: 22px;
	height: 12px;
	background-image: url(../img/hanbai/icon-worries-arrpw.svg);
	background-size: 22px 12px;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin: 0 0 0 -11px;
}
@media (min-width: 960px){
#worries .list .query::after{
	width: 22px;
	height: 12px;
	background-size: 22px 12px;
	bottom: -11px;
  margin: 0 0 0 -11px;
}
}

#worries .list .head{
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
}
@media (min-width: 440px){
#worries .list .head{
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.5;
}
}
@media (min-width: 960px){
#worries .list .head{
	font-size: 1.9rem;
	letter-spacing: 0.02em;
}
}

#worries .list .article{
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: justify;
	margin-top: 10px;
}
@media (min-width: 960px){
#worries .list .article{
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 10px;
}
}


/* loop-text-a
============================================================ */
#loop-text-a{
	height: 8vw;
	padding: 40px 0 40px 0;
}
@media (min-width: 960px){
#loop-text-a{
	height: 13.0vw;
	padding: 0 0 0 0;
}
}

#loop-text-a #loop-text{
	transform: rotate(4.5deg);
}

#loop-text img{
	width: 300px;
	padding-right: 26px;
	box-sizing: border-box;
	display: block;
	opacity: 0.05;
}
@media (min-width: 960px){
#loop-text img{
	width: 46vw;
	padding-right: 80px;
}
}


/* service
============================================================ */
#service{
	padding: 50px 0 0 0;
}
@media (min-width: 960px){
#service{
	padding: 100px 0 0 0;
}
}

#service .wrap{
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 0 5.5vw;
	margin: 0 auto;
}
@media (min-width: 960px){
#service .wrap{
	max-width: calc(1100px + 10vw + 10vw);
	padding: 0 10vw;
}
}


#service .list{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 18px;
}
@media (min-width: 440px){
#service .list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
}
@media (min-width: 960px){
#service .list{
	gap: 16px;
}
}

#service .list .card{
	width: 100%; 
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	background-color: #F1F1F1;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
}
@media (min-width: 440px){
#service .list .card{
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
}
}

/*#service .list .card::before{
	content: "";
  width: 20px;
	height: 20px;
  background-image: url(../img/hanbai/obj-corner.svg);
  background-size: 20px 20px;
	background-position: center;
	background-repeat: no-repeat;
  position: absolute;
	top: -1px;
  left: -1px;
	z-index: 2;
	transform: rotate(180deg);
}
@media (min-width: 960px){
#service .list .card::before{
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}
}*/

/*#service .list .card::after{
	content: "";
  width: 20px;
	height: 20px;
  background-image: url(../img/hanbai/obj-corner.svg);
  background-size: 20px 20px;
	background-position: center;
	background-repeat: no-repeat;
  position: absolute;
	bottom: -1px;
  right: -1px;
	z-index: 2;
}
@media (min-width: 960px){
#service .list .card::after{
	width: 20px;
	height: 20px;
	background-size: 20px 20px;
}
}*/

#service .list .card .img_block{
	width: 100%;
	height: auto;
	background-color: #222;
}
@media (min-width: 440px){
#service .list .card .img_block{
	width: 45%;
	order: 2;
}
}
@media (min-width: 960px){
#service .list .card .img_block{
	width: 34%;
}
}

#service .list .card .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
	box-sizing: border-box;
	z-index: 1;
	padding: 24px 20px 24px 20px;
}
@media (min-width: 440px){
#service .list .card .text_block{
	width: 55%;
	height: 100%;
	align-items: flex-start;
	padding: 0 40px;
	order: 1;
}
}
@media (min-width: 960px){
#service .list .card .text_block{
	width: 66%;
	height: 207.4px;
	padding: 0 50px 0 84px;
}
}

#service .number{
	color: #FAFAFA;
	font-size: 7.0rem;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1;
	font-style: italic;
	position: absolute;
	top: -57px;
	left: 10px;
	z-index: -1;
}
@media (min-width: 440px){
#service .number{
	font-size: 7rem;
	top: -24px;
	left: 10px;
	display: none;
}
}
@media (min-width: 960px){
#service .number{
	font-size: 10.5rem;
	top: -26px;
	left: 22px;
	display: block;
}
}

#service .list .head{
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.06em;
	text-align: center;
}
@media (min-width: 440px){
#service .list .head{
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.7;
	text-align: left;
}
}
@media (min-width: 960px){
#service .list .head{
	font-size: 1.9rem;
}
}

#service .list .article{
	font-size: 1.5rem;
	line-height: 1.5;
	text-align: justify;
	margin-top: 10px;
}
@media (min-width: 960px){
#service .list .article{
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
	margin-top: 10px;
}
}


/* genre
============================================================ */
#genre{
	padding: 50px 0 50px 0;
}
@media (min-width: 960px){
#genre{
	padding: 100px 0 100px 0;
}
}

#genre .note{
	text-align: justify;
}
@media (min-width: 960px){
#genre .note{
	font-size: 1.6rem;
	text-align: center;
}
}

#genre .list{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 10px;
	padding: 15px 0 10px;
}
@media (min-width: 440px){
#genre .list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 14px;
	padding: 15px 0 10px;
}
}

#genre .list .card{
	width: calc((100% - 10px * 2) / 3); 
	height: 120px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid #B3424A;
	border-radius: 8px;
	padding: 15px 0 15px;
	margin: 0;
	box-sizing: border-box;
}
@media (min-width: 440px){
#genre .list .card{
	width: calc((100% - 14px * 5) / 6); 
	height: auto;
	padding: 24px 0 28px;
}
}
@media (min-width: 960px){
#genre .list .card{
	width: calc((100% - 14px * 5) / 6); 
}
}

#genre .list .card img{
	width: 60%;
	height: auto;
	margin: 0 auto;
}
@media (min-width: 440px){
#genre .list .card img{
	width: 90px;
}
}

#genre .list .card .text_block{
	padding: 4px 10px 0;
}
@media (min-width: 440px){
#genre .list .card .text_block{
	padding: 4px 10px 0;
}
}

#genre h3.head{
  font-size: 1.5rem; 
	line-height: 1.2; 
	text-align: center;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.06em; 
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media (min-width: 440px){
#genre h3.head{
  font-size: 1.6rem;
}
}
@media (min-width: 960px){
#genre h3.head{
  font-size: 1.6rem;
}
}


/* flag
============================================================ */
#flag{
	padding: 40px 0 50px 0;
}
@media (min-width: 960px){
#flag{
	padding: 60px 0 100px 0;
}
}

#flag picture{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

#flag img{
	width: 100%;
	height: auto;
	display: block;
}
@media (min-width: 960px){
#flag img{
	width: 800px;
}
}


/* voice
============================================================ */
#voice{
	background-image: url(../img/hanbai/voice-bg_sp.jpg);
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	background-color: #111111;
	padding: 50px 0 50px 0;
}
@media (min-width: 440px){
#voice{
	background-image: url(../img/hanbai/voice-bg.jpg);
	background-size: cover;
	padding: 100px 0 100px 0;
}
}

#voice .list{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 16px;
}
@media (min-width: 440px){
#voice .list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px 20px;
}
}
@media (min-width: 960px){
#voice .list{
	gap: 20px 20px;
}
}

#voice .list .card{
	width: 100%; 
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border-radius: 3px;
	background-color: #FAFAFA;
	box-sizing: border-box;
	padding: 20px 20px 18px 20px;
}
@media (min-width: 440px){
#voice .list .card{
	width: calc((100% - 20px * 1) / 2); 
	padding: 16px 26px 22px 26px;
}
}
@media (min-width: 960px){
#voice .list .card{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	padding: 16px 34px 22px 34px;
}
}

#voice .list .img_block{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}

#voice .list .img_block img{
	width: 62px;
	height: auto;
	display: block;
}
@media (min-width: 440px){
#voice .list .img_block img{
	width: 70px;
}
}
@media (min-width: 960px){
#voice .list .img_block img{
	width: 72px;
	margin-top: 18px;
	margin-right: 30px;
}
}

#voice .list .data{
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: center;
	margin-top: 10px;
}
@media (min-width: 440px){
#voice .list .data{
	font-size: 1.4rem;
	line-height: 1.2;
	text-align: left;
	margin-top: 10px;
}
}

#voice .list .for-sp{
	display: block;
}
@media (min-width: 960px){
#voice .list .for-sp{
	display: none;
}
}

#voice .list .for-pc{
	display: none;
}
@media (min-width: 960px){
#voice .list .for-pc{
	display: block;
}
}

#voice .list .article{
	font-size: 1.45rem;
	line-height: 1.5;
	text-align: justify;
	margin-top: 10px;
}
@media (min-width: 440px){
#voice .list .article{
	font-size: 1.4rem;
	line-height: 1.6;
	margin-top: 10px;
}
}


/* data
============================================================ */
#data{
	background-color: #F3F3F3;
	padding: 50px 0 0px 0;
}
@media (min-width: 440px){
#data{
	padding: 100px 0 30px 0;
}
}

#data .section_title_block{
	position: relative;
}

#data .img-human{
	width: 94px;
	height: auto;
	position: absolute;
	left: 0px;
	bottom: -20px;
}
@media (min-width: 440px){
#data .img-human{
	width: 150px;
	left: 60px;
	bottom: -20px;
}
}
@media (min-width: 960px){
#data .img-human{
	width: 215px;
	left: 140px;
	bottom: -30px;
}
}

#data .data-list{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
@media (min-width: 440px){
#data .data-list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}
}

#data ul li{
	width: 100%; 
	border-radius: 3px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	background-color: #FFFFFF;
	padding: 20px 0 11px 0;
}
@media (min-width: 440px){
#data ul li{
	width: calc((100% - 14px * 2) / 3); 
	padding: 22px 0 11px 0;
}
}
@media (min-width: 960px){
#data ul li{
	width: calc((100% - 14px * 2) / 3); 
	padding: 28px 0 14px 0;
	padding: 34px 0 20px 0;
}
}

#data ul li.col2{
	width: 100%;
}
@media (min-width: 440px){
#data ul li.col2{
	width: calc((100% - 14px * 1) / 2); 
}
}

#data ul li .head{
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
}
@media (min-width: 440px){
#data ul li .head{
	font-size: 1.5rem;
}
}
@media (min-width: 960px){
#data ul li .head{
	font-size: 1.7rem;
}
}

#data ul li .text_block{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin: 8px 0 2px 0;
}
@media (min-width: 440px){
#data ul li .text_block{
	margin: 12px 0 4px 0;
}
}

#data ul li .icon img{
	width: 38px;
	height: 38px;
	margin: 0 14px 2px 0;
}
@media (min-width: 440px){
#data ul li .icon img{
	width: 30px;
	height: 30px;
	margin: 0 10px 2px 0;
}
}
@media (min-width: 960px){
#data ul li .icon img{
	width: 45px;
	height: 45px;
	margin: 0 14px 2px 0;
}
}

#data ul li .value{
	font-size: 5.0rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
}
@media (min-width: 440px){
#data ul li .value{
	font-size: 4.0rem;
}
}
@media (min-width: 960px){
#data ul li .value{
	font-size: 6.0rem;
}
}

#data ul li .first-text{
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	margin: 0 5px -8px 0;
}
@media (min-width: 440px){
#data ul li .first-text{
	font-size: 1.9rem;
	margin: 0 5px -8px 0;
}
}
@media (min-width: 960px){
#data ul li .first-text{
	font-size: 2.3rem;
	margin: 0 5px -14px 0;
}
}

#data ul li .end-text{
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin: 0 0 -5px 4px;
}
@media (min-width: 440px){
#data ul li .end-text{
	font-size: 2.2rem;
	margin: 0 0 -4px 4px;
}
}
@media (min-width: 960px){
#data ul li .end-text{
	font-size: 3.1rem;
	margin: 0 0 -8px 4px;
}
}

#data ul li .end-text.s-size{
	font-size: 2.0rem;
	margin: 0 0 -14px 4px;
}
@media (min-width: 440px){
#data ul li .end-text.s-size{
	font-size: 1.8rem;
	margin: 0 0 -6px 2px;
}
}
@media (min-width: 960px){
#data ul li .end-text.s-size{
	font-size: 2.2rem;
	margin: 0 0 -14px 4px;
}
}

#data ul li .article{
	color: #B3424A;
	font-size: 1.7rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	margin: 0 0 8px 0;
}
@media (min-width: 440px){
#data ul li .article{
	font-size: 1.5rem;
	margin: 0 0 10px 0;
}
}
@media (min-width: 960px){
#data ul li .article{
	font-size: 1.7rem;
	margin: 0 0 12px 0;
}
}


/* loop-text-b
============================================================ */
#loop-text-b{
	height: 8vw;
	background-color: #F3F3F3;
	padding: 80px 0 0px 0;
}
@media (min-width: 440px){
#loop-text-b{
	height: 10.5vw;
	padding: 8vw 0 20px 0;
}
}

#loop-text-b #loop-text{
	transform: rotate(-4.5deg);
}


/* greeting
============================================================ */
#greeting{
	background-color: #F3F3F3;
	padding: 50px 0 50px 0;
}
@media (min-width: 440px){
#greeting{
	padding: 0 0 100px 0;
}
}

#greeting .greeting_block_1{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (min-width: 960px){
#greeting .greeting_block_1{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
}

#greeting .greeting_block_1 .text_block{
	width: 100%;
	order: 2;
}
@media (min-width: 960px){
#greeting .greeting_block_1 .text_block{
	width: 57%;
	order: 1;
}
}

#greeting .greeting_block_1 .img_block{
	width: 88%;
	order: 1;
	margin: 0 auto;
}
@media (min-width: 440px){
#greeting .greeting_block_1 .img_block{
	width: 50%;
	position: relative;
	order: 1;
	margin: 0 auto 20px;
}
}
@media (min-width: 960px){
#greeting .greeting_block_1 .img_block{
	width: 35%;
	margin: 18px 0 0 0;
	order: 2;
}
}

#greeting .greeting_block_1 .img_block img{
	width: 100%;
	height: auto;
	display: block;
}
@media (min-width: 960px){
#greeting .greeting_block_1 .img_block img{
	width: 100%;
}
}

#greeting .greeting_block_2{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	border-top: 1px dashed #BABABA;
	padding-top: 50px;
}
@media (min-width: 440px){
#greeting .greeting_block_2{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	padding-top: 60px;
}
}
@media (min-width: 960px){
#greeting .greeting_block_2{
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding-top: 60px;
}
}

#greeting .greeting_block_2 .text_block{
	width: 100%;
}
@media (min-width: 440px){
#greeting .greeting_block_2 .text_block{
	width: 67%;
}
}

#greeting .greeting_block_2 .img_block{
	width: 100%;
}
@media (min-width: 440px){
#greeting .greeting_block_2 .img_block{
	width: 30%;
	position: relative;
}
}

#greeting .greeting_block_2 .img_block img{
	width: 74%;
	height: auto;
	display: block;
	margin: 0 auto;
}
@media (min-width: 440px){
#greeting .greeting_block_2 .img_block img{
	width: 210px;
	margin: 0;
}
}
@media (min-width: 960px){
#greeting .greeting_block_2 .img_block img{
	width: 310px;
}
}

#greeting .head{
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
@media (min-width: 440px){
#greeting .head{
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.12em;
}
}

#greeting .head-sub{
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.1em;
	font-feature-settings: "palt" 1; 
}
@media (min-width: 440px){
#greeting .head-sub{
	font-size: 1.7rem;
	letter-spacing: 0.1em;
}
}

#greeting .greeting_promise{
	font-size: 1.5rem;
	border: 1px solid #B3424A;
	border-radius: 3px;
	padding: 12px 16px;
}
@media (min-width: 440px){
#greeting .greeting_promise{
	font-size: 1.5rem;
	padding: 12px 22px;
}
}

#greeting .article{
	font-size: 1.45rem;
	text-align: justify;
}
@media (min-width: 440px){
#greeting .article{
	font-size: 1.5rem;
	line-height: 2.1;
	letter-spacing: 0em;
}
}

#greeting .name{
	width: 100%;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
	text-align: right;
}
@media (min-width: 440px){
#greeting .name{
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: right;
}
}

#greeting .name span{
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	margin-right: 16px;
}


/* stores
============================================================ */
#stores{
	overflow: hidden;
	background-color: #111111;
	padding: 50px 0 0 0;
}
@media (min-width: 440px){
#stores{
	padding: 100px 0 0 0;
}
}

#stores .for-pc{
	display: none;
}
@media (min-width: 440px){
#stores .for-pc{
	display: flex;
}
}

#stores .for-sp{
	display: block;
}
@media (min-width: 440px){
#stores .for-sp{
	display: none;
}
}

#stores ul.store_list{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 50px;
}
@media (min-width: 440px){
#stores ul.store_list{
	gap: 70px;
}
}
@media (min-width: 960px){
#stores ul.store_list{
	gap: 90px;
}
}

#stores .img_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
}
@media (min-width: 440px){
#stores .img_block{
	width: 100%;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 6px;
}
}
@media (min-width: 960px){
#stores .img_block{
	gap: 8px;
}
}

#stores .img_block .box1{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (min-width: 440px){
#stores .img_block .box1{
	width: 66.5%;
}
}

#stores .img_block .box1 .store_img{
	width: 100%; 
	aspect-ratio: 10 / 6.1;
	overflow: hidden;
}

#stores .img_block .box2{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 6px;
}
@media (min-width: 440px){
#stores .img_block .box2{
	width: 32.8%;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 6px;
}
}
@media (min-width: 960px){
#stores .img_block .box2{
	gap: 8px;
}
}

#stores .img_block .box1 .store_img{
	width: 100%; 
	aspect-ratio: 10 / 6.1;
	overflow: hidden;
}

#stores .img_block .box2 .store_img{
	width: 100%; 
	aspect-ratio: 10 / 6.07;
	overflow: hidden;
}

#stores .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
}
@media (min-width: 440px){
#stores .text_block{
	width: 100%;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 30px;
}
}
@media (min-width: 960px){
#stores .text_block{
	align-items: center;
	justify-content: space-between;
	gap: 0px;
	padding-top: 40px;
}
}

#stores .list{
	color: #FAFAFA;
}

#stores .store-name{
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-align: center;
}
@media (min-width: 440px){
#stores .store-name{
	font-size: 2.0rem;
	letter-spacing: 0.06em;
	text-align: left;
}
}
@media (min-width: 960px){
#stores .store-name{
	font-size: 2.6rem;
	font-weight: 500;
	letter-spacing: 0.07em;
}
}

#stores .list dl{
	display: flex;
	flex-direction: column;
	flex-direction: row;
  align-items: flex-start;
	justify-content: flex-start;
	padding: 2px 0;
}
@media (min-width: 440px){
#stores .list dl{
	flex-direction: row;
  align-items: flex-start;
	justify-content: flex-start;
	padding: 1px 0;
}
}
@media (min-width: 960px){
#stores .list dl{
	flex-direction: row;
  align-items: flex-start;
	justify-content: flex-start;
	padding: 2.5px 0;
}
}

#stores .list dl dt{
	width: 25%;
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
@media (min-width: 440px){
#stores .list dl dt{
	width: 70px;
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
}
@media (min-width: 960px){
#stores .list dl dt{
	width: 100px;
	font-size: 1.6rem;
}
}

#stores .list dl dd{
	width: 75%;
	font-size: 1.5rem;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
	text-align: justify;
}
@media (min-width: 440px){
#stores .list dl dd{
	width: auto;
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-align: left;
}
}
@media (min-width: 960px){
#stores .list dl dd{
	font-size: 1.6rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	font-feature-settings: "palt" 0;
}
}

#stores .list dl dd .note{
	font-size: 1.45rem;
}
@media (min-width: 440px){
#stores .list dl dd .note{
	font-size: 1.3rem;
}
}
@media (min-width: 960px){
#stores .list dl dd .note{
	font-size: 1.55rem;
}
}

#stores .store_map{
	width: 100%;
	height: 320px;
	border-radius: 2px;
	overflow: hidden;
	background-color: #222;
}
@media (min-width: 440px){
#stores .store_map{
	width: 340px;
	height: 230px;
	border-radius: 2px;
}
}
@media (min-width: 960px){
#stores .store_map{
	width: 520px;
	height: 310px;
}
}

#stores iframe{
	width: 100%;
	height: 320px;
	display: block;
}
@media (min-width: 440px){
#stores iframe{
	width: 340px;
	height: 230px;
}
}
@media (min-width: 960px){
#stores iframe{
	width: 520px;
	height: 310px;
}
}

#stores .bg-logo{
	width: 240px;
	height: 240px;
	opacity: 0.025;
	position: absolute;
	top: -20px;
	right: -80px;
	z-index: -1;
}
@media (min-width: 440px){
#stores .bg-logo{
	width: 400px;
	height: 400px;
	top: -20px;
	right: -110px;
}
}
@media (min-width: 960px){
#stores .bg-logo{
	width: 600px;
	height: 600px;
	top: -20px;
	right: -110px;
}
}

#stores .horizontal_line{
	width: 100%;
	height: 1px;
	background-color: #333333;
}


/* store
============================================================ */
#store{
	display: none;
	overflow: hidden;
	background-color: #111111;
	padding: 50px 0 0 0;
}
@media (min-width: 440px){
#store{
	padding: 100px 0 0 0;
}
}

#store ul.store_list{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
}
@media (min-width: 440px){
#store ul.store_list{
	gap: 40px;
}
}

#store .for-pc{
	display: none;
}
@media (min-width: 440px){
#store .for-pc{
	display: flex;
}
}

#store .for-sp{
	display: flex;
}
@media (min-width: 440px){
#store .for-sp{
	display: none;
}
}

#store ul.store_list li.card{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	border-bottom: 0px solid #333;
	padding-bottom: 0px;
}
@media (min-width: 440px){
#store ul.store_list li.card{
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-bottom: 10px;
}
}
@media (min-width: 960px){
#store ul.store_list li.card{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: 10px;
}
}

#store .img_block{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 6px 6px;
}
@media (min-width: 440px){
#store .img_block{
	width: 76%;
	gap: 6px 6px;
}
}
@media (min-width: 960px){
#store .img_block{
	width: 600px;
	gap: 8px 8px;
}
}

#store .img_block .store_img{
	width: calc((100% - 6px * 1) / 2); 
	aspect-ratio: 10 / 6.1;
	overflow: hidden;
}
@media (min-width: 440px){
#store .img_block .store_img{
	width: calc((100% - 6px * 1) / 2); 
}
}
@media (min-width: 960px){
#store .img_block .store_img{
	width: calc((100% - 8px * 1) / 2); 
}
}

#store .img_block .store_img:first-child{
	width: 100%; 
}

#store .text_block{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 20px;
}
@media (min-width: 440px){
#store .text_block{
	width: 100%;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 40px;
	padding-top: 30px;
}
}
@media (min-width: 960px){
#store .text_block{
	width: 440px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 31px;
	padding-top: 0;
}
}

#store .list{
	color: #FAFAFA;
}

#store .store-name{
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
}
@media (min-width: 440px){
#store .store-name{
	font-size: 2.3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: left;
}
}

#store .list dl{
	display: flex;
	flex-direction: column;
	flex-direction: row;
  align-items: flex-start;
	justify-content: flex-start;
	padding: 2px 0;
}
@media (min-width: 440px){
#store .list dl{
	flex-direction: row;
  align-items: flex-start;
	justify-content: flex-start;
	padding: 1px 0;
}
}

#store .list dl dt{
	width: 25%;
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
@media (min-width: 440px){
#store .list dl dt{
	width: 70px;
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
}
@media (min-width: 960px){
#store .list dl dt{
	width: 90px;
	font-size: 1.5rem;
}
}

#store .list dl dd{
	width: 75%;
	font-size: 1.5rem;
	line-height: 1.4;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
	text-align: justify;
}
@media (min-width: 440px){
#store .list dl dd{
	width: auto;
	font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-align: left;
}
}
@media (min-width: 960px){
#store .list dl dd{
	font-size: 1.5rem;
}
}

#store .store_map{
	width: 100%;
	height: 320px;
	border-radius: 2px;
	overflow: hidden;
	background-color: #222;
}
@media (min-width: 440px){
#store .store_map{
	width: 45%;
	height: 230px;
	border-radius: 2px;
}
}
@media (min-width: 960px){
#store .store_map{
	width: 440px;
	height: 280px;
}
}

#store iframe{
	width: 100%;
	height: 320px;
	display: block;
}
@media (min-width: 440px){
#store iframe{
	height: 230px;
}
}
@media (min-width: 960px){
#store iframe{
	width: 440px;
	height: 280px;
}
}

#store .bg-logo{
	width: 240px;
	height: 240px;
	opacity: 0.02;
	position: absolute;
	top: -20px;
	right: -80px;
	z-index: -1;
}
@media (min-width: 440px){
#store .bg-logo{
	width: 400px;
	height: 400px;
	top: -20px;
	right: -110px;
}
}
@media (min-width: 960px){
#store .bg-logo{
	width: 600px;
	height: 600px;
	top: -20px;
	right: -110px;
}
}


/* faq
============================================================ */
#faq{
	background-color: #FCFCFC;
	padding: 50px 0 50px 0;
}
@media (min-width: 440px){
#faq{
	padding: 100px 0 100px 0;
}
}

#faq .wrap{
	width: 100%;
	padding: 0 5.5vw;
	box-sizing: border-box;
}
@media (min-width: 960px){
#faq .wrap{
	max-width: calc(1000px + 10vw + 10vw);
	padding: 0 10vw;
	margin: 0 auto;
}
}

#faq .faq-list{
	display: flex;
	flex-direction: column;
	gap: 10px;
}
@media (min-width: 440px){
#faq .faq-list{
	gap: 10px;
}
}

#faq .faq-list .accordion{
	border: 1px solid #CCC;
	border-radius: 4px;
}

#faq .faq-list .accordion .accordion_header{
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition: all 0.2s ease;
	display: flex;
	flex-shrink: 0;
	flex-direction: row;
  align-items: center;
	justify-content: flex-start;
	border-radius: 5px;
	padding: 12px 24px 12px 12px;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_header{
	padding: 20px 40px 20px 26px;
}
}

#faq .faq-list .accordion .accordion_header .q{
	color: #1C2C85;
	width: 48px;
	font-size: 2.5rem;
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 400;
	line-height: 1;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_header .q{
	width: 80px;
	font-size: 3.0rem;
}
}

#faq .faq-list .accordion .accordion_header .number{
	font-size: 1.4rem;
	padding-left: 1px;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_header .number{
	font-size: 1.8rem;
	padding-left: 3px;
}
}

#faq .faq-list .accordion .accordion_header .question{
	width: 80%;
  font-size: 1.5rem;
	letter-spacing: 0.03em;
	font-feature-settings: "palt" 1;
	line-height: 1.5;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_header .question{
	font-size: 1.6rem;
	letter-spacing: 0.08em;
}
}

#faq .faq-list .accordion .accordion_header .i_box{
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 11px;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_header .i_box{
	right: 26px;
}
}

#faq .faq-list .accordion .accordion_header .i_box .one_i{
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

#faq .faq-list .accordion .accordion_header.open .i_box{
  -webkit-transform: rotate(-0deg);
  transform: rotate(-0deg);
}

#faq .faq-list .accordion .accordion_header .i_box .one_i:before,
#faq .faq-list .accordion .accordion_header .i_box .one_i:after{
  display: flex;
  content: '';
  background-color: #1C2C85;
  border-radius: 0px;
  width: 18px;
  height: 2px;
  position: absolute;
  top: 8px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}

#faq .faq-list .accordion .accordion_header .i_box .one_i:before{
  width: 2px;
  height: 18px;
  top: 0;
  left: 8px;
}

#faq .faq-list .accordion .accordion_header.open .i_box .one_i:before{
  content: none;
}

#faq .faq-list .accordion .accordion_header.open .i_box .one_i:after{
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#faq .faq-list .accordion .accordion_inner{
  display: none;
	font-size: 1.4rem;
	line-height: 1.5;
  padding: 0 10px 13px 60px;
  box-sizing: border-box;
}
@media (min-width: 440px){
#faq .faq-list .accordion .accordion_inner{
  font-size: 1.5rem;
	line-height: 1.6;
	padding: 0 56px 20px 105px;
}
}


/* contact
============================================================ */
#contact{
	background-color: #111111;
	padding: 50px 0 50px 0;
}
@media (min-width: 440px){
#contact{
	padding: 100px 0 100px 0;
}
}

#contact .wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media (min-width: 960px){
#contact .wrap{
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
}
}

#contact .title_block{
	width: 100%;
}
@media (min-width: 960px){
#contact .title_block{
	width: 20%;
}
}

#contact .for-pc{
	display: none;
}
@media (min-width: 960px){
#contact .for-pc{
	display: block;
}
}

#contact .for-sp{
	display: block;
}
@media (min-width: 960px){
#contact .for-sp{
	display: none;
}
}

#contact .section_title_block{
	align-items: center;
}
@media (min-width: 960px){
#contact .section_title_block{
	align-items: flex-start;
}
}

#contact .section_title{
	text-align: center;
}
@media (min-width: 960px){
#contact .section_title{
	text-align: left;
	padding-left: 0;
}
}

#contact .section_title_en{
	text-align: center;
}
@media (min-width: 960px){
#contact .section_title_en{
	text-align: left;
	line-height: 2.8;
	padding-left: 0;
}
}

#contact .title_block .picture{
	display: none;
}
@media (min-width: 960px){
#contact .title_block .picture{
	display: block;
}
}


#contact .title_block p.article{
	font-size: 1.5rem;
	text-align: center;
	letter-spacing: 0.06em;
}
@media (min-width: 960px){
#contact .title_block p.article{
	font-size: 1.45rem;
	text-align: left;
	letter-spacing: 0;
}
}

#contact .contact_list{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 25px;
}
@media (min-width: 440px){
#contact .contact_list{
	margin-top: 30px;
}
}
@media (min-width: 960px){
#contact .contact_list{
	width: 74%;
	margin-top: 0;
}
}

#contact .contact_list li{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	position: relative;
	box-sizing: border-box;
	border-radius: 3px;
	background-color: #FAFAFA;
	padding: 20px 20px;
}
@media (min-width: 440px){
#contact .contact_list li{
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 30px 40px;
}
}

#contact .contact_list li.for-form{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 20px 20px 6px 20px;
}
@media (min-width: 440px){
#contact .contact_list li.for-form{
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 40px 40px 6px 40px;
}
}

#contact .contact_list li .head_block,
#contact .contact_list li .btn_block{
	width: 100%;
}
@media (min-width: 440px){
#contact .contact_list li .head_block,
#contact .contact_list li .btn_block{
	width: auto;
}
}

#contact .contact_list li .head_block .note{
	text-align: center;
}
@media (min-width: 440px){
#contact .contact_list li .head_block .note{
	text-align: left;
}
}

#contact .contact_list li .head{
	width: 100%;
	font-size: 1.7rem;
	line-height: 1.5;
	font-weight: 600;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.08em;
	text-align: center;
}
@media (min-width: 440px){
#contact .contact_list li .head{
	width: auto;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	text-align: left;
}
}

#contact .contact_list li .head .roboto{
	font-size: 116%;
	font-weight: 400;
	margin: 0 0.1em 0 0;
	vertical-align: -0.04em;
}

#contact .contact_list li .btn_block .note{
	font-size: 1.35rem;
	line-height: 1.5;
	font-weight: 400;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
	text-align: center;
}
@media (min-width: 440px){
#contact .contact_list li .btn_block .note{
	font-size: 1.1rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}
}

#contact .bg-logo{
	display: none;
}
@media (min-width: 960px){
#contact .bg-logo{
	width: 880px;
	height: 880px;
	opacity: 0.03;
	display: block;
	position: absolute;
	bottom: -150px;
	left: -178px;
	z-index: -1;
}
}


/* kobutsuya-service
============================================================ */
#kobutsuya-service{
	width: 100vw;
	position: relative;
	background-color: #F3F3F3;
	padding: 60px 0 50px 0;
}
@media (min-width: 440px){
#kobutsuya-service{
	padding: 100px 0 100px 0;
}
}

#kobutsuya-service .title_block{
	position: relative;
}

#kobutsuya-service h2.section-title{
  font-size: 1.8rem;
	font-weight: 700;
  line-height: 1.9;
	letter-spacing: 0.1em;
	font-feature-settings: "palt" 1;
	text-align: center;
	padding-left: 0.1em;
	text-decoration: underline;
  text-decoration-color: #333333;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;       
}
@media (min-width: 440px){
#kobutsuya-service h2.section-title{
  font-size: 2.1rem;
}
}
@media (min-width: 960px){
#kobutsuya-service h2.section-title{
  font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.9;
	text-underline-offset: 6px; 
	letter-spacing: 0.1em;
	padding-left: 0.1em;
}
}

#kobutsuya-service .bg-logo{
	width: 140px;
	height: 140px;
	position: absolute;
	top: 50%;
	left: 50%;
	opacity: 0.05;
	margin: -70px 0 0 -70px;
	z-index: 0;
}
@media (min-width: 960px){
#kobutsuya-service .bg-logo{
  width: 170px;
	height: 170px;
	margin: -85px 0 0 -85px;
}
}

#kobutsuya-service .list{
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
@media (min-width: 440px){
#kobutsuya-service .list{
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 4px 4px;
}
}

#kobutsuya-service ul.list li{
	width: 100%; 
	height: 280px;
	border-radius: 2px;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
@media (min-width: 440px){
#kobutsuya-service ul.list li{
	width: calc((100% - 4px * 2) / 3); 
	height: auto;
	aspect-ratio: 100 / 86;
}
}

#kobutsuya-service ul.list li:nth-child(1){
	background-image: url(../img/common/service-img1.jpg);
}

#kobutsuya-service ul.list li:nth-child(2){
	background-image: url(../img/common/service-img2.jpg);
}

#kobutsuya-service ul.list li:nth-child(3){
	background-image: url(../img/common/service-img3.jpg);
}

#kobutsuya-service ul.list li:nth-child(4){
	background-image: url(../img/common/service-img4.jpg);
}

#kobutsuya-service ul.list li:nth-child(5){
	background-image: url(../img/common/service-img5.jpg);
}

#kobutsuya-service ul.list li:nth-child(6){
	background-image: url(../img/common/service-img6.jpg);
}

#kobutsuya-service ul.list li a{
	color: #FAFAFA;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	position: relative;
	box-sizing: border-box;
	padding: 0 28px;
}
@media (min-width: 440px){
#kobutsuya-service ul.list li a{
	padding: 8px 42px 0 42px;
}
}

#kobutsuya-service ul.list li a::after{
	content: "";
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
	background-color: rgba(38, 27, 47, 0.80);
	position: absolute;
	top: 0;
	left: 0;
	transition: all 0.3s ease;
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a:hover::after{
	background-color: rgba(38, 27, 47, 0.92);
}
}

#kobutsuya-service ul.list .card .text_block{
	width: 100%;
	z-index: 2;
}
@media (min-width: 440px){
#kobutsuya-service ul.list .card .text_block{
	width: 100%;
}
}

#kobutsuya-service ul.list li a .number{
	font-family: "Roboto", sans-serif;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 6px;
}
@media (min-width: 440px){
#kobutsuya-service ul.list li a .number{
	font-size: 1.3rem;
	margin-bottom: 6px;
}
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a:hover .number{
	margin-bottom: 6px;
}
}

#kobutsuya-service ul.list li a .head{
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.14em;
	text-align: center;
}
@media (min-width: 440px){
#kobutsuya-service ul.list li a .head{
	font-size: 2.2rem;
	font-weight: 500;
}
}

#kobutsuya-service ul.list li a .article{
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: justify;
	margin-top: 10px;
}
@media (min-width: 440px){
#kobutsuya-service ul.list li a .article{
	font-size: 1.35rem;
	line-height: 1.6;
	transition: all 0.2s ease;
	opacity: 0;
	height: 1px;
	overflow: hidden;
	margin-top: 10px;
}
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a:hover .article{
	opacity: 1;
	height: auto;
	margin-top: 10px;
}
}

#kobutsuya-service ul.list li a .btn{
	color: #FAFAFA;
	width: 134px;
	height: 42px;
	font-size: 1.3rem;
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.06em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 16px;
	border-radius: 4px;
	border: 1px solid #FAFAFA;
	box-sizing: border-box;
	z-index: 2;
	margin-top: 15px;
}
@media (min-width: 960px){
#kobutsuya-service ul.list li a .btn{
	margin-top: 20px;
	font-weight: 400;
}
}

#kobutsuya-service ul.list li a .btn svg{
	fill: #FAFAFA;
	width: 14px;
	height: 14px;
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a:hover .btn{
	margin-top: 16px;
}
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a .btn:hover{
	color: #111111;
	border: 1px solid #FAFAFA;
	background-color: #FAFAFA;
	transition: all 0.2s ease;
}
}

@media (min-width: 960px){
#kobutsuya-service ul.list li a .btn:hover svg{
	fill: #111111;
}
}



/* ==========================================================================
   footer
   ========================================================================== */
#footer{
  width: 100vw;
	background-color: #FFFFFF;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	padding: 46px 0 30px 0;
	position: relative;
}
@media (min-width: 960px){
#footer{
	padding: 46px 0 40px 0;
}
}

#footer .wrap{
	width: 100%;
  display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	padding: 0 6vw;
}
@media (min-width: 440px){
#footer .wrap{
	padding: 0 8vw;
}
}

#footer .footer-logo{
	width: 240px;
  height: auto;
}
@media (min-width: 440px){
#footer .footer-logo{
	width: 260px;
}
}

#footer img{
	width: 100%;
	height: auto;
	display: block;
}

#footer .footer-nav{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
}
@media (min-width: 440px){
#footer .footer-nav{
	width: auto;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
}

#footer .footer-nav span{
	display: none;
}
@media (min-width: 440px){
#footer .footer-nav span{
	color: #DDD;
	font-size: 1.3rem;
	display: block;
}
}

#footer .footer-nav a{
	color: #333;
	font-size: 1.5rem;
	font-weight: 400;
  line-height: 1;
	letter-spacing: 0.06em;
  display: block;
	text-align: center;
	display: block;
	padding: 7px 0;
}
@media (min-width: 440px){
#footer .footer-nav a{
  font-size: 1.4rem;
	padding: 0;
	margin: 0 10px;
	transition: all 0.2s ease;
}
}

@media (min-width: 960px){
#footer .footer-nav a:hover{
  color: #AAA;
}
}

#footer .copyright{
	color: #AAA;
  font-size: 1.0rem;
	line-height: 1;
	letter-spacing: 0.08em;
	text-align: center;
}
@media (min-width: 440px){
#footer .copyright{
	font-size: 1.0rem;
}
}
