@charset "UTF-8";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/*
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:0;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
*/


/*! base style */
* {
	-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
			box-sizing: border-box;
}
html {
	font-size: 62.5%;
	line-height: 1.6;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	height: 100vh;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
	font-feature-settings: "palt" 1;
	background-color: #fff;
	color: #000;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}
body.stripe {
	background-color: #888;
}

.reset__style h1,
.reset__style h2,
.reset__style h3,
.reset__style h4,
.reset__style h5,
.reset__style h6 {
	margin-top: 0;
	margin-bottom: 0;
	letter-spacing: .03em;
}
.reset__style p {
	margin-top: 0;
	margin-bottom: 0;
	letter-spacing: .02em;
}
.reset__style ul,
.reset__style ol {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-inline-start: 0;
	list-style-type: none;
}
.reset__style li {
	list-style-type: none;
}
.reset__style a {
	vertical-align: baseline;
	text-decoration: none;
}


/* Reset Old Style */
body #contents {
	font-size: 1.0rem;
	line-height:1.6;
}


/* Reset Style */
.reset__style a:link    {color:#333; text-decoration:none;}
.reset__style a:visited {color:#333; text-decoration:none;}
.reset__style a:hover   {color:#333; text-decoration:none;}
.reset__style a:active  {color:#333; text-decoration:none;}

.reset__style h1,
.reset__style h2,
.reset__style h3 {
	color: #333;
	border-bottom: none;
}


/* Menu Open時にスクロールしない */
body.menu_open {
	overflow: hidden;
	height: 100%;
}


/* box position */
.box-center {
	text-align: center;
}
.box-right {
	text-align: right;
}
.box-left {
	text-align: left;
}

/* text position */
.txt-center {
	text-align: center;
}
.txt-right {
	text-align: right;
}
.txt-left {
	text-align: left;
}


/* clearfix */
.clearfix {
	zoom: 1;
}
.clearfix:before,
.clearfix:after {
	content: '';
	display: table;
}
.clearfix:after {
	clear: both;
}


/* smartphone or desktop active */
.is-sp {
	display: block;
}
.is-pc {
	display: none;
}

@media screen and (min-width:768px) {
	.is-sp {
		display: none;
	}
	.is-pc {
		display: block;
	}
}


/* header style */
.header {
	width: 100%;
	height: 73px;
}
.header__inner {
	position: relative;
	/*max-width: 500px;*/
	max-width: 100%;
	height: 64px;
	margin-right: auto;
	margin-left: auto;
	background-color: #ffe9f0;
}
.header__inner:after {
	content: '';
	position: absolute;
	bottom: -9px;
	display: block;
	width: 100%;
	height: 9px;
	background-image: url('/share/img/header/header_bgi.png');
	background-position: center top;
	background-repeat: repeat-x;
	background-size: 41px auto;
}

.header__logo {
	display: inline-block;
	padding-top: 13px;
	padding-left: 15px;
}
.header__logo-link {
	display: block;
	text-indent: -9999px;
	width: 101px;
	height: 40px;
	background-image: url('/share/img/header/header_logo.png');
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.header__btn {
	display: inline-block;
	width: 116px;
	float: right;
}
.header__btn-sns,
.header__btn-menu {
	display: inline-block;
	width: 46px;
	height: 46px;
	margin-top: 10px;
	margin-right: 12px;
	background-color: #fff;
	border-radius: 46px;
	cursor: pointer;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-ms-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
}

.header__btn-sns {
	vertical-align: top;
	font-size: 1.2rem;
	color: #e52a74;
}
.header__btn-sns > span {
	display: table-cell;
	width: 46px;
	height: 46px;
	font-family: 'ヒラギノ角ゴ ProN W6';
	font-weight: bold;
	text-align: center;
	vertical-align: middle;
}

.header__btn-menu {
	position: relative;
}
.header__btn-menu > span {
	display: inline-block;
	position: absolute;
	left: 13px;
	width: 22px;
	height: 2px;
	background-color: #e52a74;
}
.header__btn-menu span:nth-of-type(1) {
	top: 15px;
}
.header__btn-menu span:nth-of-type(2) {
	top: 23px;
}
.header__btn-menu span:nth-of-type(3) {
	top: 31px;
	width: 16px;
}

.header__btn-sns:hover,
.header__btn-menu:hover {
	color: #fff;
	background-color: #e52a74;
}
.header__btn-menu:hover > span {
	background-color: #fff;
}


.header__gmenu-menu,
.header__gmenu-sns {
	position: fixed;
	top: 0;
	right: -100%;
	overflow-y: auto;
	width: 100%;
	height: 100%;
	z-index: 100;
	-webkit-transition: 400ms;
	-moz-transition: 400ms;
	-ms-transition: 400ms;
	-o-transition: 400ms;
	transition: 400ms;
	background-color: rgba(51,51,51,.9);
}
.header__gmenu-menu.open,
.header__gmenu-sns.open {
	right: 0;
	-webkit-transition: 400ms;
	-moz-transition: 400ms;
	-ms-transition: 400ms;
	-o-transition: 400ms;
	transition: 400ms;
}

.header__gmenu-inner {
	max-width: 500px;
	padding-top: 60px;
	padding-bottom: 60px;
	padding-right: 30px;
	padding-left: 30px;
	background-color: #fff;
}

@media screen and (min-width:768px) {
	.header__gmenu-inner {
		position: relative;
		margin-left: auto;
		margin-right: auto;
		padding-top: 100px;
		padding-bottom: 100px;
		padding-right: 70px;
		padding-left: 70px;
	}
}


.header__gmenu-list {
	margin-top: 56px;
}
.header__gmenu-list > li,
.header__gmenu-submenu > li {
	font-size: 1.8rem;
	border-bottom: 1px solid #e52a74;
}
.header__gmenu-list > li > a,
.header__gmenu-list > li > span,
.reset__style .header__gmenu-list > li > a,
.reset__style .header__gmenu-list > li > span {
	position: relative;
	display: block;
	padding-top: .5em;
	padding-bottom: .5em;
	padding-left: .3em;
}
.header__gmenu-list > li > a:after,
.header__gmenu-list > li > span:after,
.header__gmenu-submenu > li > a:after {
	content: '';
	position: absolute;
	top: 0;
	right: 10px;
	display: block;
	width: 10px;
	height: 100%;
	background-image: url(/share/img/header/ico_arrow_right.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.header__gmenu-list > li > span:after {
	width: 16px;
	background-image: url(/share/img/header/ico_plus.png);
}
.header__gmenu-list > li > span.active:after {
	background-image: url(/share/img/header/ico_minus.png);
}

.reset__style .header__gmenu-list > li > .txt-pink {
	color: #e52b74;
}
.header__gmenu-list > li > span {
	cursor: pointer;
}

.header__gmenu-submenu {
	display: none;
	/*border-top: 1px solid #f08aa5;*/
	border-top: 1px solid #e52a74;
}
.header__gmenu-submenu > li {
	margin-left: 1em;
}
.header__gmenu-submenu > li:last-child {
	border-bottom: 0;
}
.header__gmenu-submenu > li > a {
	position: relative;
	display: block;
	padding-top: .4em;
	padding-bottom: .4em;
	padding-left: .3em;
}
.header__gmenu-submenu > li.categoryname {
	background-color: #fbeaf0;
}
.header__gmenu-submenu > li.categoryname > a {
	color: #e5779e;
}

.header__gmenu-sns .header__gmenu-list > li > a,
.header__gmenu-sns .header__gmenu-list > li > span,
.reset__style .header__gmenu-sns .header__gmenu-list > li > a,
.reset__style .header__gmenu-sns .header__gmenu-list > li > span {
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 3.4em;
}
.header__gmenu-sns .ico-twitter:before,
.header__gmenu-sns .ico-instagram:before {
	content: '';
	position: absolute;
	left: 5px;
	top: 0;
	display: block;
	width: 43px;
	height: 100%;
	background-image: url(/share/img/header/ico_sns_twitter.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.header__gmenu-sns .ico-instagram:before {
	background-image: url(/share/img/header/ico_sns_instagram.png);
}


.header__gmenu-close {
	position: absolute;
	top: 8px;
	right: 8px;
	display: block;
	height: 38px;
	width: 38px;
	cursor: pointer;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-ms-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
}
.header__gmenu-close span {
	position: absolute;
	display: block;
	width: 50px;
	height: 3px;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-ms-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
	background: #f08aa5;
}
.header__gmenu-close span:nth-of-type(1) {
	top: 10px;
	left: -8px;
	-webkit-transform: translateY(10px) rotate(45deg);
	-moz-transform: translateY(10px) rotate(45deg);
	-ms-transform: translateY(10px) rotate(45deg);
	-o-transform: translateY(10px) rotate(45deg);
	transform: translateY(10px) rotate(45deg);
}
.header__gmenu-close span:nth-of-type(2) {
	top: 30px;
	left: -10px;
	-webkit-transform: translateY(-10px) rotate(-45deg);
	-moz-transform: translateY(-10px) rotate(-45deg);
	-ms-transform: translateY(-10px) rotate(-45deg);
	-o-transform: translateY(-10px) rotate(-45deg);
	transform: translateY(-10px) rotate(-45deg);
}


/* footer style */
.footer {
	width: 100%;
}
.footer__inner {
	max-width: 500px;
	height: 100%;
	padding-top: 2em;
	padding-bottom: 2em;
	margin-right: auto;
	margin-left: auto;
	background-color: #fff;
}
.footer__description {
	margin-right: 2em;
	margin-left: 2em;
	font-size: 1.4rem;
}
.footer__news {
	display: block;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2em;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}
.footer__alert-container {
	border: 4px solid #f00;
	max-width: 500px;
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 1em;
	padding-right: 1em;
	margin-right: .8em;
	margin-left: .8em;
}
.footer__alert-ttl {
	color: #f00;
	font-size: 2.2rem;
	font-weight: bold;
	padding-bottom: .5em;
	text-align: center;
}
.footer__alert-ttl:before {
	content: '\f06a';
	font-family: fontAwesome;
}
.footer__alert-subttl {
	font-size: 1.6rem;
	padding-top: .5em;
	color: #f00;
}
.footer__alert-subttl:before {
	content: '\f06a';
	font-family: fontAwesome;
}
.footer__alert-lead {
	font-size: 1.4rem;
}
.footer__contact {
	color: #e52a74;
	text-align: center;
	margin-bottom: 2em;
}
.footer__contact-ttl {
	font-size: 1.4rem;
	padding-top: 2em;
}
.footer__contact-consul {
	font-size: 2.1rem;
}
.footer__contact-tel {
	color: #000;
	display: inline-block;
	border-top: 1px solid #ccc;
	font-size: 3.1rem;
}
.footer__contact-time {
	margin-bottom: 1em;
	font-size: 1.3rem;
	color: #f00;
}
.footer__contact-mail {
	font-size: 1.4rem;
}
.footer__contact-mail > a {
	display: block;
	width: 300px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1em;
	padding-bottom: 1em;
	border: 1px solid #ccc;
	border-radius: 100px;
	-webkit-transition: all .4s;
	-moz-transition: all .4s;
	-ms-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
}
.footer__contact-mail > a:hover {
	color: #e52a74;
	border-color: #e52a74;
}

.reset__style .footer__description,
.reset__style .footer__contact-time {
	margin-bottom: 2em;
}
.reset__style .footer__contact-tel a {
	color: #e52a74;
}

.footer__copyright {
	font-size: 1.3rem;
	text-align: center;
}


/* bg-color style */
@media screen and (min-width:500px) {
	.pc-stripe {
		background: -webkit-repeating-linear-gradient(to right, #fcedef, #fcedef 50px, #fdf4f5 50px, #fdf4f5 100px);
		background: -moz-repeating-linear-gradient(to right, #fcedef, #fcedef 50px, #fdf4f5 50px, #fdf4f5 100px);
		background: -ms-repeating-linear-gradient(to right, #fcedef, #fcedef 50px, #fdf4f5 50px, #fdf4f5 100px);
		background: -o-repeating-linear-gradient(to right, #fcedef, #fcedef 50px, #fdf4f5 50px, #fdf4f5 100px);
		background: repeating-linear-gradient(to right, #fcedef, #fcedef 50px, #fdf4f5 50px, #fdf4f5 100px);
	}
	.pc-stripe:after {
		content: '';
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		display: block;
		margin: auto;
		width: 500px;
		height: 100%;
		height: 100vh;
		border-right: 1px solid #fac9d9;
		border-left: 1px solid #fac9d9;
		background: #fff;
		z-index: -9999;
	}
	.pc-stripe .header__inner {
		max-width: 500px;
	}
}


/* main style */
.main {
	width: 100%;
}
.main__inner {
	max-width: 500px;
	height: 100%;
	margin-top: 20px;
	margin-bottom: 50px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 10px;
	padding-left: 10px;
}

.main__inner.pr0 {
	padding-right: 0;
}
.main__inner.pl0 {
	padding-left: 0;
}

.main__inner.pr10 {
	padding-right: 10px;
}
.main__inner.pl10 {
	padding-left: 10px;
}

.main__inner.pr15 {
	padding-right: 15px;
}
.main__inner.pl15 {
	padding-left: 15px;
}

.main__inner.mb0 {
	margin-bottom: 0;
}

.main__inner.mt0 {
	margin-top: 0;
}


/* for IE11 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .main__inner {height:auto;}
}
