/*---------------------------
Common Font Setteing
---------------------------*/
@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);
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: 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;
}

/*---------------------------
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 .entry_mypage {
		position: fixed;
		right: 85px;
		top: 26px;
}

/*---------------------------
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 .entry_mypage {
		position: fixed;
		right: 85px;
		top: 26px;
}

/*---------------------------
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;
}

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

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

/*---------------------------
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
  ---------------------------*/
		#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: 0.5vw;
				left: 5vw;
				right: 42vw;
		}
		#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;
		}
		#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: 4.5vw;
				left: 5vw;
				right: 42vw;
		}
		.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 */
		.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: #444;
				padding: 3vw 0;
				margin-bottom: 13vw;
		}
		#footer {
				text-align: center;
		}
		#footer span {
				font-size: 2.5641vw;
				color: #fff;
				margin-right: 0;
		}
}
