@charset "utf-8";

@import url("location.css");
@import url("option.css");
@import url("access.css");
@import url("taizoin.css");
@import url("hanatoro.css");
@import url("location-vip.css");
@import url("teaexperience.css");
@import url("appeal-point.css");
@import url("guide.css");
@import url("lace-kimono.css");
@import url("qa.css");

body
{
    font-family: "segoe UI", 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, sans-serif;
}
.top-notification {
	padding: 1em;
    background-color: #f6d0d4;
}
.top-notification p {
    line-height: 1.3;
}
.home__menu_container, .top__hair_container, .riyou_plan_container {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.home__menu_item {
	width: calc(100% / 2 - 10px);
	margin: 5px;
	padding: 10px;
	text-align: center;
	box-sizing: border-box;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	background: rgb(127,177,235);
	background: radial-gradient(circle, rgba(127,177,235,1) 0%, rgba(84,191,190,1) 100%);
	font-size: 15px;
	line-height: 1.5;
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.15);
}
.home__menu_item a {
	color: #fff;
	font-weight: 700;
}

.top__menu_button {
  flex: 1 1 calc(50% - 10px) !important;
  max-width: 200px !important;
  display: flex !important;
 flex-direction: column;
  justify-content: center !important; 
  align-items: center !important;     
  margin: 5px !important;
  padding: 15px 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  border-radius: 35px !important;
  background: radial-gradient(circle, #ff9e64 10%, #d32f2f 100%) !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.15) !important;
  transition: background 0.3s ease !important;
}

.top__menu_button a {
  display: block !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}


.grid__ninki .lead-box__view img {
    object-fit: cover;
}
.lead-box__view img {
    border-radius: 0%;
    object-fit: cover;
}
.fs-p-footerPageTop {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin: 0 auto;
    padding: 0 12px;
    max-width: 1216px;
}
.fs-p-footerPageTop__link {
    position: fixed;
    z-index: 10000;
	background: #fff;
	color: #000;
    padding: 5px;
    opacity: .8;
	border-radius: 3px;
}
.section__heading {
	border-bottom: none;
	text-align: center;
	font-size: 22px;
}
.cam-title {
	font-size: 16px;
	font-weight: 700;
	margin: 20px 0 13px 0;
	line-height: 1.3;
}
.campaign__flexarea {
	display: flex;
	flex-wrap: wrap;
}
.cam-txt p {
	line-height: 1.5;
}
.campaign-box {
	border: 3px solid #e8e8e8;
	padding: 0 1em 1em 1em;
	background: #fff;
}
.cam-button a {
	padding: 10px 0;
	font-weight: 700;
	font-size: 18px !important;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cam-date {
	padding: 0.5em;
    margin-top: 0.5em;
    font-size: 0.9em;
    background: #f7c0c5;
    border-radius: 20px;
}
.cam-date span {
	font-weight: bold;
}
.return-body {
	display: flex;
	align-items: center;
    justify-content: center;
	flex-wrap: wrap;
	padding: 10px 0;
}
.top__hair_box {
	width: calc(100%/3);
}
.home-recommend__grid p {
	line-height: 1.3;
    margin-top: 7px;
    font-size: 13px;
    font-weight: 700;
}
.lead-box__badge {
  position: relative;
}
.triangle {
	position: absolute;
	border-bottom: 70px solid transparent;
    border-left: 70px solid red;
	z-index: 1;
}
.triangle_label {
	position: absolute;
    top: 10px;
    left: 5px;
    font-size: 14px;
    color: #fff;
    transform: rotate(-45deg);
	z-index: 1;
}
.riyou_plan_container div {
	background: #fe759f;
    color: #fff;
    border-radius: 30px;
    padding: 6px 14px;
    font-size: 12px;
	margin: 3px;
}
.lead-box__desc span {
	display: block;
	font-weight: 700;
	padding: 10px 0;
    font-size: 20px;
}
.cam-img img {
   object-fit: contain; 
}
.home-feature__heading {
    font-weight: bold;
    text-align: center;
}

.teavideo {
  position: relative;
  width: 100%;
  max-width: 800px;  
  margin: 0 auto;    
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  }

.teavideo iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }

.teavideo-thumb {
  width: 100%;
  padding: 0;
  margin: 0;
}


@media screen and (max-device-width: 480px)
{
	.site-signature .corporate-logo {
		width: 13%;
		padding-top: 7px;
	}
	.site-signature__inner {
		height: 50px;
	}
	.breadcrumbs, .breadcrumbs a {
		line-height: 1.8rem;
	}
	.torioki {
		margin: 1em 0;
		background-color:lightyellow;
		border: 1px dotted #cccccc;
		padding: 1em;
		line-height: 1.6em;
	}
	.plan-card__align {
		display: -webkit-inline-flex;
		display: inline-flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-align-items: stretch;
		align-items: stretch;
		-webkit-align-content: stretch;
		align-content: stretch;
		-webkit-flex-direction: row;
		flex-direction: row;
	}
	.plan-gallery__grid > * {
		margin-top: 20px;
		margin-left: 8px;
		width: calc(1 / 2 * 100% - 13px);
	}
	.main-header__heading {
		font-size: 2rem;
		font-weight: bold;
	}
	.main-header__desc {
		font-size: 1.3rem;
	}
	.plan-card__caption {
		padding: 5px;
	}
	.plan-card__headline {
		line-height: 2.1rem;
	}
	.plan-card__nav > * {
		width: 100%;
		margin-bottom: 5px;
	}
	.plan-card__nav {
		margin-left: -8px;
	}
	.site-container {
		padding-top: 10px !important;
	}
	.yukata-product__heading {
		font-size: 3rem;
	}
	.caption {
		line-height: 1.8rem;
		text-align: center;
		margin: 0.8em;
	}
	#boots table span {
		background-color: #cccccc;
	}
	#boots table .font_6 {
		margin: 0.5em 0 1em 0;
		font-size: 0.7em;
	}
	.kimono-plan-section__heading {
		font-weight: bold;
	}
	.kimono-plan-section__contents {
		padding: 10px 0;
	}
	.wp-block-gallery {
		margin-top: 2em;
	}
	.wp-block-gallery .blocks-gallery-item {
		width: 100% !important;
	}
	.wp-block-gallery .blocks-gallery-item {
		margin: 8px !important;
	}
	.yukata_sale_price {
		font-size: 18px;
		margin-top: 1em;
		width: 100%;
		border-bottom: 1px solid #ccc;
	}
	.yukata_sale_price tr td {
		padding: 1em;
		border: 1px solid #ccc;
		border-bottom: none;
		display: block;
	}
	.yukata_sale_price .name {
		background-color: #f4f4f4;
	}
	.plan-card__limited > .__label{
		font-size: 1.2rem;
		background-color: #ffffff;
		color: #aa222a;
		padding: 6px;
		border: 1px dashed #aa222a;
	}
	.main-header-eyecatch {
		height: 180px;
	}
	
	.sub-area {
		font-size: 1.6rem;
		font-weight: bold;
		color: #aa222a;
		text-align: center;
		line-height: 1.25;
		margin-top: 0.5em;
	}
	.blog-body-grid__content .item-grid__text .title {
		font-size: 1.3rem;
		line-height: 1.6rem;
	}
	.blog-body-grid__content .item-grid__text .belong .label {
		font-size: 13px;
		margin-bottom: 3px;
	}
	.kimono-flyer {
		padding: 40px 15px;
	}
	.kimono-flyer__main {
		font-size: 2rem;
	}
	.landing-section__heading {
		margin-top: 2em;
	}
	.footer_menu {
		text-align: center;
		margin-top: 2em;
		font-size: 1.5rem;
	}
	.footer_menu li {
		display: inline-block;
		margin-right: 0.5em;
	}
	.footer_menu li a {
		text-decoration: underline;
	}
	.site-footer__copyright {
		margin-top: 18px;
	}
	.detail-content-grid__text .belong .label {
		margin-bottom: 3px;
	}
	.detail-content-grid__text .title{
		line-height: 1.3;
	}
	.sidebar-category {
		margin-top: 2em;
	}
	.lead-box__desc span {
		font-weight: 700;
	}
	.detail-content-grid__view img {
		margin-bottom: 0.5em;
	}
	.brand-kimono td {
		line-height: 1.5;
	}
	.detail-content-grid__desc h2 {
		line-height: 1.3;
	}
	.detail-content-grid__desc p {
		font-size: 1.5rem;
	}
	.detail-content-grid__text .belong {
		font-size: 1.2rem;
	}
	.detail-content-grid__text .date {
		font-size: 1.2rem;
	}

	.instagram-media-rendered {
		height: 28em;
	}
	.sp-corporate-lang {
		display: table-cell;
		left: 2em;
		top: -1.9em;
		width: 195px;
	}
	.corporate-lang select, .corporate-nav select {
		font-size: 16px;
		transform: scale(0.8);
	}
	.corporate-lang:after, .corporate-nav:after {
		right: 33px;
	}
	.site-footer__lang .corporate-lang {
		margin-left: -1.5em;
	}
	.info_wasan_gojo {
		border: 3px solid #e8e8e8;
		padding: 1em;
	}
	.info_wasan_gojo .info_container {
		border-bottom: 1px solid #e8e8e8;
		padding-bottom: 1.3em;
	}
	.info_wasan_gojo .c_infodate {
		color: #aa222a;
		margin-bottom: 0.5em;
	}
	.info_wasan_gojo .c_infotext {
		line-height: 1.5;
	}
	.info_wasan_gojo .c_infotext p {
		line-height: 1.5;
	}
	.walking-front__heading {
		font-size: 3rem;
	}
	.osusume_spot_part {
		margin: 1em;
	}
	.spot_detail .spot_name {
		font-size: 2rem;
		font-weight: 700;
		padding: 0.5em 0.5em 0.5em 0;
	}
	.spot_detail .spot_time {
		padding: 0.2em;
		border-top: 4px double #f7c0c5;
		border-bottom: 4px double #f7c0c5;
	}
	.spot_detail .spot_txt {
		margin-top: 0.5em;
		line-height: 1.5;
	}
	.home-main-area__view img {
		height: 250px;
		object-fit: cover;
	}
	.fs-p-footerPageTop__link {
		top: 80%;
	}
	.yukata-header .main-header-eyecatch {
		height: 250px;
	}
	.photographer .important-links {
		display: none;
	}
	.important-links {
		position: fixed;
		bottom: 0;
		width: 100%;
	}
	a.important-links-book {
		width: 60%;
		background: rgba(170, 34, 42, 0.8);
        font-size: 14px;
	}
	a.important-links-book li {
		display: flex;
        align-items: center;
		margin-left: 10px;
	}
	a.important-links-map, a.important-links-plan {
		width: 20%;
		align-items: center;
		text-align: center;
		background: rgba(21,40,61,0.8);
		font-size: 11px;
	}
	.important-links ul {
		display: flex;
	}
	.important-links a {
		color: #fff;
		border-right: 1px dotted #fff;
		list-style: none;
		height: 55px;
        display: grid;
	}
	.important-links a:last-child {
		border: none;
	}
	.important-links i {
		font-size: 18px;
		display: block;
		padding: 0.3em;
	}
	.important-links li a:link, .important-links li a:visited {
		text-decoration: none;
		color: #fff;
	}
	.important-links li a:hover {
		color: #fff;
	}
	.cam-img {
		width: 43%;
		margin-right: 20px;
	}
	.cam-txt {
		width: 50%;
	}

	.section_fullscreen {
		background-image: url(/common/img/common/diagonal-noise.png);
		background-position: left top, left top;
		background-repeat: repeat, no-repeat;
		background-size: auto;
		box-sizing: content-box;
        margin-left: -15px;
        margin-right: -15px;
        padding: 60px 15px 30px 15px;
	}
	.return-index-btn {
		width: calc(100%/2 - 20px);
		margin: 10px;
	}
	.return-index-btn span {
		font-size: 70%;
		display: block;
		line-height: 1;
	}
	.return-index-btn a .return-line {
		width: 100%;
		color: #fff;
		text-align: center;
		background: rgb(89,14,19);
		background: linear-gradient(0deg, #B22222 0%, #DC4E2C 50%, #FF4500 100%); 
		border-radius: 0.8rem;
		box-shadow: 0 4px 0 0 #cacaca;
		box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.47);
		padding: 2rem 0.5em;
		height: 100px;
		font-size: 18px;
		font-weight: 900;
		line-height: 1;
	}
	

  .new-return-link {
    display: flex;               
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    color: #fff;
    background: linear-gradient(0deg, #B22222 0%, #DC4E2C 50%, #FF4500 100%); 
    border-radius: 0.8rem;
    box-shadow: 0 4px 0 0 #cacaca, 0 0 9px rgba(0,0,0,0.47);
    padding: 1rem 0.5em;
    height: 100px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
  }
	
	
	.header__lang_container {
		display: flex;
		align-items: center;
		box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.1);
		background-color: #f0f0f0;
	}
	.header__lang_container div {
		width: calc(100% / 4);
        text-align: center;
        font-size: 11px;
        border-right: 1px dotted #666;
	}
	.header__lang_container div a {
		height: 25px;
        align-items: center;
        display: grid;
	}
	.header__lang_container div:last-child {
		border-right: none;
	}
	.grid__ninki .lead-box {
		width: 85%;
		margin: 0 auto;
	}
	.grid__ninki .lead-box:not(:first-child) {
		margin-top: 35px;
	}
	.triangle_label {
		top: 20px;
		left: 12px;
	}
    .grid__ninki .lead-box__view img {
        height: 383px;
    }
    .lead-box__view img {
        height: 223px;
    }
}
 
	  

