@charset "utf-8";
/* CSS Document */

/* base
-----------------------------------------------*/
/* ========== base style ========== */

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* ========== border ========== */
/* ========== float ========== */
/* ========== display ========== */
/* ========== position ========== */
/* ========== overflow ========== */
/* ========== width ========== */
/* ========== margin ========== */
/* ========== background ========== */
/* ========== device displaying ========== */
/* ========== animation for ScrollTrigger.min.js  ========== */

/* other style
-----------------------------------------------*/



/* base
-----------------------------------------------*/
picture {
display: block;
}

/* ========== base style ========== */
.allwrapper, .modal * {
font-family: hiragino-kaku-gothic-pron, sans-serif;
font-style: normal;
font-weight: 300;
font-size: 2.9333333333vw;
line-height: 100%;
letter-spacing: 0;
}
.allwrapper *,
.modal, .modal * {
box-sizing: border-box;
}
.allwrapper {
width: 100%;
padding-bottom: 0;
color: #000;
background: #bec0ab;
animation-delay: 0.75s;
}
.modal * {
color: #000;
}
@media (min-width:510px){
	.allwrapper, .modal * {
		font-size: 15px;
	}
}
.allwrapper a:link, .allwrapper a:visited {
color: #000;
text-decoration: none;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}
.allwrapper a:hover, .allwrapper button:hover {
opacity: 0.65;
filter: alpha(opacity=65);
}
.allwrapper ol, .allwrapper ul {
list-style:none;
}
.allwrapper img, .allwrapper video, .allwrapper button {
width: 100%;
height: auto;
display: block;
margin-left: auto;
margin-right: auto;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
}

/* common parts
-----------------------------------------------*/
/* ========== text ========== */
/* align */
.al_left { text-align: left; }
.al_center { text-align: center; }
.al_right { text-align: right; }

/* size */
.fs8 { font-size: 2.1333333333vw; }
.fs9 { font-size: 2.4vw; }
.fs10 { font-size: 2.6666666666vw; }
.fs11 { font-size: 2.9333333333vw; }
.fs12 { font-size: 3.2vw; }
.fs13 { font-size: 3.4666666666vw; }
.fs14 { font-size: 3.7333333333vw; }
.fs15 { font-size: 4vw; }
.fs16 { font-size: 4.2666666666vw; }
.fs17 { font-size: 4.5333333333vw; }
.fs18 { font-size: 4.8vw; }

/* weight */
.fw200 { font-weight: 200 !important; }
.fw300 { font-weight: 300 !important; }
.fw400 { font-weight: 400 !important; }
.fw500 { font-weight: 500 !important; }
.fw600 { font-weight: 600 !important; }
.fw700 { font-weight: 700 !important; }

/* line height */
.lh120 { line-height: 120%; }
.lh130 { line-height: 130%; }
.lh140 { line-height: 140%; }
.lh150 { line-height: 150%; }
.lh160 { line-height: 160%; }
.lh170 { line-height: 170%; }
.lh180 { line-height: 180%; }
.lh190 { line-height: 190%; }
.lh200 { line-height: 200%; }
.lh210 { line-height: 210%; }

/* letter space */
.ltrspace0 { letter-spacing: 0; }
.ltrspace0025 { letter-spacing: 0.025em; }
.ltrspace005 { letter-spacing: 0.05em; }
.ltrspace0075 { letter-spacing: 0.075em; }
.ltrspace01 { letter-spacing: 0.1em; }
.ltrspace0125 { letter-spacing: 0.125em; }
.ltrspace015 { letter-spacing: 0.15em; }

/* decotarion */
.deco_line { text-decoration: underline; }


/* ========== float ========== */
/* clearfix */
.clearfix:before,
.clearfix:after {
display: table;
content: " ";
}
.clearfix:after { clear: both; }

/* float */
.float_left { float: left; }
.float_right { float: right; }


/* ========== display ========== */
.disp_block { display: block !important; }
.disp_iblock { display: inline-block !important; }
.disp_inline { display: inline !important; }
.disp_none { display: none; }
.disp_flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }


