@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Lato:400,400i,700,700i&display=swap');
/* --------------------------------
	Common
-------------------------------- */
body {
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'メイリオ', Meiryo, sans-serif;
	color: #111111;
	background-color: #FFFFFF;
	line-height: 1.5;
}
#contents {
	background-color: transparent;
}
@media (min-width: 768px) {
	body {
		min-width: 1280px;
	}
	.inner {
		max-width: 1312px;
		margin: auto;
	}
	br.sp {
		display: none;
	}
}
@media (max-width: 767px) {
	body {
		font-size: 14px;
		font-size: 1.4rem;
	}
	#contents .container-fluid {
		padding-left: 20px;
		padding-right: 20px;
	}
	br.pc {
		display: none;
	}
}
/* --------------------------------
	header
-------------------------------- */
@media (min-width: 768px) {
	#header {
		min-width: 1280px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		padding: 20px 0;
		border-bottom: 1px solid #E0E0E0;
		box-sizing: border-box;
		height: 120px;
	}
	#header .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		max-width: 100%;
		padding: 0 calc(55 / 1920 * 100%);
		box-sizing: border-box;
	}
	#header .header_logo_area {
		float: none;
		margin-right: calc(95 / 1920 * 100%);
		display: inline-block;
	}
	#header .header_logo {
		font-size: 20px;
		display: inline-block;
	}
	#header .header_menu_area {
		width: calc(100% - 180px);
	}
	#member {
		float: none;
		position: absolute;
		top: 18px;
		right: 440px;
	}
	#member li {
		display: inline-block;
	}
	#member .member_link a {
		font-weight: 700;
		height: 44px;
		line-height: 44px;
		transition: 0.3s;
	}
	#member .member_link a:hover {
		color: #D40000;
	}
	#header #cart_area {
		top: 16px;
		right: 315px;
		width: 90px;
	}
	#cart_area p {
		border: none;
		float: none;
		width: auto;
		min-width: 0px;
	}
	#header #cart_area p.cart-trigger .badge {
		left: 10px;
	}
}
@media only screen and (max-width: 1799px) and (min-width: 1536px) {
	#header .header_logo_area {
		margin-right: calc(80 / 1920 * 100%);
	}
	#member {
		right: 360px;
	}
	#header #cart_area {
		right: 255px;
	}
}
@media only screen and (max-width: 1535px) and (min-width: 1366px) {
	#header .inner {
		padding: 0 calc(40 / 1920 * 100%);
	}
	#header .header_logo_area {
		margin-right: calc(40 / 1920 * 100%);
	}
	#member {
		right: 330px;
	}
	#member .member_link a {
		font-size: 12px;
	}
	#header #cart_area {
		right: 225px;
	}
}
@media only screen and (max-width: 1365px) and (min-width: 768px) {
	#header .inner {
		padding: 0 calc(40 / 1920 * 100%);
	}
	#header .header_logo_area {
		margin-right: calc(40 / 1920 * 100%);
	}
	#member {
		right: 305px;
	}
	#member .member_link a {
		font-size: 12px;
	}
	#header #cart_area {
		right: 200px;
	}
}
@media (max-width: 767px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		padding-top: 10px;
		border-bottom: 1px solid #E0E0E0;
	}
	#header .container-fluid {
		padding-left: 10px;
		padding-right: 10px;
	}
	#header .header_logo_area {
		display: inline-block;
		margin-right: 10px;
	}
	#header .header_logo_area img {
		height: 45px;
	}
	#header .header_menu_area {
		display: inline-block;
		vertical-align: top;
	}
	#member .member_link {
		margin-bottom: 0;
	}
	#member .member_link a {
		border-bottom: 1px solid #CCCCCC;
		color: #111111;
	}
}
/* --------------------------------
	gNavi Button
-------------------------------- */
@media (max-width: 767px) {
	#cart_area p.cart-trigger {
		right: 70px;
	}
	#btn_menu {
		right: 10px;
	}
	#btn_menu .nav-trigger {
		background-color: #111111;
		width: 44px;
	}
	#btn_menu .nav-trigger span, #btn_menu .nav-trigger span::before, #btn_menu .nav-trigger span::after {
		position: absolute;
		display: inline-block;
		height: 2px;
		width: 24px;
		background: #FFFFFF;
	}
	#btn_menu .nav-trigger span {
		margin-top: -1px;
	}
	#btn_menu .nav-trigger span::before {
		top: -8px;
	}
	#btn_menu .nav-trigger span::after {
		top: 8px;
	}
	.drawer-open #btn_menu .nav-trigger span {
		background-color: #111111;
	}
	.drawer-open #btn_menu .nav-trigger span::before {
		-webkit-transform: translateX(4px) translateY(0px) rotate(45deg);
		-moz-transform: translateX(4px) translateY(0px) rotate(45deg);
		-ms-transform: translateX(4px) translateY(0px) rotate(45deg);
		-o-transform: translateX(4px) translateY(0px) rotate(45deg);
		transform: translateX(4px) translateY(0px) rotate(45deg);
	}
	.drawer-open .nav-trigger span::after {
		-webkit-transform: translateX(4px) translateY(1px) rotate(-45deg);
		-moz-transform: translateX(4px) translateY(1px) rotate(-45deg);
		-ms-transform: translateX(4px) translateY(1px) rotate(-45deg);
		-o-transform: translateX(4px) translateY(1px) rotate(-45deg);
		transform: translateX(4px) translateY(1px) rotate(-45deg);
	}
}
/* --------------------------------
	gNavi
-------------------------------- */
@media (min-width: 768px) {
	#gNavi #gMenu {
		max-width: 780px;
	}
	#gNavi #gMenu > ul {
		text-align: left;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#gNavi #gMenu ul li.dispSP {
		display: none;
	}
	#gNavi #gMenu ul li > a {
		display: block;
		font-weight: 700;
		text-align: center;
		text-decoration: none;
		color: #111111;
		transition: 0.3s
	}
	#gNavi #gMenu ul li > a:hover {
		color: #D40000;
	}
	#gNavi #gMenu ul li.contact {
		position: absolute;
		right: calc(50 / 1920 * 100%);
		top: 0;
	}
	#gNavi #gMenu ul li.contact a {
		font-size: 19px;
		font-weight: 700;
		color: #FFF;
		background-color: #D40000;
		width: 260px;
		line-height: 80px;
		border-radius: 5px;
		transition: 0.3s;
	}
	#gNavi #gMenu ul li.contact a:hover {
		background-color: #000;
	}
}
@media only screen and (max-width: 1799px) and (min-width: 1536px) {
	#gNavi #gMenu {
		max-width: 680px;
	}
	#gNavi #gMenu ul li > a {
		font-size: 15px;
	}
	#gNavi #gMenu ul li.contact a {
		width: 200px;
	}
}
@media only screen and (max-width: 1535px) and (min-width: 1366px) {
	#gNavi #gMenu {
		max-width: 600px;
	}
	#gNavi #gMenu ul li > a {
		font-size: 13px;
	}
	#gNavi #gMenu ul li.contact {
		right: calc(40 / 1920 * 100%);
		top: 10px;
	}
	#gNavi #gMenu ul li.contact a {
		font-size: 18px;
		width: 180px;
		line-height: 60px;
	}
}
@media only screen and (max-width: 1365px) and (min-width: 768px) {
	#gNavi #gMenu {
		max-width: 550px;
	}
	#gNavi #gMenu ul li > a {
		font-size: 12px;
	}
	#gNavi #gMenu ul li.contact {
		right: calc(40 / 1920 * 100%);
		top: 10px;
	}
	#gNavi #gMenu ul li.contact a {
		font-size: 16px;
		width: 160px;
		line-height: 60px;
	}
}
@media (max-width: 767px) {
	#gNavi #gMenu li a {
		display: block;
		text-decoration: none;
		line-height: 150%;
		box-sizing: border-box;
		padding: 10px 0 10px 10px;
		color: #111111;
		border-bottom: 1px solid #CCCCCC;
		text-align: left;
	}
	#gNavi #gMenu ul li.contact a {
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		color: #FFF;
		background-color: #D40000;
		line-height: 50px;
		border-radius: 5px;
		margin: 6% 6% 0;
		padding: 0;
		border-bottom: none;
	}
}
/* --------------------------------
	entry
-------------------------------- */
@media (min-width: 768px) {
	#top_box__body_inner {
		margin: 24px 0 0;
	}
	#top_box__birth {
		margin: 0 0 32px;
		border-top: none;
	}
	#confirm_box__body_inner {
		margin: 24px 0 0;
	}
	#confirm_box__body .dl_table {
		margin: 0 0 32px;
		border-top: none;
	}
	#confirm_box__body_inner.dl_table {
		border-top: 1px dotted #ccc;
		margin: 24px 0 0;
	}
	#detail_box__body .not_required {
		margin: 0;
		border-top: none;
	}
	#detail_box__body_inner.dl_table {
		border-top: none;
	}
}
@media (max-width: 767px) {
	#top_box__body #top_box__body_inner.dl_table {
		border-top: none;
		margin: 0;
	}
	#top_box__birth {
		border-top: none;
	}
	#confirm_box__body .dl_table {
		margin: 0 0 16px;
		border-top: none;
	}
	#confirm_box__body_inner.dl_table {
		border-top: 1px dotted #ccc;
		margin: 0;
	}
	#detail_box__body_inner.dl_table {
		border-top: none;
	}
	#detail_box__body .not_required {
		margin: 0;
		border-top: none;
	}
}
/* --------------------------------
	pageTop Button
-------------------------------- */
@media (min-width: 768px) {
	.pageTopBtn {
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 2;
		margin: 0;
	}
	.pageTopBtn a {
		display: inline-block;
		color: #FFFFFF;
		font-family: 'Lato', sans-serif;
		width: 45px;
		height: 45px;
		background-color: #000;
		text-align: center;
		border-radius: 50%;
		box-sizing: border-box;
		padding-top: 22px;
		position: relative;
		font-size: 0.8em;
		transition: 0.3s;
	}
	.pageTopBtn a:after {
		content: '';
		width: 12px;
		height: 12px;
		border: 0px;
		border-top: solid 2px #FFFFFF;
		border-right: solid 2px #FFFFFF;
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		position: absolute;
		top: 12px;
		left: 50%;
		margin-left: -6px;
	}
	.pageTopBtn a:hover {
		background-color: #D40000;
	}
}
@media (max-width: 767px) {
	.pageTopBtn {
		display: none;
	}
}
/* --------------------------------
	Contents
-------------------------------- */
#contact_contents {
	height: 150px;
}
@media (min-width: 768px) {
	#contents.theme_main_only {
		padding-top: 120px;
	}
}
@media (max-width: 767px) {
	#contents.theme_main_only {
		padding-top: 64px;
	}
}
/* --------------------------------
	btn
-------------------------------- */
.btn-primary {
	color: #fff;
	background-color: #D40000;
	border-color: #D40000;
}
.btn {
	padding: 15px 16px;
	border-radius: 5px;
	transition: 0.3s;
}
@media (min-width: 768px) {
	.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open > .dropdown-toggle.btn-primary {
		color: #fff;
		background-color: #000;
		border-color: #000;
	}
}
/* --------------------------------
	Footer
-------------------------------- */
#footer {
	background: #000;
	border-top: none;
}
#footer a {
	color: #FFFFFF;
}
#footer a:hover {
	color: #FFFFFF;
}
.footer_logo_area {
	margin-top: 20px;
	color: #FFFFFF;
}
.footer_logo_area .logo {
	font-size: 20px;
	font-size: 2rem;
	margin: 0 0 20px;
}
@media (max-width: 767px) {
	#footer {
		padding-top: 25px;
	}
	#footer ul li {
		display: block;
		text-align: center;
		margin: 0 20px 15px;
	}
	.footer_logo_area .logo {
		font-size: 16px;
		font-size: 1.6rem;
	}
}