@media screen and (min-width: 601px)
{
	.pc-none {
		display: none;
	}
	.site-signature .corporate-logo {
		float: left;
		width: 45px;
	}
	.site-signature__heading {
		font-size: 1.2rem;
	}
	.site-signature__desc {
		font-size: 1.2rem;
	}
	.site-signature__concept {
		float: left;
	}
	.site-signature .corporate-lang {
		width: 20%;
	}
	.corporate-lang select {
		padding: 3px 30px 3px 20px;
	}
	.home-main-area__view img {
        height: 500px;
        object-fit: cover;
    }
	.torioki {
		margin: 1em 0;
		background-color:lightyellow;
		border: 1px dotted #cccccc;
		padding: 1em;
		line-height: 1.6em;
	}
	.plan-gallery__grid > * {
		width: calc(1 / 4 * 100% - 40px);
	}
	.main-header__heading {
		font-size: 3.5rem;
		font-weight: bold;
	}
	.main-header__desc {
		font-size: 1.5rem;
	}
	.plan-card__caption {
		padding: 5px;
	}
	.plan-card__headline {
		line-height: 2.1rem;
	}
	.plan-card__nav > * {
		width: 100%;
		margin-bottom: 5px;
	}
	.site-container {
		padding-top: 30px;
	}
	.yukata-product__heading {
		font-size: 3.6rem;
	}
	.caption {
		line-height: 2.2rem;
		text-align: center;
		margin: 1.5em;
	}
	#boots table span {
		background-color: #cccccc;
		padding: 0.1em;
	}
	#boots table .font_6 {
		margin: 0.5em 0 1em 0;
	}
	.yukata_sale_price {
		font-size: 20px;
		margin-top: 1em;
		width: 100%;
	}
	.yukata_sale_price tr td {
		width: 50%;
		padding: 1em;
		border: 1px solid #ccc;
	}
	.yukata_sale_price .name {
		background-color: #f4f4f4;
	}
	.plan-card__limited > .__label {
		font-size: 1.2rem;
		background-color: #ffffff;
		color: #aa222a;
		padding: 6px;
		border: 1px dashed #aa222a;
	}
	.main-header-eyecatch {
		height: 500px;
	}
	.home-main-area__catch {
    font-size: 2.8rem;      
    line-height: 1.1;
	}
	.sub-area {
    font-size: 1.7rem;
    font-weight: 600;        
    color: #aa222a;
    text-align: center;
    line-height: 1.25;
    margin-top: 1em;  
	}
	.blog-body-grid__content .item-grid__text .title {
		font-size: 2.2rem;
	}
	.return-section__body .img img {
		width: 60%;
	}
	.school-header > .school-linkbtn {
		bottom: 15px;
	}
	.kimono-flyer__main {
		font-size: 2.35rem;
	}
	.default-btn.min {
		line-height: 38px;
	}
	.landing-section__heading {
		margin-top: 2em;
	}
	.main-header__catch {
		letter-spacing: 0;
	}
	.option-flyer__desc {
		font-size: 1.3rem;
	}
	.option-box__price {
		font-size: 1.6rem;
	}
	.option-notice {
		font-size: 1.4rem;
	}
	.option-box__feature {
		font-size: 1.2rem;
	}
	.option-box__heading {
		font-size: 1.8rem;
	}
	.footer_menu {
		text-align: center;
		margin-top: 2em;
		font-size: 1.2rem;
	}
	.footer_menu li {
		display: inline-block;
		margin-right: 1em;
	}
	.footer_menu li a {
		text-decoration: underline;
	}
	.footer_menu li a:hover {
		text-decoration: none;
	}
	.detail-content-grid__text .title {
		line-height: 1.3;
	}
	.top-notification {
		text-align: center;
	}
	.lead-box__desc span {
		font-weight: 700;
	}
	.detail-content-grid__view img {
		margin-bottom: 0.5em;
	}
	.brand-kimono td {
		line-height: 1.5;
		font-size: 1.6rem;
	}
	.blog-body-grid__content .item-grid__text .title {
		line-height: 1.27;
	}
	.yukata-header__entity {
		right: 35em;
	}
	.detail-content-grid__desc h2 {
		line-height: 1.3;
	}
	.detail-content-grid__desc p {
		font-size: 16px;
	}
	.lead-box__desc {
		font-size: 13px;
	}
	.info_wasan_gojo {
		border: 3px solid #e8e8e8;
		padding: 1em;
	}
	.info_wasan_gojo .info_container {
		border-bottom: 1px solid #e8e8e8;
		padding: 1em 1em 1.3em 1em;
	}
	.info_wasan_gojo .c_infodate {
		color: #aa222a;
		margin-bottom: 0.5em;
	}
	.info_wasan_gojo .c_infotext {
		line-height: 1.5;
	}
	.info_wasan_gojo .c_infotext p {
		line-height: 1.5;
	}
	.osusume_spot_part {
		margin: 2em;
	}
	.osusume_spot_part img {
		width: 45%;
		float: left;
	}
	.spot_detail {
		width: 50%;
		float: right;
	}
	.spot_detail .spot_name {
		font-size: 2rem;
		font-weight: 700;
		padding: 0.5em 0.5em 0.5em 0;
	}
	.spot_detail .spot_time {
		padding: 0.2em;
		border-top: 4px double #f7c0c5;
		border-bottom: 4px double #f7c0c5;
	}
	.spot_detail .spot_txt {
		margin-top: 0.5em;
		line-height: 1.5;
	}
	.home-main-area__contents>.__inner {
		max-width: 450px;
	}
	.home-main-area__banner {
		margin-top: 1em;
	}
	.site-signature__inner {
		display: flex;
		padding: 0.3em 0;
	}
	.fs-p-footerPageTop__link {
		top: 93%;
		left: 90%;
	}
	.campaign__body {
		display: flex;
		flex-wrap: wrap;
	}
	.campaign-box {
		border: 3px solid #e8e8e8;
		padding: 0 1em 1em 1em;
		width: calc(100% / 2 - 54px);
		margin: 10px;
		background: #fff;
	}
	.cam-img {
		width: 32%;
	}
	.cam-txt {
		width: 60%;
		padding: 0 1em;
	}
	.section_fullscreen {
		background-image: url(/common/img/common/diagonal-noise.png);
		background-position: left top, left top;
		background-repeat: repeat, no-repeat;
		background-size: auto;
		margin-left: calc(((var(--vw, 100vw) - 100%) / 2)* -1);
		margin-right: calc(((var(--vw, 100vw) - 100%) / 2)* -1);
		padding-left: calc((var(--vw, 100vw) - 980px) / 2);
		padding-right: calc((var(--vw, 100vw) - 980px) / 2);
		padding-top: 60px;
	}
	.return-index-btn {
		width: calc(100%/2 - 40px);
		margin: 20px;
	}
	.return-index-btn span {
		font-size: 70%;
		display: block;
		line-height: 1.5;
	}
	
	.return-index-btn a {
		width: 100%;
		color: #fff;
		text-align: center;
		background: rgb(89,14,19);
		background: linear-gradient(0deg, rgba(89,14,19,1) 0%, rgba(170,34,42,1) 45%);
		border-radius: 0.8rem;
		box-shadow: 0 4px 0 0 #cacaca;
		box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.47);
		padding: 2rem 0.5em;
		height: 70px;
		font-size: 20px;
		font-weight: 900;
		line-height: 1.5;
		display: grid;
	}
	
	.return-body-new {
	  display: flex;
	  flex-wrap: wrap;      
	  justify-content: center; 
	  gap: 20px;          
	}

	.new-return-btn {
	  flex: 1 1 calc(50% - 20px);
	  max-width: 200px;           
	}

	.new-return-link {
	  display: flex;                 
	  flex-direction: column;       
	  justify-content: center;       
	  align-items: center;         
	  text-align: center;
	  background: linear-gradient(0deg, #8B0000 0%, #B22222 50%, #D14728 100%);
	  border-radius: 0.8rem;
	  box-shadow: 0 0 9px rgba(0,0,0,0.47);
	  padding: 0;                   
	  height: 100px;                
	  color: #fff;
	  font-size: 18px;
	  font-weight: 500;
	  line-height: 1.2;
	  text-decoration: none;
	}

	.new-return-link .new-return-line {
	  display: block;
	  margin: 0;
	  padding: 0;
	  line-height: 1.2;
	  font-weight: 600;
	}
	
	
	
	.grid__ninki .lead-box {
		width: calc(100% / 3 - 13px);
	}
	.lead-box {
		width: calc(100% / 4 - 13px);
	}
	.triangle_label {
		top: 20px;
		left: 12px;
	}
}

@media screen and (max-width: 600px) {
    .home-main-area__catch {
        font-size: 2.4rem;   
        line-height: 1.1;  
        font-weight: 700; 
    }
	
	.sub-area {
    font-size: 1.4rem;      
    font-weight: 500;       
    line-height: 1.1;       
    margin-top: 0.8em;      
  }
}

