@charset "UTF-8";

/* CSS リセット */
html,
header, footer, hgroup,
section, article, nav, aside, details, figure, figcaption,
div, span,
a, b, i, u, s,
address, blockquote, q, ins, del, sub, sup, em, strong, abbr, cite, dfn, code, samp, var, mark, data,
h1, h2, h3, h4, h5, h6,
p, ol, ul, li, dl, dt, dd, pre,
bdo, bdi,
ruby, rt, rp,
fieldset, legend, label,
table, thead, tbody, tfoot, tr, th, td, caption, colgroup, col,
img, audio, video, source, track,
form, summary,
iframe
{
	margin: 0;
	padding: 0;
}

*, *:before, *:after
{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.all_block table
{
	border-collapse: collapse;
}

.all_block img
{
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	border: none;
	width: 100%;
}

.all_block img.size
{
	width: 100%;
}

.all_block img.size90
{
	width: 90%;
}

.all_block a
{
	color: #000000;
	text-decoration: none;
}

.all_block a:hover
{
	color: #ffffff;
	text-decoration: none;
}


.all_block a:hover img
{

}

body
{
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	font-size: 16pt;
}

.all_block ol, ul
{
	list-style: none;
}

div.under_line
{
	padding: 0px 0px 20px 0px;
	border-bottom: 1px dotted #7a7a7a;
}

/* 基本エリア */
.clearfix:after
{
	content: "";
	clear: both;
	display: block;
}

.clear
{
	clear: both;
	font-size: 1px;
	height: 1px;
}

span.purple
{
	color: #6843b8;
	font-weight: bold;
}

/* フッター */
footer.block_footer
{
	min-width: 100%;
	margin: 50px 0px 0px 0px;
	padding: 10px 0px;
	background-color: #6351a5;
	color: #ffffff;
}

.all_block address
{
	font-size: 0.6em;
}

/* 文字サイズ・色・マーカー・配置 */
.font10
{
	font-size: 10pt;
}

.font12
{
	font-size: 12pt;
}

.font16
{
	font-size: 16pt;
}

.font20
{
	font-size: 20pt;
}

.font22
{
	font-size: 22pt;
}

.font24
{
	font-size: 24pt;
}

.font28
{
	font-size: 28px;
}

.font30
{
	font-size: 30px;
}

.font32
{
	font-size: 32pt;
}

.font34
{
	font-size: 34pt;
}

.font38
{
	font-size: 38pt;
}

.font40
{
	font-size: 40pt;
}


.margin_bottom60 {
	margin-bottom: 60px;
}
.margin_bottom50 {
	margin-bottom: 50px;
}
.margin_bottom30 {
	margin-bottom: 30px;
}

.margin_bottom25 {
	margin-bottom: 25px;
}
.text_bold {
	font-weight: bold;
}

.text_maker
{
	background: linear-gradient(transparent 60%, #ffefc3 60%);
}

.text_maker_red
{
	background: linear-gradient(transparent 80%, #be1d2d 80%);
}

.text_maker_purple
{
	background: linear-gradient(transparent 90%, #e9e3ed 90%);
}

.massage_maker
{
	background: linear-gradient(transparent 95%, #eeeeee 95%);
}

.text_brown
{
	color: #4c1e0a;
}

.text_pink
{
	color: #d60560;
}

.text_red
{
	color: #be1d2d;
}

.text_orange
{
	color: #f05a28;
}

div.text_center
{
	text-align: center;
}

div.text_left
{
	text-align: left;
}

div.text_right
{
	text-align: right;
}

div.space5
{
	padding: 5% 0% 0% 0%;
}

div.space10
{
	padding: 10% 0% 0% 0%;
}

/* ヘッダーロゴ規定 ---------------------------------- */
div.header
{

	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	background-color: #ffffff;
	width: 100%;
	margin: 0% auto 0% auto;
	padding: 0% 0% 10px 0%;
}

h1.logo
{
	float: left;
	width: 24%;
	max-width: 240px;
	min-width: 240px;
	margin: 5px auto 0% 0%;
	line-height: 100%;
}

div.header_menu
{
	float: right;
	width: 27%;
	max-width: 270px;
	margin: 0% 0% 0% auto;
	padding: 15px 1% 0% 0%;
}

/* 財庫表示 */

div.header_zaiko
{
	float: right;
	width: 40%;
	max-width: 400px;
	text-align: right;
	margin: 0% 0% 0% auto;
	padding: 22px 1% 0% 0%;
}

.fukidashi
{
	position: relative;
	display: inline-block;
	background-color: #dc3353;
	border-radius: 10px;
	padding: 10px 10px 9px 70px; /* 左に画像分のスペース確保 */
	margin: 0px;
	text-align: left;
	max-width: 300px;
	font-size: 14pt;
	font-weight: bold;
	color: #ffffff;
	background-image: url('../image/zaiko_image.png');
	background-repeat: no-repeat;
	background-position: 10px calc(50% + 2px);
	background-size: 50px auto; /* 横幅を20%に調整 */
}

/* 吹き出しの右向き三角 */
.fukidashi::after
{
	content: '';
	position: absolute;
	top: 20px;
	right: -10px;
	border-width: 10px 0 10px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #dc3353;
}

span.count_text
{
	font-size: 18pt;
	color: #ffff00;
}

/* 動画 */
div.first_view
{
	width :100%;
	margin: 0%;
	padding: 80px 0% 0% 0%;
	background-color: #ffffff;
}

video.movie_size
{
	display: block;
	width: 100%;
	margin: 0%;
	padding: 0%;
	
	filter: drop-shadow(0px 0px rgba(0,0,0,0));
	outline: none;
	border: none;
}

/* YouTube */

.youtube
{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe
{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/* 入力しても良いのココから -------------------------- */
div.all_block
{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	width: 100%;
	padding: 0% 0% 0% 0%;
	margin: 0px auto 0px auto;
	font-size: 16pt;
	color: #000000;
	text-align: center;
	background-color: #ffffff;
}

div.buy_area01
{
	width: 100%;
	margin: 0% auto 0% auto;
	padding: 0% 0% 0% 0%;
	background-image: url(../image/content06_pc_ver.2.png);
	background-size: cover;
	background-repeat: no-repeat;
}

div.buy_area02
{
	width: 100%;
	margin: 0% auto 0% auto;
	padding: 0% 0% 6% 0%;
	background-image: url(../image/content13_pc.png);
	background-size: cover;
	background-repeat: no-repeat;
}

div.main_img
{
	width: 100%;
}

div.content_img
{
	width: 100%;
}

div.content_footer
{
	width: 100%;
	max-width: 800px;
	margin: 0% auto 0% auto;
}

div.content_img
{
	width: 100%;
}

div.button01
{
	width: 45%;
	margin: 0% auto;
	padding: 56% 0% 5% 0%;
}

div.button02
{
	width: 32%;
	margin: 0% 21% 0% auto;
	padding: 2.1% 0% 0% 0%;
}

div.button03
{
	width: 32%;
	margin: 0% 21% 0% auto;
	padding: 2.4% 0% 0% 0%;
}

div.button04
{
	width: 25%;
	margin: 0% 21% 0% auto;
	padding: 8% 0% 0% 0%;
}

div.button05
{
	width: 25%;
	margin: 0% 21% 0% auto;
	padding: 2.6% 0% 0% 0%;
}

div.buy_area02_button01
{
	width: 58%;
	margin: 0% auto 0% auto;
	padding: 16% 0% 0% 0%;
}

div.buy_area02_button02
{
	width: 58%;
	margin: 0% auto 0% auto;
	padding: 15% 0% 0% 0%;
}

div.buy_area02_left
{
	float: left;
	width: 36%;
	margin: 0% 0% 0% 0%;
	padding: 2% 0% 0% 0%;
}

div.buy_area02_right
{
	float: right;
	width: 62%;
	margin: 0% 0% 0% 0%;
	padding: 0% 0% 0% 0%;
}






/* アコーディオン表示 -------------------------------- */

.accordion-001
{
	width: 100%;
	margin: 2% auto 2% auto;
	max-width: 800px;
	background-color: #ffffff;
	box-shadow: 0 0 8px gray;
}

.accordion-001:not([open])
{
	margin-bottom: 7px;
}

.accordion-001 summary
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1em 2em;
	border-radius: 5px;
	background-color: #000000;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker
{
	display: none;
}

.accordion-001 summary::after
{
	transform: translateY(-25%) rotate(45deg);
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-bottom: 3px solid #fff;
	border-right: 3px solid #fff;
	content: '';
	transition: transform .3s;
}

.accordion-001[open] summary::after
{
	transform: rotate(225deg);
}

.accordion-001 p
{
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 1em 2em 2em 2em;
	color: #333333;
	text-align: left;
	transition: transform .5s, opacity .5s;
}

.accordion-001[open] p
{
	transform: none;
	opacity: 1;
}

/* 試着 */
div.trying_on
{
	width: 100%;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 50px 0px;
	text-align: center;
	background-color: #db3054;
	text-align: center;
	color: #ffffff;
	font-size: 14pt;
	font-weight: bold;
	line-height: 140%;
}

div.trying_on_banner
{
	width: 90%;
	max-width: 800px;
	margin: 0px auto 0px auto;
	padding: 10px 0px 0px 0px;
}



/* 上部に戻るボタン ================================== */
#page-top
{
	width: 100px;
	position: fixed;
	bottom: 20px;
	right: 20px;
}



/* フッター -------------------------------- */
div.footer_menu {
    width: 100%;
    margin: 0px 0px 0px 0px;
    padding: 10px 0px;
    color: #222222;
    font-size: 12pt;
    text-align: center;
    background-color: #dddddd;
}

div.footer_menu:hover {
	color: #6759aa;
	cursor: pointer;
	text-decoration: inherit;
}

footer.block_footer
{
	min-width: 100%;
	margin: 0px 0px 0px 0px;
	padding: 10px 0px;
	color: #ffffff;
	text-align: center;
	background-color: #35318f;
}

address.copy
{
	font-size: 12pt;
}

/* モーダルフォーム */

/*form*/
input, select
{
	-webkit-appearance: none;
	appearance: none;
}

.form .form_wrap
{
  background:#fff;
  padding:50px;
}

.form .form_wrap .bag
{
  margin-bottom: 20px;
}
.form .form_wrap .bag p{
  font-size:1.25rem;
  font-weight:bold;
  text-align:left;
  margin-block:15px;
}
.form .form_wrap .bag .select{
  display:block;
  width:100%;
  position:relative;
  
}
.form .form_wrap .bag .select:before{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 7.5px 0 7.5px;
  border-color: #333333 transparent transparent transparent;
  content:"";
  position:absolute;
  right:20px;
  top:0;
  bottom:0;
  margin:auto;
  z-index: 0;
}
.form .form_wrap .bag .select select{
  width:100%;
  height:50px;
  border-radius:7px;
  padding: 10px;
  font-size: 1rem;
  background:transparent;
  z-index: 1;
  position: relative;
  border: 2px solid #EDEDED;
  color: #333;
}
.form .form_wrap .form_btn{
	display:block;
	position:relative;
	margin-top: 50px;
}
.form .form_wrap .form_btn input{
	width:100%;
	max-width: 450px;
	height: 65px;
	border-radius:10px;
	background:#fff;
	border:0px solid #cdcdcd;
	font-size: 1.25rem;
	font-weight: bold;
	transition:.5s transform;
	color: #ffffff;
	background-color: #1c9604;
}
.form .form_wrap .form_btn input:hover{
	transform:translateY(5px);
}
.form .form_wrap .required{
	background: #db3054;
	font-size: 1rem;
	color: #fff;
	padding: 2px 10px;
	margin-left: 1em;
	border-radius: 5px;
}

.form .form_wrap .any{
	background: #888888;
	font-size: 1rem;
	color: #fff;
	padding: 2px 10px;
	margin-left: 1em;
	border-radius: 5px;
}

.form .form_wrap .error_message {
	display: none;
}
.form .form_wrap .error_message p{
	color:#db3054;
	font-size: 1rem;
	font-weight:400;
}

@media screen and (max-width:767px)
{
	.form .form_wrap{
		padding:20px 30px;
	}
	.home .modal-content{
		width:100%;
	}
	.form .form_wrap .bag{
		margin-bottom: 10px;
	}
	.form .form_wrap .bag p{
		margin-block:10px;
	}
	.form .form_wrap .form_btn{
		margin-top: 20px;
	}
}

/* スマホのみ電話を押せるように -------------------------------- */
@media screen and (min-width: 800px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/* スマホ限定の改行コード -------------------------------- */
@media screen and (min-width:800px){
    .brsp {display:none;}
}

/* ＰＣのみ表示 -------------------------------- */
@media screen and (max-width:800px){
    .pc {display:none;}
}

/* スマホのみ表示 -------------------------------- */
@media screen and (min-width:799px){
    .sp {display:none;}
}
