@charset "UTF-8";
/* CSS Document */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/* -----------------------------------------------
 [1. Base(ベース)]
-------------------------------------------------- */
html,body {
	width: 100%;
	height: 100%;
	scroll-behavior: smooth;
}
html {
	font-size: 62.5%;
	/* sets the base font to 10px for easier math */
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-overflow-scrolling: touch;
}
body {
	font-family: 'Noto Sans JP', 'Roboto', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'M PLUS 1p', 'Lato', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	/* sets the default sizing to make sure nothing is actually 10px */
	font-feature-settings: "palt";
	line-height: 1.4;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
/* @media screen and (min-width: 741px) {
	body {
		min-width: 1000px;
		margin: auto;
	}
} */
* {
	-webkit-box-sizing: border-box;
	/* border-box ------------------------------ */
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	/* border-box ------------------------------ */
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1.2;
}
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,
blockquote,pre,a,abbr,acronym,address,code,del,em,img,strong,
dl,dt,dd,ol,ul,li,
fieldset,form,label,table,caption,tbody,tfoot,thead,tr,th,td {
	margin: 0;
	padding: 0;
	font-style: normal;
}
ul,ol,li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
dl,dl dd {
	margin: 0;
}
img {
	vertical-align: bottom;
	line-height: 1.0;
}
input,button,select,textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	font-weight: inherit;
}
figure,figcaption {
	margin: 0;
	font-size: inherit;
}
blockquote,q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,q:after {
	content: '';
	content: none;
}
a {
	/* color: #000; */
	text-decoration: none;
}
/* a:hover,
a:focus {
	color: #595959;
}
a:focus {
	outline: thin dotted;
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: -2px;
} */
canvas {
	image-rendering: optimizeQuality;
	image-rendering: -moz-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimize-contrast;
	-ms-interpolation-mode: nearest-neighbor;
}
button {
	border: 0;
	background: transparent;
	-moz-box-shadow: 0 0 0 0 transparent;
	-webkit-box-shadow: 0 0 0 0 transparent;
	box-shadow: 0 0 0 0 transparent;
}
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* -----------------------------------------------
 [2. Layout(レイアウト)]
-------------------------------------------------- */
.body{
  background: none;

}
main {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	min-height: 100vh;
}
@media screen and (max-width: 750px) {
	main {
		max-width: 100%;
	}
	img {
		width: 100%;
	}
	
}


/* header
-------------------------------------------------- */
header {
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}
@media screen and (max-width: 480px) {
	header {
		width: 100%;
	}
}
header img {
	height: 160px;
}
@media screen and (max-width: 750px) {
	header img {
		height: 21.33vw;
		width: auto;
	}
}



/* footer
-------------------------------------------------- */
footer {
	background: #000;
	color: #fff;
	padding: 100px 0 200px;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
}
@media screen and (max-width: 480px) {
	footer {
		padding: 50px 0 120px;
		width: 100%;
	}
}
footer img {
	width: 360px;
	height: auto;
}
footer small {
	font-size: 2.2rem;
}
@media screen and (max-width: 480px) {
	footer small {
		font-size: 1.1rem;
	}
}
footer a {
	display: block;
	margin: 0 auto 20px;
	width: 360px;
}
@media screen and (max-width: 480px) {
	footer a {
		display: block;
		margin: 0 auto 3px;
		width: 180px;
	}
}
footer a img {
	width: 100%;
	height: auto;
	transition: 0.3s ease-in-out;
}
footer a:hover img {
	opacity: 0.8;
}

div.karte-widget__container,
div._karte-temp-btn__1ajW_ {
	display: none !important;
}

/* -----------------------------------------------
 [3. XXIO]
-------------------------------------------------- */
body {
	min-height: 100vh;
	background-image: url(../images/bg-img.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	background-attachment: fixed;
}
img {
	max-width: 100%;
}
img.w100 {
	width: 100%;
}
@media screen and (max-width: 750px) {
	img {
		width: initial;
	}
}


/* header
-------------------------------------------------- */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:#000;
}
@media screen and (max-width: 750px) {
	header > * {
		flex: 1 0 auto;
	}
}
#subHeader {
	width: 100%;
  position: fixed;
  top: -146px;
  z-index: 1;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
}
#subHeader.fixed {
  top: 0;
  visibility: visible;
	z-index: 1000;
}
#subHeader div {
	margin: auto;
	display: flex;
	width: 750px;
	background-color: #fff;
}
#subHeader.fixed div {
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
#subHeader a {
	transition: 0.3s ease-in-out;
}
#subHeader a:hover {
	opacity: 0.8;
}
@media screen and (max-width: 750px) {
	#subHeader {
		top: -19.47vw;
	}
  #subHeader div {
		width: 100%;
	}
	#subHeader div > * {
		flex: 1 0 auto;
		width: 50%;
	}
}

