/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url("https://fonts.googleapis.com/css2?family=Roboto&display=swap");
@import url(./common-gnav.css);
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		vertical-align: baseline;
		background: transparent;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
}

ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: '';
		content: none;
}

a {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
		background: transparent;
}

ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
}

mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #cccccc;
		margin: 1em 0;
		padding: 0;
}

input, select {
		vertical-align: middle;
}

/*---------------------------
Common Font Setteing
---------------------------*/
body {
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 100%;
}

.roboto {
		font-family: 'Roboto Condensed', sans-serif;
}

/*---------------------------
Common Layout Setteing
---------------------------*/
* {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

body {
		-webkit-text-size-adjust: 100%;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		background-color: #fff;
}

sup {
		font-size: 1.1rem;
		line-height: 1;
		position: relative;
		bottom: 1ex;
		height: 0;
		vertical-align: baseline;
}

b {
		font-weight: bold;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #969696;
		margin: 0;
		padding: 0;
}

.indent {
		padding-left: 1em;
		text-indent: -1em;
}

.br-sp {
		display: none;
}

.br-pc {
		display: block;
}

.sp {
		display: none;
}

.wrapper {
		width: 100%;
		max-width: 1920px;
		margin: 0 auto;
}

.inner {
		width: 100%;
		max-width: 1366px;
		margin: 0 auto;
}

/*---------------------------
Common Link Setteing
---------------------------*/
a {
		text-decoration: none;
}

a:hover {
		zoom: 1;
		transition: all .7s;
		opacity: .8;
		filter: alpha(opacity=80);
		-ms-filter: 'alpha(opacity=80)';
		-moz-opacity: .8;
		-khtml-opacity: .8;
}

.btn {
		position: relative;
		z-index: 1;
		display: block;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		cursor: pointer;
}

.btn:hover {
		zoom: 1;
		transition: all .7s;
		opacity: .8;
		filter: alpha(opacity=80);
		-ms-filter: 'alpha(opacity=80)';
		-moz-opacity: .8;
		-khtml-opacity: .8;
}

.btn a {
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		text-indent: -999px;
}

.gray {
		background-color: #333;
		display: inline-block;
		width: 300px;
		height: 70px;
		position: relative;
}

.gray span {
		font-size: 16px;
		color: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
}

.gray:after {
		content: "";
		background-image: url(../img/arrow_r_wh.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 5px;
		height: 10px;
		position: absolute;
		top: calc(50% - 5px);
		right: 20px;
}

@media (max-width: 1366px) {
		.gray {
				background-color: #333;
				display: inline-block;
				width: 21.96193vw;
				height: 5.12445vw;
				position: relative;
		}
		.gray span {
				font-size: 1.1713vw;
				color: #fff;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
		}
		.gray:after {
				content: "";
				background-image: url(../img/arrow_r_wh.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 0.36603vw;
				height: 0.73206vw;
				position: absolute;
				top: calc(50% - pv(5));
				right: 1.46413vw;
		}
}

@media (max-width: 780px) {
		.gray {
				background-color: #333;
				display: inline-block;
				width: 80vw;
				height: 13vw;
				position: relative;
		}
		.gray span {
				font-size: 3.07692vw;
				color: #fff;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
		}
		.gray:after {
				content: "";
				background-image: url(../img/arrow_r_wh.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 2vw;
				height: 3vw;
				position: absolute;
				top: calc(50% - 1.5vw);
				right: 5vw;
		}
}

/*---------------------------
Main
---------------------------*/
.main {
		margin-top: 0;
}

/*---------------------------
Header
---------------------------*/
#header {
		position: relative;
		display: block;
		padding: 0;
		width: 100%;
		top: 0;
		z-index: 100;
		box-sizing: border-box;
}

#header .logo {
		position: absolute;
		top: 20px;
		left: 30px;
}

#header .entry_mypage {
		position: fixed;
		right: 85px;
		top: 26px;
}

@media (max-width: 1366px) {
		#header {
				position: relative;
				display: block;
				padding: 0;
				width: 100%;
				top: 0;
				z-index: 100;
				box-sizing: border-box;
		}
		#header .logo {
				position: absolute;
				top: 1.46413vw;
				left: 2.19619vw;
		}
		#header .logo img {
				max-width: 29.35578vw;
		}
		#header .entry_mypage {
				position: fixed;
				right: 6.22255vw;
				top: 1.90337vw;
		}
		#header .entry_mypage img {
				max-width: 21.96193vw;
		}
}

