@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%;
}
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-color: #FFFFFF;
}
main {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	background-image: url(../images/background.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
	min-height: 100vh;
}
@media screen and (max-width: 750px) {
	main {
		max-width: 100%;
		background: linear-gradient(180deg, #0149B4 1.1%, #014AB6 2.53%, #051F42 12.1%);
	}
	img {
		width: 100%;
	}
	
}
.warp {
	width: 750px;
	margin: 0 auto;
}
@media screen and (max-width: 480px) {
	.warp {
		width: 100%;
		margin: 0 auto;
	}
}
.warp::after {
	display: block;
	clear: both;
	content: "";
}
.ttl {
	color: #fff;
	text-align: center;
	height: 240px;
	width: 100%;
	line-height: 1;
	background-image: url("../images/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
@media screen and (max-width: 480px) {
	.ttl {
		height: 120px;
	}
}
.ttl h2 {
	font-family: 'Oswald', sans-serif;
	font-size: 7.9rem;
	font-weight: 900;
	width: 100%;
	padding-top: 64px;
}
@media screen and (max-width: 480px) {
	.ttl h2 {
		font-size: 4.0rem;
		padding-top: 29px;
	}
}
.ttl p {
	font-size: 2.9rem;
	font-weight: 700;
	width: 100%;
}
@media screen and (max-width: 480px) {
	.ttl p {
		font-size: 1.5rem;
	}
}

/* header
-------------------------------------------------- */
header {
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 0 auto -90px;
}
@media screen and (max-width: 480px) {
	header {
		width: 100%;
		margin: 0 auto -45px;
	}
}
header .logoLink img {
	height: 90px;
}
@media screen and (max-width: 480px) {
	header .logoLink img {
		height: 45px;
		width: auto;
	}
}

/*--------------------------------------------------*/

#section_movie .ttl h2 {
	padding-top: 85px;
}
@media screen and (max-width: 480px) {
	#section_movie .ttl h2 {
		padding-top: 38px;
	}
}
.youtube {
	background-color: #EFEFEF;
	padding: 60px 50px;
}
@media screen and (max-width: 480px) {
	.youtube {
		padding: 30px 25px;
	}
}
.youtubeIframe {
	position: relative;
	padding-bottom: 56.5%;
	height: 0;
	overflow: hidden;
	background-color: #8F8F8F;
}
.youtubeIframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.youtube p {
	font-size: 3.0rem;
	word-break: break-all;
	padding: 18px 0 36px;
}
@media screen and (max-width: 480px) {
	.youtube p {
		font-size: 1.5rem;
		padding: 9px 0 18px;
	}
}
.magazine {
	background-color: #D0DEE4;
	padding: 60px 50px;
}

@media screen and (max-width: 480px) {
	.magazine {
		padding: 30px 25px;
	}
}
.magazine img {
	width: 100%;
}
.magazine p {
	font-size: 3.0rem;
	word-break: break-all;
	padding: 18px 0 0;
}
@media screen and (max-width: 480px) {
	.magazine p {
		font-size: 1.5rem;
		padding: 9px 0 0;
	}
}

.bnr_ifc {
	background-color: #D0DEE4;
	padding-top: 60px;
}
@media screen and (max-width: 480px) {
  .bnr_ifc {
    padding-top: 30px;
  }
}
  
.staffBlog {
	/*margin-bottom: 30px;*/
	background-color: #D0DEE4;
	padding: 70px 30px 80px;
}
@media screen and (max-width: 480px) {
	.staffBlog {
		padding: 30px 25px 35px;
	}
}
.staffBlogLink {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	color: #28893A;
	background-color: #fff;
	font-size: 2.7rem;
	font-weight: 700;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.staffBlogLink {
		height: 50px;
		font-size: 1.4rem;
		margin-top: 20px;
	}
}
@media only screen and (max-device-width:320px) {
	/* iPhone 5・SE */
	.staffBlogLink {
		font-size: 1.2rem;
	}
}
.staffBlogLink::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 10px;
	border-top: 2px solid #28893A;
	border-right: 2px solid #28893A;
	transform: rotate(45deg);
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.staffBlogLink::after {
		right: 5px;
		width: 8px;
		height: 8px;
		margin: 0 10px;
		border-width: 1px;
	}
}
.staffBlogLink:hover {
	opacity: 0.6;
}
.ef-blogs {
	justify-content: space-between;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.ef-blogs .ef-item {
	position: relative;
	width: 330px;
	margin-bottom: 55px;
	background-color: #FFF;
}
@media screen and (max-width: 480px) {
	.ef-blogs .ef-item {
		width: 48%;
		margin-bottom: 30px;
	}
}
.js-photo-ofi img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
	vertical-align: middle;
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__image {
	position: relative;
	display: block;
	height: 0;
	border: solid 1px #FFF;
	background-color: #EFEFEF;
	padding-bottom: 100%;
	overflow: hidden;
	margin-bottom: 25px;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__image {
		margin-bottom: 10px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__image img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
	position: absolute;
	left: 0;
	top: 0;
	vertical-align: middle;
	transition: all 0.3s ease;
}
.homeBlogEntries__entry__link {
	display: block;
	/* background-color: #fff; */
	width: 100%;
}
.homeBlogEntries__entry__link .content-entry {
	padding: 0 15px;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .content-entry {
		padding: 0 10px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__date {
	color: #187FC4;
	font-size: 2.4rem;
	line-height: 1;
	margin-bottom: 10px;
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__date {
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__title {
	padding-bottom: 2em;
	margin-bottom: 10px;
	font-size: 2.8rem;
	color: #000;
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__title {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__name {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #187FC4;
	font-size: 2.4rem;
	padding: 0 15px 20px;
	/* text-align: center;
	border: solid 1px #740003;
	border-radius: 6px; */
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__name {
		font-size: 1.2rem;
		padding: 10px;
		border-radius: 4px;
	}
}
@media only screen and (min-width: 768px) {
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__title {
		opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__datee {
		opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__name {
		opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__image img {
		opacity: 0.8;
		transform: scale(1.03);
	}
}
#section_end {
	background-color: #fff;
}
.pickupLink {
	background-color: #3A3B3C;
	padding: 65px 50px;
}
@media screen and (max-width: 480px) {
	.pickupLink {
		padding: 32px 25px;
	}
}
.pickupLink li:first-of-type {
	margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
	.pickupLink li:first-of-type {
		margin-bottom: 20px;
	}
}
.pickupLink li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	background-color: #28893A;
	border: solid 1px #28893A;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 700;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.pickupLink li a {
		height: 50px;
		color: #fff;
		font-size: 1.4rem;
	}
}
@media only screen and (max-device-width:320px) {
	/* iPhone 5・SE */
	.pickupLink li a {
		font-size: 1.2rem;
	}
}
.pickupLink li a::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 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: 480px) {
	.pickupLink li a::after {
		right: 5px;
		width: 8px;
		height: 8px;
		margin: 0 10px;
		border-width: 1px;
	}
}
.pickupLink li a:hover {
	opacity: 0.6;
}
.panel h3 {
	color: #fff;
	text-align: center;
	font-size: 4rem;
	margin: 4rem 0 5rem;
}
@media screen and (max-width: 480px) {
	.panel h3 {
		font-size: 2rem;
		margin: 2rem 0 2.5rem;
	}
}

/* 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;
}
#footerBnr {
	position: fixed;
	bottom: .5rem;
	width: 100%;
	z-index: 99;
	text-align: center;
}
#footerBnr a {
	display: block;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	border-radius: 90px;
	z-index: 1;
}
#footerBnr a img {
	width: 98%;
	transition: 0.3s ease-in-out;
}
#footerBnr a:hover img {
	filter: brightness(160%);
}
p.shopseal {
	width: 45%;
	font-size: 3rem;
	font-weight: 600;
	color: #29893a;
	line-height: 3.5rem;
	padding: 1.5rem;
	background: #fff;
	margin: 3.5rem 0 0;
	border: solid 2px #29893a;
}
@media screen and (max-width: 480px) {
	p.shopseal {
		font-size: 1.5rem;
		line-height: 2rem;
		margin: 1.5rem 0 0;
		padding: 0.5rem 1rem;
	}
}
p.caution {
	color: #fff;
	font-size: 2rem;
	padding-top: 2rem;
}
@media screen and (max-width: 480px) {
	p.caution {
		font-size: 1.2rem;
		padding-top: 1rem;
	}
}
.reflection {
	display: inline-block;
	position: relative;
	overflow: hidden;
}
.reflection:after {
	content: "";
	height: 100%;
	width: 30px;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #fff;
	opacity: 0;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0;
	}
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1;
	}
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}
div.karte-widget__container,
div._karte-temp-btn__1ajW_ {
	display: none !important;
}

/* -----------------------------------------------
 [3. XXIO]
-------------------------------------------------- */
body {
	min-height: 100vh;
    background: linear-gradient(360deg, rgb(19, 75, 145) 7.21%, rgb(13, 48, 94) 50.48%, rgb(9, 35, 68) 75%, rgb(5, 31, 66) 100%) fixed;
}
img {
	max-width: 100%;
}
img.w100 {
	width: 100%;
}

/* common
-------------------------------------------------- */
.point{
	font-size: min(2.2rem, calc((14 / 375) * 100vw));
    font-weight: 700;
}
.number{
	font-size: min(6.6rem, calc((42 / 375) * 100vw));
	border-bottom: #fff 3px solid;
    width: 70px;
    margin: 0 auto 24px;
    padding-bottom: 15px;
    font-weight: 600;
}
.sec-heading {
	font-size: min(5rem, calc((26 / 375) * 100vw));
	font-weight: 700;
	line-height: 1.3;
}
.sec-heading span{
	font-size: min(4.2rem, calc((22 / 375) * 100vw));
}
@media screen and (max-width: 480px) {
	.heading-md {
		border-width: 4px 0;
	}
	.number{
    width: 47px;
    margin: 0 auto 15px;
    padding-bottom: 10px;
}
}
.ttl {
	background: linear-gradient(180deg, #5B5B5B 0%, #000000 100%);
}
.button {
	min-height: 10rem;
	margin-top: calc((20 / 305) * 100%);
	border: solid 2px #28893A;
	background-color: #28893A;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: #FFF;
}
@media screen and (max-width: 480px) {
	.button {
		min-height: 5rem;
		border-width: 1px;
	}
}
@media (hover: hover) {
	.button {
		transition: background-color .3s ease, color .3s ease;
	}
	.button:hover {
		opacity: 0.6;
	}
}

/* header
-------------------------------------------------- */
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgba(5, 31, 66, 1);
}
.lineupLink {
	position: fixed;
	right: calc(50% - 375px + 4px);
    top: 15px;
	display: flex;
	-webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
	margin-right: calc((6 / 375) * 100%);
	padding: .2em .5em .3em 1em;
	border-radius: 5em;
	gap: 1rem;
	font-size: 3rem;
	font-weight: bold;
	letter-spacing: .05em;
	color: #1B1B1B;
    background: linear-gradient(180deg, #EFEFEF 0%, #BABABA 100%);
    border: 1px solid rgba(245, 245, 245, 0.25);
	z-index: 1000;
}
.lineupLink::after {
	content: "▼";
	font-size: .5em;
}
@media (hover: hover) {
	.lineupLink {
		transition: background-color .3s ease, color .3s ease;
	}
	.lineupLink:hover {
		opacity: 0.6;
	}
}
@media screen and (max-width: 750px) {
	.lineupLink {
		right: clamp(8px, 2.15vw, 24px);
        top: 8px;
        margin-right: 0;
	}
}
@media screen and (max-width: 480px) {
	.lineupLink {
		font-size: 1.6rem;
	}
}

/* kv
-------------------------------------------------- */
.body{
	min-height: 100vh;
	background: linear-gradient(
    360deg,
    #134B91 7.21%,
    #0D305E 50.48%,
    #092344 75%,
    #051F42 100%
  );
  background-attachment: fixed;
}
.kv{
    background: rgba(236, 236, 236, 1);
	width: 100%;
    max-width: 750px;
    margin: 0 auto;
    text-align: center;
}
.kv img{
	margin-top: 90px;
    display: block;
}
@media screen and (max-width: 480px) {
	.kv img{
		margin-top: 45px;
	}
}

/* schedule
-------------------------------------------------- */
.schedule {
	width: 100%;
    max-width: 750px;
    margin: 0 auto;
	padding: 70px 30px;
	background: rgba(236, 236, 236, 1);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: calc((15 / 345) * 100%);
	line-height: 1;
	text-align: center;
	font-size: min(3rem, calc(18 / 375) * 100vw);
}
.schedule dl {
	border: solid 1px #28893A;
	background-color: #FFF;
}
.schedule dl dt {
	padding: .4em 0;
	background-color: #28893A;
	font-weight: bold;
	color: #FFF;
}
.schedule dl dd {
	padding: .5em 0 .75em;
	font-weight: bold; position: relative;
}
.schedule dl dd strong {
	font-size: calc((30 / 18) * 1em);
}
.schedule dl dd strong span.dayofweek {
	vertical-align: .1em;
	font-size: calc((11 / 18) * 1em);
}
.schedule dl dd strong span.scheduletxt {
	vertical-align: .1em;
	font-size: calc((15 / 18) * 1em);
}
@media screen and (max-width: 480px) {
	.schedule {
		font-size: min(1.8rem, 4vw);
		padding: calc((35 / 375) * 100%) calc((15 / 375) * 100%);
	}
}

/* section01
-------------------------------------------------- */
.sec01 {
	color: #fff;
	text-align: center;
	padding: 90px 0 100px;
}
.sec01-contents{
	padding: 68px 0 64px;
}
.sec01-contents.contens003{
	padding: 68px 0 0;
}
.sec01-contents .smalltitle{
	font-weight: 700;
    font-size: min(3.4rem, calc((17 / 375) * 100vw));
	margin-bottom: 20px;
}
.sec01-contents .smalltitle span{
	font-weight: 900;
}
.sec01-contents p{
	font-size: min(6rem, calc((26 / 375) * 100vw));
	font-weight: 700;
}
.sec01-contents .green{
	color: #8EC21C;
}
.sec01-contents .largefont{
	font-size: min(8rem, calc((42 / 375) * 100vw));
}
.sec01-contents .mediumfont{
	font-size: min(7rem, calc((32 / 375) * 100vw));
}
.sec01-contents .smallfont{
	font-size: min(6rem, calc((32 / 375) * 100vw));
}
.sec01-contents .smallfont02{
	font-size: min(5.5rem, calc((32 / 375) * 100vw));
}
.sec01-contents .sentence{
	font-size: min(2.6rem, calc((16 / 375) * 100vw));
	font-weight: 600;
	margin: 40px auto;
}
.sec01-contents.contens002 .flexarea{
	display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.sec01-contents.contens002 .flexarea figcaption{
	margin-top: 24px;
	font-size: min(2.4rem, calc((15 / 375) * 100vw));
}
.sec01-contents.contens004{
	margin: 0 25px;
}
.sec01-contents.contens004 h3{
	border-top: solid #FFFFFF 2px;
    border-bottom: solid #FFFFFF 2px;
	padding: 25px;
        font-size: min(3.2rem, calc((16 / 375) * 100vw));
    font-weight: 600;
	margin: 38px 0 36px;
}
.sec01-contents.contens004 h4{
	background: linear-gradient(90deg, #FFFFFF -1.2%, #FFFFFF 49.32%, #051F42 86.94%);
    text-align: left;
    color: #1B1B1B;
    margin: 35px 0;
	font-size: min(3rem, calc((15 / 375) * 100vw));
    font-weight: 600;
	padding: 10px 18px;
}
.sec01-contents.contens004 figcaption{
	font-size: min(2.5rem, calc((15 / 375) * 100vw));
    font-weight: 500;
	margin: 10px auto;
}
.sec01-contents.contens004 p.arrow01 , .sec01-contents.contens004 p.arrow02{
	font-size: min(3.4rem, calc((20 / 375) * 100vw));
	position: relative;
	padding-top: 90px;
}
.sec01-contents.contens004 p.arrow01::before , .sec01-contents.contens004 p.arrow02::before{
	content: "";
    position: absolute;
    bottom: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: calc((73 / 345) * 100%);
    aspect-ratio: 58 / 25;
    background-color: #F5F5F580;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.nanoalloy-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}
.nanoalloy-left {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.nanoalloy-left img {
  height: 71px;
}
.nanoalloy-name {
  font-size: min(2rem, calc((18 / 375) * 100vw));
  margin-top: 4px;
}
.case-text {
  font-size: min(3rem, calc((15 / 375) * 100vw));
  white-space: nowrap;
}
.sec01-contents.contens004 p.arrow02{
	padding-top: 120px;
}
.sec01-contents.contens004 p.arrow02 span.green{
	font-size: min(4.2rem, calc((19 / 375) * 100vw));
}
.sec01-contents.contens004 p.arrow02::before{
    bottom: 120px;
}
.sec01-contents.contens004 .annotation{
	font-weight: 500;
	font-size: 16px;
	margin-top: 20px;
}
@media screen and (max-width: 750px) {
	.sec01 {
		position: relative;
		background: linear-gradient(180deg, #0149B4 1.1%, #014AB6 2.53%, #051F42 12.1%);
	}
	.sec01-contents::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 100%;
		height: 100%;
		transform: translateX(-50%);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		pointer-events: none;
		z-index: 0;
	}
	.sec01-contents > * {
		position: relative;
		z-index: 1;
	}
	.contens001::before {
		background-image: url(../images/motif_1.png);
		background-position: center 7%;
	}
	.contens002::before {
		background-image: url(../images/motif_2.png);
		background-position: center 29%;
	}
	.contens003::before {
		background-image: url(../images/motif_3.png);
		background-position: center 50%;
	}
	.sec01-contents.contens002 .flexarea{
		padding: 0 15px;
		gap: 13px;
	}
	.sec01 figure img{
		padding: 0 15px;
	}
}
@media screen and (max-width: 480px) {
	.nanoalloy-left img {
  		height: 37px;
	}
	.sec01 {
		padding: 42px 0 62px;
	}
	.sec01 .contens004 figure img{
		 max-width: 262px;
	}
	.sec01-contents{
		padding: 30px 0;
	}
	.sec01-contents .smalltitle{
		margin-bottom: 10px;
	}
	.sec01-contents .sentence{
		margin: 15px auto 25px;
	}
	.sec01-contents.contens002 .flexarea img{
		padding: 0;
	}
	.sec01-contents.contens002 .flexarea figcaption{
		margin-top: 9px;
	}
	.sec01-contents.contens003{
		padding-bottom: 0;
	}
	.sec01-contents.contens004 h3{
		margin: 8px 0 20px;
	}
	.sec01-contents.contens004 h4.nanoalloy-title{
		margin: 20px 0 10px;
		padding: 0 0 4px 7px;
		background: linear-gradient(90deg, #FFFFFF -1.2%, #FFFFFF 58.32%, #051F42 94.94%);
	}
	.sec01-contents.contens004 p.arrow01 , .sec01-contents.contens004 p.arrow02{
		padding-top: 70px;
	}
	.sec01-contents.contens004 p.arrow01::before , .sec01-contents.contens004 p.arrow02::before{
		bottom: 45px;
		width: calc((69 / 345) * 100%);
	}
	.sec01-contents.contens004 p.arrow02::before{
		bottom: 90px;
	}
	.sec01-contents.contens004 h4{
		margin: 20px 0 15px;
	}
	.sec01-contents.contens004 {
	    padding-bottom: 0;
	}
	.sec01-contents.contens004 figcaption{
		margin: 0;
	}

}



/* section02
-------------------------------------------------- */
.sec02 {
	color: #fff;
	text-align: center;
	padding: 90px 0 100px;
}
.sec02 figure img{
	margin: 60px auto 15px;
}
@media screen and (max-width: 750px) {
	.sec02{
		background: linear-gradient(180deg, #0149B4 2.08%, #014AB6 7.11%, #051F42 41%);
	}
	.sec02 figure img {
		margin: 20px auto 0;
    	padding: 0 15px;
	}
}
@media screen and (max-width: 480px) {
	.sec02{
		padding: 42px 0 66px;
	}
}


/* section03
-------------------------------------------------- */
.sec03 {
	color: #fff;
	text-align: center;
	padding: 90px 0 100px;
	--figure-h: 570px;
    --img-top: -180px;
}
.sec03 figure {
	position: relative;
	height: 570px;
	height: var(--figure-h);
}
.sec03 figure img{
	position: absolute;
	top: var(--img-top);
  	left: 0;
  	right: 0;
}
@media screen and (max-width: 750px) {
	.sec03{
		padding: 42px 0;
		background: linear-gradient(180deg, #0149B4 2.44%, #014AB6 8.82%, #051F42 51.76%);
		position: relative;
	}
	.sec03::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 100%;
		height: 100%;
		background-image: url(../images/motif_4.png);
		background-position: center calc(100% - 50px);
		transform: translateX(-50%);
		background-repeat: no-repeat;
		background-size: contain;
		pointer-events: none;
		z-index: 0;
	}
	.sec03 > * {
		position: relative;
		z-index: 1;
	}
	
}
@media screen and (max-width: 640px) {
	.sec03{
		--figure-h: clamp(260px, 80vw, 510px);
        --img-top: clamp(-80px, -20vw, -100px);
	}
}

/* campaign
-------------------------------------------------- */
.cmp {
	padding-bottom: calc((45 / 375) * 100%);
	background: #EEEEEE;
}
.cmp .button {
	font-size: min(3.4rem, calc((17 / 375) * 100vw));
}
.cmp-title {
	width: calc((344 / 375) * 100%);
	margin: calc((20 / 375) * 100%) auto 0;
	font-size: min(4rem, calc((25 / 375) * 100vw));
    text-align: center;
}
.cmp-title span{
	font-size: min(6rem, calc((36 / 375) * 100vw));
}
.cmp-title img {
	width: auto;
}
.cmp-block {
	width: calc((345 / 375) * 100%);
	margin: calc((20 / 375) * 100%) auto;
	padding-bottom: calc((30 / 375) * 100%);
	border: solid 1px #707070;
	background-color: #FFF;
	font-size: min(2.6rem, calc((13 / 375) * 100vw));
}
.cmp-block__inner {
	width: calc((305 / 345) * 100%);
	margin-right: auto;
	margin-left: auto;
}
.cmp-block__inner .logoarea{
	display: flex;
    justify-content: center;
    align-items: center;
	gap: 7px;
    margin-bottom: 36px;
}
.cmp-label {
	display: inline-block;
	margin-bottom: calc((15 / 345) * 100%);
	padding: .1em 1.3em .2em .7em;
	clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
	background: linear-gradient(90deg, #024AB5 0%, #033275 114.06%);
	font-size: min(calc((21 / 13) * 1em), calc((21 / 375) * 100vw));
	font-weight: bold;
	color: #FFF;
}
.cmp-label strong {
	margin-left: .2em;
	vertical-align: baseline;
	font-size: calc((23 / 21) * 100%);
}
.cmp-target-products{
	max-width: 600px;
	background-color: #ECECEC;
	text-align: center;
	margin-top: 30px;
}
.cmp-target-products h5{
	font-size: min(3.4rem, calc((20 / 375) * 100vw));
	font-weight: 600;
	background: #033479;
	color: #fff;
	padding: 10px 0;
}
.cmp-target-products ul{
	padding: 22px 50px 30px;
	text-align: left;
	font-size: min(3rem, calc((16 / 375) * 100vw));
    font-weight: 600;
}
.cmp-target-products li::before{
	content: "・";
	padding-right: 5px;
}
.cmp-date {
	text-align: center;
}
.cmp-date p {
	margin: calc((17 / 305) * 100%) 0;
	padding: 0 1em .2em 1em;
	background-color: #187FC4;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	color: #FFF;
}
.cmp-date p strong {
	display: flex;
	align-items: center;
	gap: .1em;
	font-size: calc((37 / 13) * 1em);
}
.cmp-date p strong span {
	font-size: calc((30 / 37) * 1em);
}
.cmp-date .fsz-sm {
	margin-top: .35em;
	font-size: calc((20 / 13) * 1em);
}
.cmp-date .fsz-md {
	margin-top: .2em;
	font-size: calc((27 / 13) * 1em);
}
.cmp-notes {
	margin-top: calc((10 / 305) * 100%);
}
.cmp-notes + .cmp-notes {
	margin-top: 1em;
}

@media screen and (max-width: 480px) {
	.cmp-target-products{
		margin-top: 10px;
	}
	.cmp-title img {
		max-width: 200px;
	}
	.cmp-target-products ul{
		padding: 10px 22px 12px;
	}
}

/* cmp01 */
.cmp01 img{
	margin: 0 auto;
    display: block;
}
.cmp01-title {
	margin-bottom: calc((21 / 305) * 100%);
	text-align: center;
	font-size: min(5rem, calc((24 / 375) * 100vw));
}
.cmp01-title span{
	font-size: min(9rem, calc((48 / 375) * 100vw));
    color: #DC000C;
}
/* cmp02 */
.cmp02-title {
	margin-bottom: calc((5 / 305) * 100%);
	text-align: center;
	font-size: min(5rem, calc((40 / 375) * 100vw));
    color: #DC000C;
}
.cmp02-title span{
	font-size: min(6rem, calc((50 / 375) * 100vw));
}
.cmp02-title-small {
	font-size: min(4.6rem, calc((24 / 375) * 100vw));
	font-weight: 700;
	text-align: center;
}
.cmp02-title-small span{
	font-size: 70px;
}
.cmp-block.cmp02 figure{
	position: relative;
	height: 200px;
}
.cmp-block.cmp02 figure img{
	transform: rotate(30deg);
    text-align: center;
	display: block;
    margin: 0 auto;
	position: absolute;
    top: -160px;
    right: 0;
    left: 0;
}
@media screen and (max-width: 750px) {
	.cmp-block.cmp02 figure img{
		top: 50%;
		left: 50%;
		width: 80%;
		height: auto;
		transform: translate(-50%, -50%) rotate(30deg);
	}
	.cmp01 .logoarea img{
		max-width: clamp(48px, 18vw, 62px);
		margin: 0;
	}
	.cmp01 .logoarea img + img{
		max-width: clamp(180px, 60vw, 240px);
	}
}
@media screen and (max-width: 480px) {
	.cmp-block.cmp02 figure{
		height: 180px;
	}
}

/* lineup
-------------------------------------------------- */
.lineup {
	padding-bottom: calc((45 / 375) * 100%);
    background-color: #051F42;
}
.lineup-item.is-dr{
	background-color: #051F42;
    padding: 40px 25px 0;
}
.lineup-item-spec-dtl{
	margin: 15px auto 36px;
    display: grid;
    grid-template-columns: 46% auto;
}
.lineup-item-spec-dtl .lineup-item-spec-dtl-price{
	margin-top: 40px;
	text-align: right;
}
.lineup-item-img img{
    display: block;
    margin: 0 auto;
}
.twoprice .lineup-item-spec-dtl{
	margin: 15px 0;
}
.twoprice a.lineupLink02{
	margin-top: 36px;
}
.twoprice .lineup-item-spec-dtl .lineup-item-spec-dtl-price{
	margin-top: 0;
	text-align: right;
}
.lineup-item-spec{
	width: 100%;
    margin-inline: auto;
    font-size: min(4vw, 3rem);
    line-height: 1.46;
    font-weight: 500;
	background: #fff;
    padding: 22px 25px 50px;
}
.lineup-item-spec-club{
	border-top: solid #1B1B1B 1px;
    border-bottom: solid #1B1B1B 1px;
    padding: 10px 0;
    font-size: min(3rem, calc((18 / 375) * 100vw));
    font-weight: 700;
    margin: 0 auto 20px;
    text-align: center;
}
.lineup-item-spec-dtl-shaft{
	font-size: min(3.2vw, 2.4rem);
}
.lineup-item-spec-dtl-price-icon{
	font-size: min(3.2vw, 2.4rem);
}
.lineup-item-spec-dtl-price-value{
	font-family: "Oswald", sans-serif;
    font-weight: 700;
    font-size: min(7.8666666667vw, 5.9rem);
}
.lineup-item-spec-dtl-price-tax{
	font-size: min(3.2vw, 2.4rem);
}
.lineupLink02{
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100px;
    background-color: #28893A;
    border: solid 1px #28893A;
    color: #fff;
    font-size: min(2.7rem, calc((16 / 375) * 100vw));
    font-weight: 700;
    transition: 0.3s ease-in-out;
}
.lineupLink02:hover{
	opacity: 0.6;
}
.lineupLink02::before,
.lineupLink02::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 32px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.lineupLink02::before{
	box-sizing: border-box;
	width: 26px;
	height: 26px;
	background-color: #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.lineupLink02::after{
	right: 42px;
	width: 10px;
	height: 10px;
	border-top: 1px solid #28883A;
	border-right: 1px solid #28883A;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.lineup-notes{
	margin-top: calc((10 / 305) * 100%);
	font-size: min(3.5vw, 2.6rem);
}


@media screen and (max-width: 480px) {
	.lineupLink02{
		height: 60px;
	}
	.lineupLink02::before,
	.lineupLink02::after{
		right: 20px;
	}
	.lineupLink02::before{
		width: 18px;
		height: 18px;
	}
	.lineupLink02::after{
		right: 26px;
		width: 6px;
		height: 6px;
	}
	.lineup-item-spec-dtl{
		margin: 10px auto 24px;
	}
	.lineup-item-spec{
		padding: 10px 10px 25px;
	}
	.lineup-item.is-dr{
		padding: 15px 15px 0;
	}
	.lineup-item-spec-club{
    	padding: 16px;
	}
}