#subFooter {
	width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 1000;
}
#subFooter div {
	margin: auto;
	width: 750px;
}
#subFooter a:hover {
	opacity: 0.8;
}
#subFooter a img {
	width: 100%;
}
@media screen and (max-width: 750px) {
  #subFooter div {
		width: 100%;
	}
	#subFooter a:hover {
		opacity: 1;
	}
	#subFooter a:active {
		opacity: 0.8;
	}
}

/* main common
-------------------------------------------------- */
main {
	background-color: #fff;
}
.font-w {
	font-weight: bold;
}
.font-l {
	font-size: 50px;
}
.font-c {
	text-align: center;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-80 {
	margin-bottom: 80px;
}
.btn {
	width: 580px;
	margin: 0 auto;
}
.btn li {
	margin-bottom: 40px;
}
.btn-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 117px;
	background-color: #28893A;
	border: solid 1px #28893A;
	color: #fff;
	font-size: 40px;
	font-weight: 700;
	transition: 0.3s ease-in-out;
}
.btn-link:hover {
	opacity: 0.8;
}
.btn-link::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 750px) {
	.font-l {
		font-size: 6.67vw;
	}
	.font-c {
		text-align: center;
	}
	.mb-20 {
		margin-bottom: 2.67vw;
	}
	.mb-80 {
		margin-bottom: 10.67vw;
	}
	.btn {
		width: 77.33vw;
	}
	.btn li {
		margin-bottom: 5.33vw;
	}
	.btn-link {
		font-size: 5.33vw;
		height: 15.6vw;
	}
}