@media (max-width: 780px) {
		#header {
				background-color: #fff;
				position: fixed;
				display: block;
				padding: 0;
				width: 100%;
				height: 13vw;
				top: 0;
				z-index: 99;
				box-sizing: border-box;
		}
		#header .logo {
				position: absolute;
				top: 4vw;
				left: 5vw;
				right: 42vw;
				line-height: 1;
				margin: 0;
		}
		#header .logo img {
				max-width: 100%;
		}
}

/*---------------------------
contents Header
---------------------------*/
#Cheader {
		position: relative;
		display: block;
		padding: 0;
		width: 100%;
		height: 80px;
		background-color: #fff;
		top: 0;
		z-index: 100;
		box-sizing: border-box;
}

#Cheader .logo {
		position: absolute;
		top: 20px;
		left: 30px;
}

#Cheader .logo img {
		max-width: 401px;
}

#Cheader .entry_mypage {
		position: fixed;
		right: 85px;
		top: 26px;
}

@media (max-width: 1366px) {
		#Cheader {
				position: relative;
				display: block;
				padding: 0;
				width: 100%;
				height: 5.85652vw;
				background-color: #fff;
				top: 0;
				z-index: 100;
				box-sizing: border-box;
		}
		#Cheader .logo {
				position: absolute;
				top: 1.46413vw;
				left: 2.19619vw;
		}
		#Cheader .logo img {
				max-width: 29.35578vw;
		}
		#Cheader .entry_mypage {
				position: fixed;
				right: 6.22255vw;
				top: 1.90337vw;
		}
		#Cheader .entry_mypage img {
				max-width: 21.96193vw;
		}
}

@media (max-width: 780px) {
		#Cheader {
				background-color: #fff;
				position: fixed;
				display: block;
				padding: 0;
				width: 100%;
				height: 13vw;
				top: 0;
				z-index: 99;
				box-sizing: border-box;
		}
		#Cheader .logo {
				position: absolute;
				top: 0.5vw;
				left: 5vw;
				right: 42vw;
		}
		#Cheader .logo img {
				max-width: 100%;
		}
}

/*---------------------------
message Header
---------------------------*/
#Mheader {
		position: relative;
		display: block;
		padding: 0;
		width: 100%;
		height: 80px;
		top: 0;
		z-index: 100;
		box-sizing: border-box;
}

#Mheader .logo {
		position: absolute;
		top: 20px;
		left: 30px;
}

#Mheader .logo img {
		max-width: 401px;
}

#Mheader .entry_mypage {
		position: fixed;
		right: 85px;
		top: 26px;
}

@media (max-width: 1366px) {
		#Mheader {
				position: relative;
				display: block;
				padding: 0;
				width: 100%;
				height: 5.85652vw;
				top: 0;
				z-index: 100;
				box-sizing: border-box;
		}
		#Mheader .logo {
				position: absolute;
				top: 1.46413vw;
				left: 2.19619vw;
		}
		#Mheader .logo img {
				max-width: 29.35578vw;
		}
		#Mheader .entry_mypage {
				position: fixed;
				right: 6.22255vw;
				top: 1.90337vw;
		}
		#Mheader .entry_mypage img {
				max-width: 21.96193vw;
		}
}

@media (max-width: 780px) {
		#Mheader {
				background-color: #fff;
				position: fixed;
				display: block;
				padding: 0;
				width: 100%;
				height: 13vw;
				top: 0;
				z-index: 99;
				box-sizing: border-box;
		}
		#Mheader .logo {
				position: absolute;
				top: 0.5vw;
				left: 5vw;
				right: 42vw;
		}
		#Mheader .logo img {
				max-width: 100%;
		}
}

/*---------------------------
Global Nav Entry & Mypage
---------------------------*/
/* Menu Close */
.menu {
		position: fixed;
		right: 15px;
		top: 15px;
		width: 56px;
		height: 50px;
		z-index: 110;
		cursor: pointer;
}

.menu__line {
		background: #fff;
		display: block;
		height: 4px;
		position: absolute;
		top: 10px;
		right: 10px;
		transition: transform .3s;
		width: 36px;
}

.show .menu {
		position: fixed;
		right: 15px;
		top: 15px;
		width: 56px;
		height: 50px;
		z-index: 110;
		cursor: pointer;
}

