/*--------------------------------
rest
--------------------------------*/
html, body, div, p, img, iframe, a, span, blockquote, q, address, cite,
pre, code, em, small, strong, b, i,
header, article, section, nav, figure, figcaption, hgroup, menu, aside, footer, time,
h1, h2, h3, h4, h5, h6,
ul, ol, li, dl, dt, dd,
table, tbody, thead, tfoot, th, tr, td,
form, fieldset, legend, label, select, input, textarea, button {
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	vertical-align: baseline;
}
body{
	line-height: 1;
	font-feature-settings: "palt";
	background: #fff;
}
figure{
	margin: 0;
	padding: 0;
	display: block;
}
a{
	text-decoration: none;
}
sup{
	font-size: xx-small;
	vertical-align: text-top;
}
sub{
	font-size: xx-small;
	vertical-align: baseline;
}

/*--------------------------------
override
--------------------------------*/
#allWrapper{
	width: auto;
	min-width: auto;
}
#container {
	padding-bottom: 134px;
	width: auto;
	min-height: auto;
	height: auto;
	margin: 0;
}
@media screen and (max-width: 768px) {
    body #container {
        padding-bottom: 0;
    }
}
#container img {
	height: 100%;
}
@media screen and (max-width: 1121px) {
	#headerArea,
	#globalNavTop,
	#topicPath,
	#liquidArea,
	#footerNavArea,
	#footerArea {min-width: auto;}
	#container {
        width: auto;
		padding: 0;
    }
    #headerArea .areaInner, #topicPath ul, #globalNavTop ul, #footerNavArea .areaInner, #footerArea .areaInner {
        width: auto;
    }
	#footerNavArea #slideWrap .slideInner { width: auto; }
}

/*--------------------------------
font
--------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&family=Spectral:wght@400;500&display=swap');

.ja-font {
	font-family: "Shippori Mincho B1", serif;
	font-style: normal;
}
.ja-font2 {
	font-family: shippori-mincho, "Shippori Mincho B1", serif;
	font-style: normal;
}
.en-font{
	font-family: "Spectral", serif;
	font-style: normal;
}
.en-font2{
	font-family: "miller-banner", serif;
	font-style: normal;
}
.en-font3{
	font-family: "roboto", sans-serif;
	font-weight: 400;
	font-style: normal;
}

/*--------------------------------
common
--------------------------------*/
.vertical-text {
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	-webkit-font-feature-settings: normal;
	font-feature-settings: normal;
}

.fit-img {
	width: 100%;
	height: auto;
	vertical-align: middle;
}

.has-max {
	height: auto;
	max-width: 100%;
}

.flex-wrapper {
	display: flex;
	flex-wrap: wrap;
}