/* main sectioon
-------------------------------------------------- */
#schedule {
	margin-bottom: 120px;
}
#pickup {
	margin-bottom: 120px;
}
@media screen and (max-width: 750px) {
	#schedule {
		margin-bottom: 16vw;
	}
	#pickup {
		margin-bottom: 16vw;
	}
}
#lineup {
	margin-bottom: 110px;
	scroll-margin-top: 50px;
}
.line-up_section {
	padding-bottom: 70px;
	margin-bottom: 70px;
	border-bottom: solid 1px #c6c6c6;
}
.line-up_carousel {
	position: relative;
}
.item-ttl {
	padding-left: 22px;
}
.item-ttl h3 {
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	font-size: 72px;
	margin-bottom: 34px;
}
.item-ttl h3 span {
	font-size: 35px;
	margin-left: 34px;
}
.item-ttl p {
	margin-bottom: 30px;
}
.thumbs-grid {
	display: grid;
	gap: 17px;
	margin: 2px auto 60px;
	text-align: center;
	justify-content: center;
	grid-template-columns: repeat(4, 164px);
}
.thumbs-grid button {
	all: unset;
	cursor: pointer;
	padding: 0;
	box-sizing: border-box;
	outline:#000 1px solid;
}
.thumbs-grid button:nth-of-type(3) {
	margin-left: 0;
}
.thumbs-grid button.is-active img,
.thumbs-grid button:hover img {
	outline:#000 10px solid;
	outline-offset: -10px;
	box-sizing: border-box;
}
:root {
	--swiper-navigation-top-offset: 300px;
}
.swiper-button-next, .swiper-button-prev {
	width: 67px;
	height: 67px;
}
.swiper-button-next {
	right: 0;
}
.swiper-button-prev {
	left: 0;
}
.swiper-button-next::after, .swiper-button-prev::after {
	display: none;
}
@media screen and (max-width: 750px) {
	#lineup {
		margin-bottom: 14.67vw;
		scroll-margin-top: 6.67vw;
	}
	.line-up_section {
		padding-bottom: 9.33vw;
		margin-bottom: 9.33vw;
	}
	.item-ttl {
		padding-left: 2.93vw;
	}
	.item-ttl h3 {
		font-size: 9.6vw;
		margin-bottom: 4.53vw;
	}
	.item-ttl h3 span {
		font-size: 4.67vw;
		margin-left: 4.53vw;
	}
	.item-ttl p {
		margin-bottom: 4vw;
	}
	.item-ttl img {
		height: 7vw;
	}
	.thumbs-grid {
	gap: 2.27vw;
		margin: 2px 2.27vw 8vw;
		grid-template-columns: repeat(4, 21.87vw);
	}
	.thumbs-grid button.is-active img,
	.thumbs-grid button:hover img {
		outline:#000 1.34vw solid;
		outline-offset: -1.34vw;
		box-sizing: border-box;
	}
	:root {
		--swiper-navigation-top-offset: 50vw;
	}
	.swiper-button-next, .swiper-button-prev {
		width: 8.93vw;
		height: 8.93vw;
	}
}
.line-up_price {
	text-align: center;
	margin-bottom: 20px;
}
.line-up_price .font-s {
	font-size: 80px;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
}
.comma {
	font-size: 80px;
	vertical-align:9%;
}
.line-up_price .price {
	font-size: 120px;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
}
.line-up_price .tax {
	font-size: 30px;
	font-weight: 700;
}
.line-up_note {
	margin: auto;
	display: table;
}
.line-up_note_A {
	display: table;
	padding: 0 3px;
	color: #de1515;
	font-size: 30px;
	font-weight: bold;
	border: 2px solid #de1515;
	border-radius: 3px;
	text-align: left;
}
.line-up_note_B {
	color: #de1515;
	font-size: 40px;
  font-weight: bold;
	text-align: left;
}
.line-up_detail {
	background: #f0f0f2;
	border-radius: 20px;
	padding: 40px 30px;
	font-size: 23px;
	margin: 0 17px ;
}
.line-up_detail div {
	display: flex;
	gap: 20px;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid #c6c6c6;
	margin-bottom: 16px;
}
.line-up_detail dt {
	text-align: center;
	min-width: 200px;
	padding: 8px 20px 12px;
	background-color: #000;
	border-radius: 6px;
	color: #fff;
}
@media screen and (max-width: 750px) {
	.line-up_price {
		margin-bottom: 2.67vw;
	}
	.line-up_price .font-s {
		font-size: 10.67vw;
	}
	.comma {
		font-size: 10.67vw;
	}
	.line-up_price .price {
		font-size: 16vw;
	}
	.line-up_price .tax {
		font-size: 4vw;
	}
	.line-up_note_A {
		font-size: 4vw;
	}
	.line-up_note_B {
		font-size: 5.33vw;
	}
	.line-up_detail {
		border-radius: 2.67vw;
		padding: 5.33vw 4vw;
		font-size: 3.8vw;
		margin: 0 2.27vw;
	}
	.line-up_detail div {
		gap: 2.67vw;
		padding-bottom: 2.13vw;
		margin-bottom: 2.13vw;
	}
	.line-up_detail dt {
		min-width: 26.67vw;
		padding: 1.07vw 2.67vw 1.6vw;
		border-radius: 0.8vw;
	}
}
#technology {
	background-color: #000
}
.technology_body {
	padding: 45px 16px 120px;
	background: url(../images/bg_tec-sec01.jpg) center top repeat-y;
	background-size: 100% auto;
}
.technology_catch {
	width: 650px;
	margin: 0 auto;
}
.technology_catch p {
	margin-bottom: 64px;
	font-size: 34px;
	font-family: "Oswald", sans-serif;
	font-weight: 700;
	line-height: 1.529;
	color: #fff;
}
.technology_point {
	padding: 75px 0;
	background-color: #fff;
	border-radius: 20px;
}
.technology_point .inner {
	padding: 60px 30px 150px;
	background: url(../images/deco_tech-arrow.png) bottom center no-repeat;
	background-size: contain;
	margin-bottom: 60px;
}
.technology_point .inner:last-child {
	background: none;
	padding-bottom: 20px;
	margin-bottom: 0;
}
.technology_point h3 {
	text-align: center;
	margin: 0 30px 30px;
}
.technology_point .inner h4 {
	text-align: center;
	margin-top: 62px;
	margin-bottom: 15px;
}
.technology_point .inner p {
	font-size: 34px;
	font-weight: 600;
	line-height: 1.529;
}
.technology_point .inner .font-l {
	font-size: 60px;
	font-weight: 800;
	margin-bottom: 15px;
	text-align: center;
}