.show .menu__line {
		background: #333;
		display: block;
		height: 4px;
		position: absolute;
		top: 10px;
		right: 10px;
		transition: transform .3s;
		width: 36px;
}

.show .menu__line--top {
		top: 12px;
}

.show .menu__line--second {
		top: 24px;
		width: 29px;
}

.show .menu__line--bottom {
		top: 36px;
}

.menu__line--top {
		top: 12px;
}

.menu__line--second {
		top: 24px;
		width: 29px;
}

.menu__line--bottom {
		top: 36px;
}

.menu.active {
		position: fixed;
		right: 15px;
		top: 15px;
		width: 56px;
		height: 50px;
		z-index: 110;
		cursor: pointer;
		z-index: 130;
}

.menu__line--top.active {
		top: 24px;
		width: 30px;
		transform: rotate(45deg);
		background: #fff;
}

.menu__line--second.active {
		transform: scaleX(0);
}

.menu__line--bottom.active {
		top: 24px;
		width: 30px;
		transform: rotate(135deg);
		background: #fff;
}

@media (max-width: 1366px) {
		.menu {
				position: fixed;
				right: 1.0981vw;
				top: 1.0981vw;
				width: 4.09956vw;
				height: 3.66032vw;
				z-index: 110;
				cursor: pointer;
		}
		.menu__line {
				background: #fff;
				display: block;
				height: 0.29283vw;
				position: absolute;
				top: 0.73206vw;
				right: 0.73206vw;
				transition: transform .3s;
				width: 2.63543vw;
		}
		.show .menu {
				position: fixed;
				right: 1.0981vw;
				top: 1.0981vw;
				width: 4.09956vw;
				height: 3.66032vw;
				z-index: 110;
				cursor: pointer;
		}
		.show .menu__line {
				background: #333;
				display: block;
				height: 0.29283vw;
				position: absolute;
				top: 0.73206vw;
				right: 0.73206vw;
				transition: transform .3s;
				width: 2.63543vw;
		}
		.show .menu__line--top {
				top: 0.87848vw;
		}
		.show .menu__line--second {
				top: 1.75695vw;
				width: 2.12299vw;
		}
		.show .menu__line--bottom {
				top: 2.63543vw;
		}
		.menu__line--top {
				top: 0.87848vw;
		}
		.menu__line--second {
				top: 1.75695vw;
				width: 2.12299vw;
		}
		.menu__line--bottom {
				top: 2.63543vw;
		}
		.menu.active {
				position: fixed;
				right: 1.0981vw;
				top: 1.0981vw;
				width: 4.09956vw;
				height: 3.66032vw;
				z-index: 110;
				cursor: pointer;
				z-index: 130;
		}
		.menu__line--top.active {
				top: 1.75695vw;
				width: 2.19619vw;
				transform: rotate(45deg);
				background: #fff;
		}
		.menu__line--second.active {
				transform: scaleX(0);
		}
		.menu__line--bottom.active {
				top: 1.75695vw;
				width: 2.19619vw;
				transform: rotate(135deg);
				background: #fff;
		}
}

@media (max-width: 780px) {
		.menu {
				position: fixed;
				right: 1.5vw;
				top: 1.5vw;
				width: 9vw;
				height: 9vw;
				z-index: 146;
				cursor: pointer;
		}
		.menu__line {
				background: #333;
				display: block;
				height: 2px;
				position: absolute;
				top: 0vw;
				right: 0vw;
				transition: transform .3s;
				width: 5vw;
		}
		.menu__line--top {
				top: 3vw;
				right: 3.5vw;
		}
		.menu__line--second {
				top: 5vw;
				right: 3.5vw;
				width: 4vw;
		}
		.menu__line--bottom {
				top: 7vw;
				right: 3.5vw;
		}
		.show .menu {
				position: fixed;
				right: 1.5vw;
				top: 1.5vw;
				width: 9vw;
				height: 9vw;
				z-index: 146;
				cursor: pointer;
		}
		.show .menu__line {
				background: #333;
				display: block;
				height: 2px;
				position: absolute;
				top: 0vw;
				right: 0vw;
				transition: transform .3s;
				width: 5vw;
		}
		.show .menu__line--top {
				top: 3vw;
				right: 3.5vw;
		}
		.show .menu__line--second {
				top: 5vw;
				right: 3.5vw;
				width: 4vw;
		}
		.show .menu__line--bottom {
				top: 7vw;
				right: 3.5vw;
		}
		.menu.active {
				position: fixed;
				right: 1.5vw;
				top: 1.5vw;
				width: 9vw;
				height: 9vw;
				width: 9vw;
				height: 9vw;
				z-index: 146;
				cursor: pointer;
		}
		.menu__line--top.active {
				top: 5vw;
				right: 3.5vw;
				width: 5vw;
				transform: rotate(45deg);
				background: #fff;
		}
		.menu__line--second.active {
				transform: scaleX(0);
		}
		.menu__line--bottom.active {
				top: 5vw;
				right: 3.5vw;
				width: 5vw;
				transform: rotate(135deg);
				background: #fff;
		}
}