.align-item-center {
	align-items: center;
}
.align-item-end {
	align-items: flex-end;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.justify-end {
	justify-content: flex-end;
}

.img-wrapper {
	position: relative;
}
.img-wrapper .caption {
	position: absolute;
	bottom: 0;
	left: 8px;
	right: 8px;
	z-index: 1;
}

.layer01{
	z-index: 1;
}
.layer02{
	z-index: 2;
}

.inline-block {
	display: inline-block;
}
.word-break{
	word-break: break-all;
}

.grid-wrapper {
	display: grid;
}
.svg-symbol{
	display: none;
}

/*--------------------------------
layout
--------------------------------*/
.scroll-disabled {
	height: 100%;
	overflow: hidden;
}


.inner {
	margin: 0 auto;
	width: calc(100% - 64px);
	max-width: 1200px;
}
@media (max-width: 767px) {
	.inner {
		width: calc(100% - 48px);
	}
}

.inner-narrow {
	max-width: 900px;
}

.inner-wide {
	max-width: 1360px;
}

.inner-middle{
	max-width: 1100px;
}

.inner-fit {
	width: 100%;
	max-width: none;
}

.inner-full {
	max-width: none;
}

.general-section {
	position: relative;
}
.general-section .inner {
	padding: 100px 0;
}
@media (max-width: 991px) {
	.general-section .inner {
		padding: 32px 0;
	}
}
.general-section .inner + .inner {
	padding-top: 0;
}
.general-section .inner.mb-0 {
	padding-bottom: 0;
}
.general-section .inner-min {
	padding: 32px 0;
}
@media (max-width: 991px) {
	.general-section .inner-min {
		padding: 16px 0;
	}
}

.general-parts {
	margin-bottom: 32px;
}

.btn-space {
	margin: 32px 0;
	text-align: center;
}

.has-gap {
	gap: 32px;
}
@media (max-width: 991px) {
	.has-gap {
		gap: 16px;
	}
}

.col-2 {
	width: 50%;
}
.has-gap > .col-2 {
	width: calc(50% - 16px);
}

.col-3 {
	width: 33.3333333333%;
}
.has-gap > .col-3 {
	width: calc(33.3333333333% - 22px);
}

.col-4 {
	width: 25%;
}
.has-gap > .col-4 {
	width: calc(25% - 24px);
}
.col-70{
	width: 70%;
	height: 100vh;
}
.col-30{
	width: 30%;
	overflow: hidden;
}

@media (max-width: 991px) {
	.col-2,
	.has-gap > .col-2 {
		width: 100%;
	}
	.col-3,
	.has-gap > .col-3 {
		width: 100%;
	}
	.col-4 {
		width: 50%;
	}
	.has-gap > .col-4 {
		width: calc(50% - 8px);
	}
	.sp-col-2 {
		width: 50%;
	}
	.has-gap > .sp-col-2 {
		width: calc(50% - 8px);
	}
	.col-70,
	.col-30{
		width: 100%;
	}
}

/*--------------------------------
component
--------------------------------*/
.primary-heading {
	margin-bottom: 0.8em;
	font-size: clamp(24px, 3.8vw, 46px);
	font-weight: 400;
	line-height: 1.3;
}

.secondary-heading {
	margin-bottom: 0.8em;
	font-size: clamp(22px, 3.4vw ,32px);
	font-weight: 400;
	line-height: 1.3;
}

.secondary-half-heading {
	margin-bottom: 0.8em;
	font-size: clamp(18px, 1.6vw ,30px);
	font-weight: 400;
	line-height: 1.6;
}

.tertiary-heading {
	margin-bottom: 0.8em;
	font-size: clamp(20px, 1.4vw ,24px);
	font-weight: 400;
	line-height: 1.5;
}
.tertiary-heading .text-small{
	font-size: 70%;
}
.lead {
	font-size: 18px;
	line-height: 1.5;
}
.ja-font .lead {
	letter-spacing: .075em;
}
@media (max-width: 991px) {
	.lead {
		font-size: 16px;
	}
	.ja-font .lead {
		letter-spacing: .015em;
	}
}
.font-italic{
	font-style: italic;
}
.note {
	margin-bottom: 1em;
	font-size: 16px;
	line-height: 1.8;
}
.note.has-none {
	margin-bottom: 0;
}
.note li{
	list-style: disc;
	margin-left: 20px;
}
.note li + li{
	margin-top: 12px;
}
.ja-font .note {
	letter-spacing: .075em;
}
@media (max-width: 991px) {
	.note {
		font-size: 14px;
	}
	.ja-font .note {
		letter-spacing: .015em;
	}
}
.caption {
	margin: 0.4em 0;
	font-size: 12px;
	line-height: 1.5;
}

.arrow {
	width: 20px;
	height: 20px;
	display: block;
	transition: all 0.3s ease;
}

.btn {
	padding: 8px 16px;
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}

.submit-btn {
	padding: 16px;
	min-width: 400px;
	background: transparent;
	color: #006f47;
	font-size: 14px;
	border: 1px solid;
	border-radius: 30px;
}
@media (max-width: 991px) {
	.submit-btn {
		width: 100%;
		min-width: auto;
	}
}
.submit-btn:disabled {
	opacity: 0.3;
}
.submit-btn:hover:not(:disabled) {
	background: #006f47;
	color: #fff;
	border-color: #006f47;
}

.general-btn {
	height: 50px;
	width: 90%;
	max-width: 400px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.1em;
	box-shadow: 10px 12px 12px rgba(0, 0, 0, 0.1);
}
.general-btn:hover {
	filter: brightness(.8);
}
@media (max-width: 767px) {
	.general-btn {
		font-size: 16px;
	}
}
.request-btn{
	background: #795e4d;
}
.reserve-btn{
	background-color: #155253;
	color: #fff;
}
.reserve-btn.reserve-red-btn{
	background-color: #980010;
}
.seminor-btn{
	background-color: #9D0000;
	color: #fff;
}
.video-wrapper {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	display: block;
	content: "";
}
.video-wrapper iframe,
.video-wrapper video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
@media (max-width: 767px) {
	.video-wrapper {
		padding-top: 122.3%;
	}
}

.loading {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	content: "";
}

.bg-light {
	background: #f4f2ec;
}

.bg-dark {
	background: #384250;
	color: #fff;
}

.bg-gray {
	background: #dce7ef;
}

@keyframes zoomIn2 {
	from {
		opacity: 0;
		transform: scale3d(1.3, 1.3, 1.3);
	}
	50% {
		opacity: 1;
	}
}
.zoomIn2 {
	animation-name: zoomIn2;
}
@keyframes blurIn {
	from {
	  opacity: 0;
	  filter: blur(20px);
	  transform: translate3d(0, 10px, 0) scaleX(1.2);
	}
  
	to {
	  opacity: 1;
	  filter: blur(0);
	  transform: none;
	}
}
.blurIn {
	animation-name: blurIn;
}
@keyframes blurZoomIn {
	from {
		opacity: 0;
		filter: brightness(1.8) blur(20px);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	50% {
		filter: brightness(1) blur(0);
		opacity: 1;
	}
}
.blurZoomIn {
	animation-name: blurZoomIn;
}
.cliping-mask{
	overflow: hidden;
}
.page-title{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    text-align: center;
    transform: translateY(-50%);
    font-size: clamp(30px, 2.4vw, 46px);
    font-weight: 300;
    z-index: 1;
}

/*--------------------------------
header
--------------------------------*/
.base_w{
	margin: 0 auto;
	max-width: 1100px;
}
@media (max-width: 1100px) {
    .base_w {
        width: 85%;
    }
}
.head_fix{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
	background: #fff;
	opacity: 1;
	transition: 1s ease-out;
	/* pointer-events: none; */
}
.is-scroll .head_fix{
	transform: translateY(-40%);
	opacity: 0;
}
.is-header-hide .head_fix{
	transform: translateY(-40%);
	opacity: 0;
}
@media (max-width: 1100px) {
	.head-wrapper{
		height: auto;
		position: sticky;
		top: 0;
		z-index: 2;
	}
  .head_fix {
    padding-bottom: 0;
	position: sticky;
  }
  .h_logo{
	width: 440px;
	position: relative;
	z-index: 101;
  }
  .h_logo img{
	width: 100%;
  }
}
@media (max-width: 767px) {
  .h_logo{
	width: 240px;
  }
}
	
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
	pointer-events: all;
}
header .sp-btn {
	display: none;
	position: relative;
	z-index: 101;
	width: 50px;
	height: 50px;
}
@media (max-width: 1100px) {
  header .sp-btn {
    display: block;
  }
}
header .sp-btn span {
  position: absolute;
  right: 10%;
  width: 100%;
  height: 1px;
  background-color: #333;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
header .sp-btn span:nth-of-type(1) {
  width: 80%;
  top: 20px;
}
header .sp-btn span:nth-of-type(2) {
  width: 80%;
  top: 30px;
}
header .sp-btn.on span{
	background-color: #fff;
}
header .sp-btn.on span:nth-of-type(1) {
  right: 15%;
  -webkit-transform: translateY(5px) rotate(-25deg);
  transform: translateY(5px) rotate(-25deg);
}
header .sp-btn.on span:nth-of-type(2) {
  right: 15%;
  -webkit-transform: translateY(-5px) rotate(25deg);
  transform: translateY(-5px) rotate(25deg);
}
header .btns{
	display: flex;
	flex-wrap: wrap;
}
@media (max-width: 1100px) {
  header .btns {
    display: none;
  }
}
header .btns a{
	display: grid;
	place-items: center;
	width: 120px;
	height: 40px;
	line-height: 1;
	font-size: 12px;
	color: #333;
	text-align: center;
}
header .btns .btn01{
	margin-right: 5px;
	border: 1px #ccc solid;
	transition: all 0.3s;
}
header .btns .btn02 {
	margin-right: 5px;
	background-color: #795e4d;
	color: #fff;
	transition: all 0.3s;
}
header .btns .btn03 {
	background-color: #155253;
	color: #fff;
	transition: all 0.3s;
}
header .btns .btn01:hover {
	background-color: rgba(0, 0, 0, 0.4);
}
header .btns .btn02:hover {
	background-color: #5e4739;
}
header .btns .btn03:hover {
	background-color: #204142;
}
.h_navi_bg{
	padding-top: 20px;
	padding-bottom: 20px;
}
@media (max-width: 1100px) {
  .h_navi_bg {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
	width: 100%;
    height: 100%;
    overflow-y: scroll;
    padding-top: 160px;
    background-color: rgba(0, 0, 0, 0.8);
	pointer-events: all;
	z-index: 2;
  }
}
@media (max-width: 1100px) {
  .h_navi_bg.fix_on {
    padding-top: 110px;
    height: calc(100% - 56px);
  }
}
.h_navi_bg .h_navi{
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 1100px;
	margin: 0 auto;
}
@media (max-width: 1100px) {
  .h_navi_bg .h_navi {
    width: 100%;
	flex-direction: column;
  }
}
.h_navi_bg .h_navi .btn {
	padding: 0;
	height: 40px;
    line-height: 1;
	flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    color: #1A1311;
    position: relative;
	border-left: 1px solid #1A1311;
	/* display: none; */
	position: relative;
}
.h_navi_bg .h_navi .btn::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -3px;
	transform: rotate(45deg) translateY(0) skew(10deg, 10deg);
	width: 6px;
	height: 6px;
	background: #a78d62;
	opacity: 0;
	pointer-events: none;
	transition: .4s;
}
@media (min-width: 1101px) {
	.h_navi_bg .h_navi .btn:hover::before {
		top: -6px;
		opacity: 1;
	}
}
.h_navi_bg .h_navi .btn.is-active::before {
	top: -6px;
	opacity: 1;
}
.h_navi_bg .h_navi .btn:first-child {
	border-left: none;	
}
@media (max-width: 1100px) {
  .h_navi_bg .h_navi .btn {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 60px;
    font-size: 20px;
		color: #fff;
	border-left: none;
  }
	.h_navi_bg .h_navi .btn::before {
    top: 50%;
    left: 32px;
		margin-top: -3px;
    margin-left: 0;
	}
	.h_navi_bg .h_navi .btn.is-active::before {
    top: 50%;
    opacity: 1;
	}
}
.pankuzu {
	position: absolute;
	/* bottom: -25px; */
	bottom: -45px;
	left: 0;
	color: #333;
	font-size: 11px;
}
.pankuzu a{
	color: #333;
	pointer-events: all;
}
.sp_fix_btns{
	display: none;
}
@media (max-width: 1100px) {
  .sp_fix_btns {
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 101;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .sp_fix_btns.on,
  .is-scroll .sp_fix_btns{
    bottom: 40px;
  }
  .pankuzu{
	display: none;
  }
}
@media (max-width: 1100px) and (max-width: 768px) {
  .sp_fix_btns.on,
  .is-scroll .sp_fix_btns {
    bottom: -60px;
  }
}
@media (max-width: 1100px) {
  .sp_fix_btns .btn {
	padding: 0;
    display: block;
	flex: 1;
    text-align: center;
    background-color: #000;
    border-right: 1px #333 solid;
  }
  .sp_fix_btns .btn img {
    width: 60px;
    height: 60px;
  }
  .sp_fix_btns .btn_cv {
    background-color: #795e4d;
  }
  .sp_fix_btns .btn_reserve{
	background-color: #155253;
  }
  .sp_fix_btns .last {
    border-right: none;
  }
}
.yokoku-wrapper{
	padding: 12px 0;
	background: #f5f5f5;
	transition: transform .4s ease-out .3s;
}
.yokoku{
	margin: 0 auto 0;
	max-width: 1100px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: inherit;
	line-height: 1.3;
	
}
.yokoku .box01{
	width: 120px;
	height: 40px;
	display: grid;
	place-items: center;
	font-size: 18px;
	border: 1px solid;
}
@media (min-width: 1101px) {
	.yokoku-wrapper{
		transform: translateY(32px);
	}
	.yokoku-wrapper.pullUp{
		transform: translateY(0);
	}
}
@media (max-width: 1100px) {
	.yokoku{
		margin-top: 0;
		width: 90%;
		flex-wrap: wrap;
	}
	.yokoku .box01{
		width: 100%;
	}
}
.contents-section.general-section .inner{
	padding-bottom: 0;
}
.contets-title{
	font-size: 26px;
	margin-bottom: 1.6em;
}
.contents-lists{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 0;
	transition: .4s;
}
.contents-lists.is-active{
	gap: 16px;
}
.contents-lists::after{
	content: none;
}
.contents-list a{
	display: block;
}
.contents-list a.none{
	opacity: 1;
}
.contents-list a.none .img-wrapper::before{
	opacity: .9;
}
.contents-list a.none .contents-list-text{
	opacity: .4;
}
.contents-list a.none .img-wrapper .caption{
	opacity: .4;
}
@media (min-width: 768px) {
	.contents-list a:hover .img-wrapper::before{
		opacity: .2;
	}
	.contents-list a:hover .contents-list-text{
		opacity: 0;
		transform: translateY(-20px);
	}
	.contents-list a:hover .contents-list-more{
		opacity: 1;
		transform: translateY(0);
	}
}
.contents-list .img-wrapper{
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.contents-list .img-wrapper::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #333333;
	mix-blend-mode: multiply;
	opacity: .6;
	clip-path: inset(0 0 0 0 );
	transition:.4s;
}
.contents-list-text{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	text-shadow: 0 0 4px #333;
	letter-spacing: .075em;
	transition: .4s;
}
.contents-list-more{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	text-shadow: 0 0 4px #333;
	letter-spacing: .075em;
	transition: .4s;
	opacity: 0;
	transform: translateY(20px);
}
@media (max-width: 1100px) {
	.contents-lists.is-active{
		gap: 8px;
	}
	.contents-list-more {
    font-size: 18px;
	}
	.contents-list-text {
    font-size: 18px;
	}
	.contents-list .img-wrapper .caption {
		font-size: 10px;
	}	
}
@media (max-width: 767px) {
	.contets-title {
    font-size: 18px;
    margin-bottom: 1.2em;
	}
	.contents-lists{
		grid-template-columns: 1fr 1fr;
	}
	.contents-lists.is-active{
		gap: 12px;
	}
	.contents-list-text {
    font-size: 18px;
	}
	.contents-list-more {
			font-size: 18px;
	}
	.contents-list .img-wrapper .caption{
		font-size: 10px;
	}
}
/*--------------------------------
animation
--------------------------------*/
@keyframes zoomIn2 {
	from {
		opacity: 0;
		transform: scale3d(1.3, 1.3, 1.3);
	}
	50% {
		opacity: 1;
	}
}
.zoomIn2 {
	animation-name: zoomIn2;
}
@keyframes blurIn {
	from {
	  opacity: 0;
	  filter: blur(20px);
	  transform: translate3d(0, 10px, 0) scaleX(1.2);
	}
  
	to {
	  opacity: 1;
	  filter: blur(0);
	  transform: none;
	}
}
.blurIn {
	animation-name: blurIn;
}
@keyframes blurZoomIn {
	from {
		opacity: 0;
		filter: brightness(1.8) blur(20px);
		transform: scale3d(1.1, 1.1, 1.1);
	}
	50% {
		filter: brightness(1) blur(0);
		opacity: 1;
	}
}
.blurZoomIn {
	animation-name: blurZoomIn;
}
@keyframes blurFadeIn {
	from {
		opacity: 0;
		filter: blur(20px);
	}
	50% {
		filter: blur(0);
		opacity: 1;
	}
}
.blurFadeIn {
	animation-name: blurFadeIn;
}
@keyframes blurFadeIn {
	from {
		opacity: 0;
		filter: blur(20px);
	}
	50% {
		filter: blur(0);
		opacity: 1;
	}
}
.blurFadeIn {
	animation-name: blurFadeIn;
}
@keyframes rotateUp {
	from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: translate3d(0, 50px, 0) rotate3d(0, 0, 1, 30deg);
    transform: translate3d(0, 50px, 0) rotate3d(0, 0, 1, 30deg);
    opacity: 0;
  }

  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateUp{
	animation-name: rotateUp;
}
.cliping-mask{
	overflow: hidden;
}
/*--------------------------------
footer
--------------------------------*/
.footer-container{
	background: #fff;
	/* color: #fff; */
	overflow: hidden;
}
.footer-container .caption{
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuProN-W3", Osaka, Sans-Serif;
}
.tel{
	font-size: 40px;
}
.dev-wrap{
	margin-top: 60px;
	justify-content: center;
	gap: 48px;
}
.dev-content-label{
	text-align: left;
	margin-bottom: .8em;
}
.dev-content.takara .dev-content-label{
	padding-left: 24%;
}
.dev-content.daiwa .dev-content-label{
	padding-left: 22%;
}
.cap-section .caption{
	word-break: break-all;
}
.cap-section + .footer-container.general-section .inner{
	padding-top: 0;
}
@media (max-width: 767px) {
	.dev-wrap{
		gap: 32px;
	}
	.tel{
		font-size: 36px;
	}
}

/*--------------------------------
top
--------------------------------*/
.new-mv{
	padding-top: 190px;
}
@media (max-width: 1100px) {
	.new-mv{
		padding-top: 0;
	}
}
.mv{
	position: relative;
}
.dark-layer,
.dark-layer2{
	position: absolute;
	inset: 0;
	background: url(../images/common/texture.webp) no-repeat center center rgba(0, 0, 0, 0.5);
	background-size: cover;
	opacity: 0;
}
.lightning-layer{
	position: absolute;
	z-index: 2;
	inset: 0;
	background: url(../images/common/texture.webp) no-repeat center center, url(../images/index/lightning-bg.webp) no-repeat center center;
	background-size: cover;
	opacity: 0;
	filter: brightness(1.5);
}
.mv-copy{
	font-size: clamp(45px,5.3vw,89px);
	font-weight: 400;
	color: #fff;
	line-height: 1.4;
	letter-spacing: .15em;
}
.usp-wrapper{
	justify-content: center;
	align-items: center;
	gap: 80px;
}
.usp-list{
	width: 58vw;
}
@media (max-width: 767px) {
	.new-mv{
		padding-top: 0;
	}
	.sp-object{
		height: 100vh;
		object-fit: cover;
	}
	.mv-copy{
		top: 16vh;
	}
	.usp-wrapper{
		gap: 0;
	}
	.usp-list{
		width: 80vw;
	}
}
.is-screen{
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}
.place-center{
	display: grid;
	place-items: center;
}
@media (max-width: 767px) {
	.tlーdh-wrap{
		width: 90%;
		margin: 0 auto;
	}
}
.property-name{
	margin: 50px 0 16px;
	font-size: clamp(24px, 2.3vw, 39px);
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1.3;
}
.top-info-btnWrap{
	margin-top:30px;
}
.concept-thumb{
	height: 100%;
}
.online-project{
	background: linear-gradient(90deg,rgba(244, 247, 247, 1) 0%, rgba(244, 247, 247, 1) 25%, rgba(238, 241, 241, 1) 50%, rgba(236, 239, 239, 1) 75%, rgba(219, 222, 222, 1) 100%);
}
.online-project-inner{
	max-width: 1040px;
	margin: 0 auto;
	width: calc(100% - 30px);
	padding: 60px 0;
}
.online-project-head{
	margin-bottom: 60px;
}
.online-project-head .secondary-heading{
	padding-bottom: .4em;
	margin-bottom: .6em;
	border-bottom: 1px solid #436A72;
	font-size: clamp(19px, 2.8vw, 36px);
}
.online-project-head .tertiary-heading{
	gap: 24px;
	display: flex;
	align-items: flex-start;
	font-feature-settings: "palt";
	margin: 0 auto .8rem;
	flex-wrap: wrap;
	max-width: 1040px;
}
.online-project-head .tertiary-heading-aiCenter{
	align-items: center;
}
.online-project-head .is-border{
	margin-right: 10px;
	border: 1px solid #333;
	padding: 1px 4px 2px;
	display: inline-block;
}
.guidance-title{
	margin-top: 4px;
	padding: 4px 12px 6px;
	color: #fff;
	background: #436A72;
}
.online-project-lists{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
}
.online-project-heading{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: clamp(12px, 1vw, 14px);
	color: #6C3D26;
	margin-bottom: .2em;
}
.online-project-heading .large-text{
	font-size: 250%;
	font-style: italic;
	margin-left: .2em;
}
.online-project-body .note{
	margin-top: 1em;
	font-size: 14px;
}
.online-project-btn{
	margin: 20px auto 0;
	max-width: 100%;
	width: 330px;
	height: 66px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #385960;
	color: #fff;
	font-size: 20px;
	transition: .4s;
}
.online-project-btn:hover{
	opacity: .7;
}
.general-section.online-project-section .inner{
	padding-bottom: 160px;
}
.online-project-section-inner{
	  margin: 0 auto;
    width: calc(100% - 64px);
    max-width: 1400px;
}
.online-project .caption{
	font-size: 10px;
}
.bnr-wrap{
	margin-top: 80px;
}
.bnr-item{
	margin-bottom: 60px;
}
.tax-seminor{
	margin-bottom: 60px;
	background: linear-gradient(90deg,rgba(247, 245, 242, 1) 0%, rgba(247, 245, 242, 1) 25%, rgba(243, 241, 238, 1) 50%, rgba(229, 227, 224, 1) 75%, rgba(211, 209, 206, 1) 100%);
}

.tax-seminor .online-project-head .secondary-heading{
	border-bottom: 1px solid #a18564;
}
.tax-seminor .guidance-title{
	min-width: 116px;
	text-align: center;
	background: #744b1b;
}
.tax-seminor .online-project-btn{
	background: #682e1c;
}
.blue-seminor{
	margin-bottom: 60px;
	background: linear-gradient(90deg,rgba(247, 245, 242, 1) 0%, rgba(247, 245, 242, 1) 25%, rgba(243, 241, 238, 1) 50%, rgba(229, 227, 224, 1) 75%, rgba(211, 209, 206, 1) 100%);
}

.blue-seminor .online-project-head .secondary-heading{
	border-bottom: 1px solid #002E54;
}
.blue-seminor .guidance-title{
	min-width: 160px;
	text-align: center;
	background: #00294a;
}
.blue-seminor .online-project-btn{
	background: #00294a;
}
.float-banner {
	position: fixed;
	right: 50px;
	bottom: 120px;
	max-width: 280px;
	width: 40%;
	/* opacity: 0; */
	transition: opacity .4s ease;
	z-index: 4;
}
.float-banner a {
	transition: .4s;
}
.float-banner a:hover {
	opacity: .9;
}
.float-close {
    width: 9%;
    display: block;
    position: absolute;
    right: -4%;
    top: -10%;
    z-index: 6;
    cursor: pointer;
}
.is-visible {
    opacity: 1;
    display: block;
}
.shutoken-bnr{
	margin-top: 20px;
}
.guidance-date .text02{
	font-size: 1.5rem;
}
@media (max-width: 767px) {
	.property-name{
		margin: 50px 0 24px;
	}
	.js-action{
		width: 100%;
		display: grid;
		place-items: center;
	}
	.js-action .inner{
		width: 100%;
	}
	.concept-text{
		background: transparent;
		position: absolute;
		top: 0;
		left: 0;
		height: 100vh;
		color: #fff;
	}
	.concept-text svg{
		fill: #fff;
	}
	.online-project-lists{
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.online-project-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 0;
	}
	.online-project-head .tertiary-heading {
        gap: 4px 8px;
		font-size: clamp(1.4rem, 3.4vw, 2rem);
		justify-content: center;
	}
	.online-project-head .tertiary-heading .inline-block:first-child{
		width: 100%;
		text-align: center;
		font-size: 125%;
	}
	.guidance-date-inner{
		display: inline-block;
		margin-bottom: 1rem;
	}
	.guidance-date{
		margin-top: .6rem;
		text-align: center;
		font-size: 1.2rem;
	}
	.guidance-date.date01{
	}
	.guidance-date .text-space{
		padding-right: 13px;
	}
	.guidance-date .text01{
		display: inline-block;
		text-align: right;
	}
	.guidance-date .text02{
		text-align: center;
		font-size: 70%;
	}

	.guidance-title{
		display: block;
		width: 100%;
		text-align: center;
	}
	.online-project-head .is-border{
		margin: 8px;
		display: block;
	}
	.online-project-head .secondary-heading {
    padding-bottom: .4em;
    margin-bottom: .8em;
	}
	.online-project-head {
    margin-bottom: 48px;
	}
	.online-project-btn {
    margin: 0 auto;
    height: 50px;
    font-size: 16px;
	}
	.general-section.online-project-section .inner {
    padding-bottom: 60px;
	}
	.float-close {
    width: 14%;
    top: -14%;
	}
	.float-banner {
	bottom: 40px;
    right: 12px;
	}
	.shutoken-bnr{
		margin-top: 10px;
	}
	.bnr-wrap{
		margin-top: 40px;
	}
	.bnr-item{
		margin-bottom: 40px;
	}
}
.object-fit{
	height: 100%;
	object-fit: cover;
}
.copy-line{
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	font-size: clamp(35px, 2.9vw, 49px);
}
.js-concept{
	height: 300vh;
	z-index: 2;
}
.concept-title{
	position: absolute;
	top: 32px;
	left: 32px;
	z-index: 1;
	font-family: "miller-banner", serif;
	font-weight: 300;
	font-style: normal;
	font-size: clamp(44px, 3vw, 51px);
	color: #edece5;
}
.pos-relative{
	position: relative;
}
.over-pos{
	position: absolute;
	inset: 0;
	opacity: 0;
	transform: scale(1.03);
}
.view-bg{
	position: relative;
	z-index: -1;
}
.view-copy{
	width: 50vw;
	padding-left: 20vw;
	font-size: 90px;
	font-weight: 400;
	color: #fff;
	line-height: 1.4;
	letter-spacing: .15em;
}
.view-body{
	padding-top: 150vh;
	padding-bottom: 50vh;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 1;
	color:#fff;
}
.view-stack{
	width: 50vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 64px;
	letter-spacing: .3em;
}
@media (max-width: 767px) {
	.view-bg{
		height: 100vh;
	}
	.view-copy{
		padding-left: 0;
		width: 100%;
		font-size: 40px;
	}
	.view-body{
		margin: 0 auto;
		padding-top: 80vh;
		padding-bottom: 100px;
		max-width: 80vw;
		flex-direction: column;
		gap: 40px;
	}
	.view-body .lead.line-wide{
		font-size: 13px;
		line-height: 2;
	}
	.view-stack{
		width: 100%;
		gap: 24px;
	}
}
.bg-color-shuffle{
	transition: 1.5s ease-in-out;
	position: relative;
	background-color: #fff;
	color: #000;
}
@media (max-width: 1680px) and (min-width: 768px){
	.bg-color-shuffle > .general-section{
		padding-left: 130px;
	}
}
.huge-img{
	margin-right: min(calc((100vw - 1360px) / -2), -32px);
	margin-bottom: 80px;
}
@media (max-width: 1680px) and (min-width: 768px){
	.huge-img{
		margin-right: -32px;
	}
}
.view-scroll{
	aspect-ratio: 148 / 80;
}
.img-wrapper.view-scroll .caption{
	padding-right: 12px;
	position: relative;
	right: auto;
	left: auto;
}
.scroll-container{
	overflow-x: auto; 
	height: 100%;
}
.scroll-container .fit-img{
	max-width: none !important;
	height: 100% !important;
	width: auto !important;
}
.scroll-hint{
	display: flex;
	gap: 8px;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom: 48px;
	left: 0;
	right: 0;
	font-size: clamp(16px, 1.2vw, 20px);
	text-align: center;
	color: #fff;
}
.scroll-hint::before,
.scroll-hint::after{
	margin-bottom: 7px;
	width: 80px;
	height: 8px;
	display: block;
	content: "";
	border-bottom: 1px solid #fff;
}
.scroll-hint::before{
	border-left: 1px solid #fff;
	transform: skewX(-45deg);
}
.scroll-hint::after{
	border-right: 1px solid #fff;
	transform: skewX(45deg);
}
@media (max-width: 767px) {
	.bg-color-shuffle{
		/* padding-top: 30vh; */
		background-color: transparent;
		opacity: 0;
	}
	.huge-img{
		margin-right: min(calc((100vw - 1360px) / -2), -24px);
	}
	.view-scroll{
		aspect-ratio: 105 / 138;
	}
	.scroll-hint{
		bottom: 24px;
	}
}
.bg-color-shuffle > .general-section + .general-section{
	margin-top: 100px;
}
.symbol{
	font-size: clamp(40px, 4.5vw, 76px);
	font-weight: 300;
	line-height: 1;
	margin-bottom: 16px;
}
.bg-color-shuffle svg{
	transition: 1.5s ease-in-out;
	fill: #000;
}
.bg-color-shuffle.is-green{
	background-color: #224038;
	color: #fff;
}

.is-green .symbol svg{
	fill: #fff;
}
.bg-color-shuffle.is-light-green{
	background-color: #a9dfd3;
	color: #1a1311;
}
.is-light-green .symbol svg{
	fill: #1a1311;
}
.bg-color-shuffle.is-blue{
	background-color: #334a65;
	color: #fff;
}
.is-blue .symbol svg{
	fill: #fff;
}
.bg-color-shuffle.is-purple{
	background-color: #50445F;
	color: #fff;
}
.is-purple .symbol svg{
	fill: #fff;
}
.bg-color-shuffle.is-light-purple{
	background-color: #f6e9e8;
	color: #1a1311;
}
.is-light-purple .symbol svg{
	fill: #1a1311;
}
.bg-color-shuffle.is-heki{
	background-color: #254953;
	color: #fff;
}
.is-heki .symbol svg{
	fill: #fff;
}
.bg-color-shuffle.is-sky{
	background-color: #cffffd;
	color: #1a1311;
}
.is-sky .symbol svg{
	fill: #1a1311;
}
.bg-color-shuffle.is-black{
	background-color: #2e2e2e;
	color: #fff;
}
.is-black svg{
	fill: #fff;
}
.bg-color-shuffle.is-white{
	background-color: #e7e7e7;
	color: #1a1311;
}
.is-white svg{
	fill: #1a1311;
}
@media (max-width: 767px) {
	.bg-color-shuffle.is-green,
	.bg-color-shuffle.is-blue,
	.bg-color-shuffle.is-purple,
	.bg-color-shuffle.is-heki,
	.bg-color-shuffle.is-sky,
	.bg-color-shuffle.is-black,
	.bg-color-shuffle.is-white{
		opacity: 1;
	}
}
.section-title{
	font-size: clamp(28px, 3.7vw,52px);
	font-weight: 400;
	line-height: 1.2;
	position: sticky;
	top: 170px;
}
.two-col{
	grid-template-columns: 50% 50%;
}
.section-body{
	padding-top: 200px;
}
.slide-area{
	margin-right: calc((50vw - 680px) / -1);
}
.slide-area .swiper{
	padding-right: 32px;
}
.slide-area .swiper-slide{
	width: 38vw;
}
.slide-area .swiper-slide.landscape{
	width: 44vw;
}
#container .slide-area img.fit-img{
	height: auto;
}
@media (max-width: 1264px) {
	.slide-area{
		margin-right: -32px;
	}
}
@media (min-width: 1265px) and (max-width: 1680px) {
	.slide-area{
		margin-right: -32px;
	}
}

.slide-area .swiper-wrapper{
	align-items: center;
}

@media (max-width: 767px) {
	.slide-area .swiper{
		padding-right: 24px;
	}
	.slide-area{
		margin-right: -24px;
	}
	.slide-area .swiper-slide{
		width: auto;
		max-width: 280px;
	}
	.slide-area .swiper-slide.landscape{
		width: auto;
		max-width: 380px;
	}
}
.brand-wrapper{
	display: inline-block;
}
@media (max-width: 767px) {
	.brand-wrapper{
		display: block;
	}
}
.brand-name{
	margin-bottom: 24px;
	font-size: clamp(30px, 3vw ,50px);
}
.brand-name > * + *{
	margin-top: 16px;
}
.progress-nav{
	margin-left: 40px;
	width: 100px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	position: sticky;
	top: 100px;
	z-index: 1;
	font-size: 16px;
	letter-spacing: .1em;
}
.progress-list{
	opacity: .5;
	transition: .3s ease-out;
}
.progress-list.is-current{
	opacity: 1;
}
.progress-list a{
	color: inherit;
}
.progress{
	margin-top: 4px;
	width: 0;
	height: 1px;
	content: "";
	display: block;
	border-bottom: 2px solid;
}
.texture-layer{
	margin-bottom: -50vh;
	height: 100vh;
	position: sticky;
	top: 0;
	content: "";
	background: url(../images/common/texture.webp) no-repeat center center;
	background-size: cover;	
}
.brand-link{
	color: inherit;
	text-decoration: underline;
}
.brand-link::before{
	margin-right: 4px;
	width: 0;
	height: 0;
	content: "";
	display: inline-block;
	border-style: solid;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
	border-left: 5px solid;
	border-right: 0;
}
@media (max-width: 767px) {
	.section-title{
		top: 40vh;
	}
	.two-col{
		grid-template-columns: 1fr;
	}
	.two-col > div:first-child{
		height: 60vh;
	}
	.progress-nav{
		margin-left: 0;
		padding: 16px 24px 12px;
		flex-direction: row;
		gap: 8px;
		top: 0;
		z-index: 2;
		font-size: 12px;
		box-sizing: border-box;
		background-image: url(../images/common/texture.webp);
		background-repeat: no-repeat;
		background-position: center top;
		background-size: auto 100vh;
		width: 100%;
		transition: 1.5s ease-in-out;
	}
	.is-green .progress-nav{
		background-color: #224038;
		color: #fff;
	}
	.is-light-green .progress-nav{
		background-color: #a9dfd3;
		color: #1a1311;
	}
	.is-blue .progress-nav{
		background-color: #334a65;
		color: #fff;
	}
	.is-purple .progress-nav{
		background-color: #50445F;
		color: #fff;
	}
	.is-light-purple .progress-nav{
		background-color: #f6e9e8;
		color: #1a1311;
	}
	.is-heki .progress-nav{
		background-color: #254953;
		color: #fff;
	}
	.is-black .progress-nav{
		background-color: #2e2e2e;
		color: #fff;
	}
	.is-white .progress-nav{
		background-color: #e7e7e7;
		color: #1a1311;
	}
}
.top-view-section {
	overflow: hidden;
}
.top-view-section .img-wrapper{
	overflow: hidden;
}
.top-view-img{
	transform: scale(1.5);
	transition: 1.2s ease-out;
}
.top-view-section.is-active .top-view-img{
	transform: scale(1);
}
.top-view-copy{
	position: absolute;
	top: 10%;
	right: 8%;
	line-height: 1.5;
	font-size: clamp(20px, 3.4vw, 60px);
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.4);
	z-index: 1;
	transition: 1.2s .6s;
	opacity: 0;
}
.top-view-section.is-active .top-view-copy{
	opacity: 1;
}
.top-info{
	min-height: 100vh;
}
.top-info::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/common/texture.webp) no-repeat center center, url(../images/index/lightning-bg.webp) no-repeat center center;
	background-size: cover;
	z-index: -1;
	filter: brightness(1.5);
}