@media screen and (max-width: 750px) {
	.technology_body {
		padding: 6vw 2.13vw 16vw;
	}
	.technology_catch p {
		margin-bottom: 8.53vw;
		font-size: 4.53vw;
	}
	.technology_catch {
		width: 86.67vw;
	}
	.technology_point .inner {
		padding: 8vw 4vw 20vw;
		margin-bottom: 8vw;
	}
	.technology_point .inner:last-child {
		padding-bottom: 4vw;
	}
	.technology_point h3 {
		margin: 0 4vw 4vw;
	}
	.technology_point .inner h4 {
		margin-top: 8.27vw;
		margin-bottom: 2vw;
	}
	.technology_point .inner h4 img {
		width: 32vw;
	}
	.technology_point .inner p {
		font-size: 4.53vw;
	}
	.technology_point .inner .font-l {
		font-size: 8vw;
		text-align: center;
	}
	.technology_point {
		padding: 10vw 0;
		border-radius: 2.67vw;
	}
}
#campaign .inner{
	margin: auto;
	padding: 40px 27px;
}
@media screen and (max-width: 750px) {
	#campaign .inner{
		padding: 5.33vw 3.6vw;
	}
}

#model {
	background-color: #f0f0f2;
	padding: 75px 27px 93px;
	
}
#model figure {
  margin-bottom: 50px;
}
@media screen and (max-width: 750px) {
	#model {
		padding: 10vw 3.6vw 12.4vw;
	}
  #model figure {
    margin-bottom: 6.2vw;
  }
}
#blog {
	padding-bottom: 180px;
}
.ef-blogs {
	display: grid;
	gap: 35px;
	grid-template-columns: 1fr 1fr;
	padding: 46px 27px 68px;
}
.ef-item a {
	color: #000;
}
.content-entry p {
	font-size:25px;
}
@media screen and (max-width: 750px) {
	#blog {
		padding-bottom: 24vw;
	}
	.ef-blogs {
		gap:4.67vw;
		padding: 6.13vw 3.6vw 9.07vw;
	}
	.content-entry p {
		font-size:3.33vw;
	}
}
#imbox a {
	display: block;
	background-color: #000;
	padding: 55px 24px 50px;
	transition: 0.3s ease-in-out;
}
#imbox a:hover {
	opacity: 0.8;
}
#imbox h2 {
	font-size: 48.46px;
	color: #fff;
	font-weight: 700;
	display: flex;
	justify-content: space-around;
	text-align: center;
	align-items: center;
	margin-bottom: 20px;
	line-height: 1.265;
}
#imbox h2 img {
	width: 56px;
}
#imbox figure {
	display: flex;
	width: 100%;
	gap: 22px;
	margin-bottom: 38px;
}
#imbox figure img {
	width: calc(50% - 11px);
}
#imbox h3 {
	text-align: center;
}
#imbox h3 span {
	display: inline-block;
	margin-top: 15px;
	font-size: 58px;
	color: #fff;
}

@media screen and (max-width: 750px) {
	#imbox a {
		padding: 7.33vw 3.2vw 6.67vw;
	}
	#imbox h2 {
		font-size: 6.46vw;
		margin-bottom: 2.67vw;
	}
	#imbox h2 img {
		width: 7.47vw;
	}
	#imbox figure {
		margin-bottom: 5.07vw;
	}
	#imbox figure img {
		width: calc(50% - 11px / 375 * 100vw);
	}
	#imbox h3 span {
		margin-top: 2vw;
		font-size: 7.73vw;
	}
}
#cv {
	padding: 146px 0;
	text-align: center;
}
#cv h2 {
	margin-bottom: 70px;
}
#cv h2 img {
	width: 590px;
}
#cv h2 span {
	display: block;
	font-size: 50px;
}

@media screen and (max-width: 750px) {
	#cv {
		padding: 19.47vw 0;
	}
	#cv h2 {
		margin-bottom: 9.33vw;
	}
	#cv h2 img {
		width: 78.67vw;
	}
	#cv h2 span {
		font-size: 6.67vw;
	}
}