/* ========== position ========== */
.posi_relative { position: relative !important; }
.posi_absolute { position: absolute !important; }
.posi_fixed { position: fixed !important; }


/* ========== overflow ========== */
.overflow_hidden { overflow: hidden !important; }


/* ========== margin ========== */
/* margin-auto */
.mx_auto { margin-left: auto; margin-right: auto; }


/* ========== device displaying ========== */
.sp_none{ display: none; }
img.sp_none{ display: none; }
.sp_only{ display: block; }
img.sp_only{ display: block; }
@media (min-width:510px){
	.sp_none{display: block;}
	img.sp_none{display: block;}
	.tab_none { display: none; }
	img.tab_none { display: none; }
	.sp_only{display: none;}
	img.sp_only{display: none;}
	.sp_only{display: none;}
	img.sp_only{display: none;}
}
.spc_none{ display: block; }
@media (min-width:1199px){.pc_none{display: block;}}
.pc_only{ display: none; }
@media (min-width:1200px){.pc_none{display: none;}
.pc_only{display: block;}
.tab_none{ display: block; }
}


/* ========== animation for ScrollTrigger.min.js  ========== */
.invisible {
transition: opacity 1s ease;
opacity: 0.0;
}
.visible {
transition: opacity 1s ease;
opacity: 1.0;
}