.top-info .tertiary-heading{
	font-size: clamp(1.2rem, 3.4vw ,2rem);
}
.top-info .online-project-body .tertiary-heading {
	font-size: clamp(1rem, 1vw, 1.25rem);
	margin-bottom: 1em;
}

.top-info .koudouinner {
    margin: 0 auto;
    width: calc(100% - 64px);
    max-width: 940px;
    text-align: left;
}
.general-section.top-info .inner{
	  padding: 60px 0;
}
@media (max-width: 767px) {
	.top-info .koudouinner {
		width: calc(100% - 48px);
	}
}
.top-concept-section{
	display: flex;
	align-items: center;
	z-index: 0;
}
.top-concept a{
	position: relative;
	display: block;
	background: #000;
}
@media (min-width: 768px) {
	.top-concept a:hover .top-concept-btn .inline-block::before{
		transform: translateY(0);
	}
	.top-concept a:hover .top-concept-btn .inline-block{
		max-width: 150px;
		padding: 1.4em 0;
	}
	.top-concept a:hover::after{
		opacity: 1;
	}
}
.top-concept a::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../images/index/concept-mask.webp) no-repeat center center;
	background-size: cover;
	mix-blend-mode: multiply;
	z-index: 2;
	transition: 2s;
	opacity: 0;
}
.top-concept a::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg , rgba(0, 0, 0, 0) , #000);
	z-index: 0;
	transition: .8s;
	opacity: 0;
}
.top-concept a .fit-img{
	transition: 2s;
	opacity: .3;
}
.top-concept.is-active a::before{
	opacity: 1;
}
.top-concept.is-active a .fit-img{
	opacity: 1;
}
.top-concept-btn{
	position: absolute;
	bottom: 60px;
	left: 0;
	right: 0;
	z-index: 2;
	text-align: center;
}
.top-concept-btn .inline-block{
	font-size: 16px;
	padding: .8em 0;
	position: relative;
	max-width: 250px;
	width: 100%;
	border-bottom: 1px solid #fff;
	overflow: hidden;
	z-index: 1;
	transition: .4s;
}
/* .top-concept-btn .inline-block::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	transform: translateY(100%);
	background: #fff;
	transition: .4s;
} */
.top-concept-lists{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.top-concept-en{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.top-concept-en img{
	width: auto;
	height: 100%;
}
.top-concept-jp{
	font-size: 38px;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	text-align: center;
	color: #fff;
	z-index: 3;
}
@media (max-width: 767px) {
	.top-concept a::before{
		background: url(../images/index/concept-mask-sp.webp) no-repeat center center;
		background-size: cover;
		height: calc(100% - 58px);
    bottom: auto;
	}
	.top-concept-lists {
    grid-template-columns: 1fr;
		background: #000;
	}
	.top-concept-jp{
		font-size: 24px;
	}
	.top-concept a {
		padding-bottom: 58px;
		background: inherit;
	}
	.top-concept-btn {
		bottom: 0;
	}
	.top-concept-btn .inline-block {
		color: #333;
    border-bottom: 1px solid #333;
		max-width: 200px;
	}
	.top-view-copy {
    top: 10%;
    right: 5%;
		left: 5%;
		font-size: 6vw;
		text-align: center;
	}
}
/*--------------------------------
下層ページ
--------------------------------*/
.under-contents #container{
	padding-top: 190px;
}
@media screen and (max-width: 1100px) {
	.under-contents #container{
		padding-top: 0;
	}
}
@media (max-width: 767px) {
	.under-contents #container{
		padding-top: 0;
	}
}
.under-contents header .sp-btn span{
	background-color: #333;
}
.under-contents header .btns a{
	color: #333;
}
.under-contents header .btns .btn02{
	color: #fff;
}
.under-contents header .btns .btn03{
	color: #fff;
}
.under-contents .pankuzu,
.under-contents .pankuzu a{
	color: #333;
}