/*---------------------------
Footer
---------------------------*/
#footer {
		width: 100%;
		background-color: #333;
		padding: 40px 0;
		text-align: right;
}

#footer span {
		font-size: 16px;
		color: #fff;
		margin-right: 40px;
}

@media (max-width: 1366px) {
		#footer {
				width: 100%;
				background-color: #333;
				padding: 2.92826vw 0;
				text-align: right;
		}
		#footer span {
				font-size: 1.1713vw;
				color: #fff;
				margin-right: 2.92826vw;
		}
}

/*---------------------------
Modal
---------------------------*/
.remodal-overlay {
		background: rgba(255, 255, 255, 0.9);
}

.remodal {
		padding: 0;
		background: #000;
}

.embed-container {
		position: relative;
		padding-bottom: 56.25%;
		height: 0;
		overflow: hidden;
		max-width: 100%;
}

.embed-container iframe, .embed-container object, .embed-container embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}

.remodal-cancel {
		position: absolute;
		top: -40px;
		right: -40px;
		background: none;
		background-image: url(../img/md_close.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 60px;
		height: 60px;
		min-width: inherit;
}

.remodal-cancel:hover {
		background: none;
		background-image: url(../img/md_close.svg);
		background-repeat: no-repeat;
		background-size: contain;
}

@media (max-width: 780px) {
		.remodal-cancel {
				position: absolute;
				top: -7vw;
				right: 0;
				background: none;
				background-image: url(../img/md_close.svg);
				background-repeat: no-repeat;
				background-size: contain;
				width: 6vw;
				height: 6vw;
				min-width: inherit;
		}
		.remodal-cancel:hover {
				background: none;
				background-image: url(../img/md_close.svg);
				background-repeat: no-repeat;
				background-size: contain;
		}
}

@media only screen and (min-width: 641px) {
		.remodal {
				max-width: 964px;
		}
}

/*---------------------------- Sp Setteing ----------------------------*/
@media screen and (max-width: 780px) {
		body img {
				max-width: 100%;
		}
		.br-sp {
				display: block;
		}
		.br-pc {
				display: none;
		}
		.pc {
				display: none;
		}
		.sp {
				display: block;
		}
		.wrapper {
				max-width: 100%;
				margin: 0 auto;
				overflow-x: hidden;
		}
		.inner {
				max-width: 100%;
				margin: 0 auto;
		}
		/*---------------------------
  Main
  ---------------------------*/
		.main {
				margin-top: 12.5vw;
				width: 100%;
				overflow-x: hidden;
		}
		/*---------------------------
  Header
  ---------------------------*/
		.entry_mypage {
				position: fixed;
				right: 0;
				top: inherit;
				bottom: 0;
				z-index: 121;
				width: 100%;
				height: 13vw;
				background-color: #333;
		}
		.entry_mypage span {
				font-size: 3.07692vw;
				line-height: 1;
				color: #fff;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
		}
		.active .entry_mypage {
				position: fixed;
				right: 0;
				top: inherit;
				bottom: 0;
				z-index: 121;
				width: 100%;
				height: 13vw;
				background-color: #B30910;
		}
		.active .entry_mypage span {
				font-size: 3.07692vw;
				line-height: 1;
				color: #fff;
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
		}
		/*---------------------------
  Global Nav Entry & Mypage
  ---------------------------*/
		/* Menu Close */
		/*---------------------------
  Footer
  ---------------------------*/
		#footer {
				width: 100%;
				background-color: #444;
				padding: 3vw 0;
				margin-bottom: 13vw;
		}
		#footer {
				text-align: center;
		}
		#footer span {
				font-size: 2.5641vw;
				color: #fff;
				margin-right: 0;
		}
}