/* other style
-----------------------------------------------*/
.allwrapper { width: 100vw; background: #bec0ab; overflow: hidden; animation-delay: 0.75s; }
@media (max-width:767px){
	.allwrapper { padding-top: 0 !important; padding-bottom: 110px; }
}
@media (min-width:768px){
	body.static .wrapper { margin-top: 0; }
	.sp-menu { display: none; }
}
@media (min-width:1200px){
	.allwrapper { width: 100%; }
}
.sp-menu,
.pc-menu {
position: relative;
background: #fff;
z-index: 100;
}

.mv {
width: 100%;
min-height: 225vw;
}
@media (min-width:510px){
	.mv {
		min-height: 80vw;
		padding-top: 4vw;
		border-bottom: 1px solid #000;
	}
}
@media (min-width:1440px){
	.mv {
		position: fixed !important;
		top: calc(50vh - 325px);
		left: 0;
		width: calc(50% + 190px);
		padding-top: 0;
		min-height: auto;
		border-bottom: none;
	}
	.mv h1 {
		width: 900px;
		margin-inline: auto;
	}
}

@media (min-width:510px){
	.mainblock {
		width: 502px;
		padding: 45px 0 66px;
		margin-inline: auto;
		border-left: 1px solid #000;
		border-right: 1px solid #000;
	}
}
@media (min-width:1440px){
	.mainblock {
		margin-left: calc(50% + 190px);
	}
}

.intro p {
	line-height: 2.15;
}
.intro p + p {
margin-top: 2.15em;
}
@media (min-width:510px){
	.intro p {
		line-height: 2.11;
		font-size: 18px;
	}
	.intro p + p {
	margin-top: 2.11em;
	}	
}

.issue_wrapper {
	margin-top: 16.53vw;
}
.issue {
	width: 80.8%;
	padding: 25.3333333333vw 8vw 7.73vw;
	border: 1px solid #000;
	border-radius: 6vw;
}
.issue + .issue {
	margin-top: 14.13vw;
}
img.issue_ico {
	top: -6.1333333333vw;
	left: 2.6666666666vw;
	width: 14.1333333333vw;
	margin: 0;
}
.issue_title {
	width: 80.39867109634%;
	top: 10.4vw;
	left: 9.96677740863%;
}
.issue figcaption {
	margin-top: 3.2vw;
}
.issue p {
	margin-top: 2.66vw;
}
.issue a {
	margin-top: 3.46vw;
}

img.ico_join {
	width: 1.0666666666%;
	margin-top: 7.466vw;
}
@media (min-width:510px){
	.issue_wrapper {
		margin-top: 70px;
	}
	.issue {
		width: 402px;
		padding: 130px 40px 40px;
		border-radius: 60px;
	}
	.issue + .issue {
		margin-top: 70px;
	}
	img.issue_ico {
		top: -30px;
		left: 13px;
		width: 70px;
	}
	.issue_title {
		width: 323px;
		top: 53px;
		left: 40px;
	}
	.issue figcaption {
		margin-top: 17px;
		font-size: 18px;
		line-height: 155%;
	}
	.issue p {
		margin-top: 13px;
		line-height: 166%;
	}
	.issue a {
		margin-top: 15px;
	}

	img.ico_join {
		width: 5px;
		margin-top: 35px;
	}	
}

.contentsblock {
	margin-top: 7.466vw;
}
.contentsblock_header {
	padding: 4vw 2.4% 5.866vw;
	background: #fee101;
	border-top: 1px solid #000;
}
.contentsblock_header p {
	width: 89.3333333333%;
	margin-top: 5.33vw;
}
@media (min-width:510px){
	.contentsblock {
		margin-top: 35px;
	}
	.contentsblock_header {
		padding: 20px 2.4% 30px;
	}
	.contentsblock_header p {
		width: 433px;
		margin-top: 25px;
	}
}

.series {
	border-top: 1px solid #000;
}
.series_sechgroup {
	padding: 4.26vw 0;
}
.series_sectitle {
	padding: 4.26vw;
}
.series_sectitle img {
	width: auto;
	height: 15.2vw;
}
@media (min-width:510px){
	.series_sechgroup {
		padding: 20px 0;
	}
	.series_sectitle {
		padding: 20px;
	}
	.series_sectitle img {
		height: 78px;
	}
}

.item_box {
	border-bottom: 1px solid #000;
}
.item_outline {
	width: 84%;
}
.item_outline * {
	letter-spacing: 0.04em;
}
.item_name {
	margin-inline: -1em;
}
.item_price {
	margin: 3.2vw 0 2.9333333333vw;
	padding: 3.2vw 0;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}
.item_color img {
	width: auto;
	height: 3.7333333333vw;
	
}
.item_buy {
	width: 43.2%;
	margin-top: 7.46vw;
}
.style_wrapper {
	justify-content: center;
	margin-top: 8vw;
	border-top: 1px solid #000;
}
.style_wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 0.5px);
	width: 1px;
	height: 100%;
	background: #000;
}
.style_wrapper.single::after {
	content: none;
}
.style_box {
	width: calc(50% - 0.5px);
	padding-bottom: 5.33vw;
}
.style_wrapper.single .style_box {
	width: calc(50% + 1.5px);
	border-left: 1px solid #000;
	border-right: 1px solid #000;
}
.style_box + .style_box {
	animation-delay: 0.3s;
}
.style_box .modal_open {
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.style_box .modal_open .btn {
	bottom: 11px;
	right: 11px;
	width: 22px;
	margin: 0;
}
.style_box .modal_open:hover {
	opacity: 0.7;
}
.style_texts {
	margin-top: 4vw;
	width: 42.66666666666vw;
}
.style_texts h4 {
	margin-right: -1em;
	letter-spacing: 0.04em;
}
.style_texts p {
	margin-top: 2.66vw;
}
@media (min-width:510px){
	.item_outline {
		width: 420px;
	}
	.item_name {
		font-size: 18px;
	}
	.item_price {
		margin: 15px 0;
		padding: 15px 0;
	}
	.item_color img {
		height: 18px;

	}
	.item_buy {
		width: 216px;
		margin-top: 25px;
	}
	.style_wrapper {
		margin-top: 40px;
	}
	.style_box {
		padding-bottom: 30px;
	}
	.style_box .modal_open .btn {
		bottom: 15px;
		right: 15px;
		width: 29px;
	}
	.style_texts {
		margin-top: 20px;
		width: 215px;
	}
	.style_texts h4 {
		font-size: 16px;
	}
	.style_texts p {
		margin-top: 15px;
	}
}

.alllineup {
	width: 86.66666666666%;
	margin-top: 24vw;
	padding: 10.66vw 8.5333333333vw 6.66vw;
	background: #fff;
	border-radius: 9.33vw;
}
.alllineup_title {
	width: 54.9333333333vw;
}
.alllineup_inner {
	justify-content: center;
	gap: 5.0666666666vw 4.53333333333vw;
	margin-top: 11.73vw;
}
.alllineup_itembox {
	width: 32.5333333333vw;
}
img.alllineup_color {
	width: auto;
	height: 2.4vw;
	margin: 2.66vw auto 1.86vw;
}
img.alllineup_check {
	width: 13.8666666666vw;
	margin-top: 1.86vw;
}
@media (min-width:510px){
	.alllineup {
		width: 434px;
		margin-top: 50px;
		padding: 53px 43px 37px;
		border-radius: 46px
	}
	.alllineup_title {
		width: 275px;
	}
	.alllineup_inner {
		gap: 20px 22px;
		margin-top: 60px;
	}
	.alllineup_itembox {
		width: 163px;
	}
	.alllineup_itembox div {
		font-size: 13px;
	}
	img.alllineup_color {
		height: 12px;
		margin: 13px auto 15px;
	}
	img.alllineup_check {
		width: 73px;
		margin-top: 10px;
	}	
}

.profile {
	width: calc(80.2666666666% + 2px);
	margin-top: 6.13vw;
	padding: 10.4vw 8vw 8vw;
	border: 1px solid #000;
	border-radius: 12vw;
}
img.profile_img {
	width: 39.4666666666vw;
}
.profile_name {
	margin-top: 4vw;
}
.profile p {
	margin: 3.2vw 0 3.4666666666vw;
}
@media (min-width:510px){
	.profile {
		width: 402px;
		margin-top: 50px;
		padding: 53px 40px 40px;
		border-radius: 60px;
	}
	img.profile_img {
		width: 193px;
	}
	.profile_name {
		margin-top: 20px;
		font-size: 18px;
	}
	.profile p {
		margin: 15px 0;
	}
}

.links {
	width: 86.66666666666%;
	gap: 5.33vw 0;
	margin-top: 8.53vw;
}
.links li {
	width: 100%;
}
@media (min-width:510px){
	.links {
		width: 433px;
		gap: 27px 0;
		margin-top: 65px;
	}
}

img.logo_hosho {
	width: 32vw;
	margin-top: 20vw;
}
.staffcredit {
	margin-top: 20vw;
	letter-spacing: 0.06em;
}
@media (min-width:510px){
	img.logo_hosho {
		width: 150px;
		margin-top: 90px;
	}
	.staffcredit {
		margin-top: 90px;
		font-size: 13px;
	}
}

/* ========== modal ========== */
body.is-modal-active,
body.is-concept-active {
overflow: hidden;
}
body.is-concept-active .wrapper {
transform: translateX(-86.66vw);
}
.modal {
z-index: 200;
}
.modal__container{
z-index: 9000;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 101%;
text-align: center;
overflow: auto;
opacity: 0;
visibility: hidden;
box-sizing: border-box;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all  0.3s ease;
background: rgba(0, 0, 0, 0.5);
}
.modal__container.is-active{
visibility: visible;
opacity: 1;
}
.modal__close-btn{
position: fixed;
top: 10px;
right: 20px;
width: 40px;
cursor: pointer;
}
.modal__content {
padding-bottom: 32.27vw;
text-align: left;
background: #bec0ab;
}
.modal_item {
width: 84.8%;
padding-top: 60px;
}
.modal_text {
margin-top: 5.33vw;
letter-spacing: 0.02em;
}
.modal_price {
margin-top: 5.33vw;
}
.modal_price li {
line-height: 180%;
letter-spacing: 0.05em;	
}
.modal_price li span {
text-decoration: underline;
}
@media (min-width:510px){
	.body.is-modal-active .modal {
	background: rgba(255, 255, 255, 0.3);
	}
	.modal__container{
	left: auto;
	right: 0;
	}
	.modal__content {
	width: 500px;
	margin: 0 0 0 auto;
	padding-bottom: 100px;
	}
	.modal__close-btn {
	top: 10px;
	right: 20px;
	width: 56px;
	}
	.modal_item {
	width: 448px;
	}
	.modal_text {
	margin-top: 25px;
	font-size: 18px;
	line-height: 185%;
	}
	.modal_price {
	margin-top: 20px;
	}
}