/*--------------------------------
state
--------------------------------*/
.is-none {
	display: none;
}

.disabled {
	opacity: 0.1;
	cursor: default;
	pointer-events: none;
}

.unscrollable {
	height: 100%;
	overflow: hidden;
}

.coming-soon {
	opacity: 0.8;
	pointer-events: none;
}

.none {
	opacity: 0.5;
	cursor: default;
	pointer-events: none;
}

.no-link {
	cursor: default;
	pointer-events: none;
}

.is-fv {
	opacity: 0;
	animation-fill-mode: both;
}

.is-light {
	color: #fff;
}

.is-dark {
	color: #2B3A54;
}

.gray-text {
	color: #555;
}

.is-key {
	color: #1C9BB4;
}

.is-strong {
	color: #11607E;
}

.is-shadow {
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.8), 0 0 4px rgba(0, 0, 0, 0.4);
}
.is-soft-shadow {
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.2), 0 0 12px rgba(0, 0, 0, 0.16);
}
.is-strong-shadow {
	text-shadow: 0 0 8px rgba(0, 0, 0, 0.9), 0 0 12px rgba(0, 0, 0, 0.6);
}

.has-bg.caption{
	margin: 0;
	padding: 2px 8px;
	background-color: rgba(0, 0, 0, 0.6);
}
.img-wrapper .caption.has-bg{
	left: 0;
	right: auto;
}
.img-wrapper .caption.has-bg.text-right{
	left: auto;
	right: 0;
}
.img-wrapper.mv-img .caption.avoid-footer{
	bottom: auto;
	top: calc(100vh - 70px);
}

.img-wrapper.mv-img .caption.avoid-footer{
	bottom: auto;
	top: calc(100vh - 70px);
}
@media (max-width: 1340px) {
	.img-wrapper.mv-img .caption.avoid-footer{
		bottom: 1.8vw;
		top: auto;
	}
}
@media (min-width: 1330px) {
	.img-wrapper.mv-img .caption.avoid-footer{
		bottom: auto;
		top: calc(100vh - 70px);
	}
}
.img-wrapper .caption.avoid-footer{
	bottom: 55px;
}
.img-wrapper.view-bg .caption.avoid-footer{
	bottom: auto;
	top: calc(100vh - 80px);
}
@media (max-width: 767px) {
	.img-wrapper.mv-img .caption.avoid-footer{
		bottom: 75px;
		top: calc(100vh - 70px);
	}
	.img-wrapper .caption.avoid-footer{
		bottom: 16px;
	}
}

.is-alert {
	color: #ff1c1c;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.text-left {
	text-align: left;
}
@media (max-width: 767px) {
	.sp_text-left{
		text-align: left;
	}
}

.small-text {
	font-size: 70%;
}
.small-text-min {
	font-size: 50%;
}

.large-text {
	font-size: 150%;
}

.is-semi-bold {
	font-weight: 500;
}
.is-thin {
	font-weight: 300;
}
.is-bold {
	font-weight: 700;
}

.line-wide {
	line-height: 2.8;
}
.letter-wide{
	letter-spacing: .2em;
}
.is-dummy{
	transform: rotateY(180deg);
}
.mb-medium{
	margin-bottom: 32px;
}
.mb-large{
	margin-bottom: 80px;
}
.has-bb{
	border-bottom: 1px solid;
}
.has-bb.mb-medium{
	padding-bottom: 60px;
}
@media (max-width: 767px) {
	.mb-large{
		margin-bottom: 40px;
	}
}

@media (min-width: 992px) {
	.pc-none {
		display: none;
	}
}
@media (max-width: 991px) {
	.sp-none {
		display: none;
	}
}
@media (max-width: 767px) {
	.mobile-none {
		display: none;
	}
	.sp-text-center {
		text-align: center;
	}
}
@media (min-width: 768px) {
	.tab-none {
		display: none;
	}
}
/* Hides from IE-mac \*/
.clearfix {
	display: block;
}
.clearfix::after{
	display: block;
	content: "";
	clear: both;
}

/* End hide from IE-mac */