@charset "UTF-8";
/*
* RESPON_BUSINESS
* main.css
*
* @date 2017-02-20
*/
/* ------------------------
	Foundation
------------------------ */
html,
body {
	height: 100%;
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}

pre,
textarea {
	overflow: auto;
}

[hidden],
audio:not([controls]),
template {
	display: none;
}

details,
main,
summary {
	display: block;
}

input[type=number] {
	width: auto;
}

input[type=search] {
	-webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

progress {
	display: inline-block;
}

small {
	font-size: 75%;
}

sub,
sup {
	position: relative;
	vertical-align: baseline; 
	font-size: 75%;
	line-height: 0;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

textarea {
	resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align: middle;
}

img {
	border: 0; 
	max-width: 100%;
	height: auto;
}

button,
input,
select,
textarea {
	min-height: 1.5em;
	color: inherit;
	font-family: inherit; 
	font-weight: inherit;
	font-style: inherit;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	cursor: pointer; 

	-webkit-appearance: button;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0; 
	border: 0;
}

input {
	line-height: normal;
}

code,
kbd,
pre,
samp {
	font-family: monospace,monospace;
}

ol,
ul {
	list-style: none;
}

select {
	   -moz-appearance: none;
	-webkit-appearance: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

fieldset {
	border: 0;
}

/* ------------------------
	Base Settings
------------------------ */
html {
	font-size: 20px;
}

body {
	background-color: #fff;
	word-wrap: break-word; 
	color: #333;
	font-family: "ヒラギノ角ゴ ProN W3", "Lucida Grande", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.4;

	-webkit-font-smoothing: subpixel-antialiased;
	        font-smoothing: subpixel-antialiased;
	-webkit-text-size-adjust: 100%;
}

a {
	text-decoration: underline; 
	color: #333;
}

a:hover,
a:active {
	text-decoration: none;
}

a[href^="tel:"] {
	cursor: text; 
	text-decoration: none;
}

::-moz-selection {
	background-color: #036eb8;
	color: #fff;
	text-shadow: none;
}

::selection {
	background-color: #036eb8;
	color: #fff;
	text-shadow: none;
}

/* ------------------------
	utilities Classes
------------------------ */
.hidden {
	display: none !important;
	visibility: hidden;
}

.visuallyhidden {
	overflow: hidden;
	clip: rect(0 0 0 0);
	position: absolute;
	margin: -1px;
	padding: 0;
	border: 0;
	width: 1px; 
	height: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	overflow: visible;
	clip: auto;
	position: static;
	margin: 0;
	width: auto; 
	height: auto;
}

.invisible {
	visibility: hidden;
}

.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after {
	clear: both;
}

.clearfix {
	*zoom: 1;
}

/* --------------------------------
    Helper classes
-------------------------------- */
.hidden {
	display: none !important;
	visibility: hidden;
}

.hidden-sp {
	display: none !important;
	visibility: hidden;
}
@media only screen and (min-width: 768px) {
	.hidden-sp {
		display: block !important;
		visibility: visible;
	}
}

.hidden-sp-i {
	display: none !important;
	visibility: hidden;
}
@media only screen and (min-width: 768px) {
	.hidden-sp-i {
		display: inline !important;
		visibility: visible;
	}
}

.hidden-sp-ib {
	display: none !important;
	visibility: hidden;
}
@media only screen and (min-width: 768px) {
	.hidden-sp-ib {
		display: inline-block !important;
		visibility: visible;
	}
}

.hidden-sp-tc {
	display: none !important;
	visibility: hidden;
}
@media only screen and (min-width: 768px) {
	.hidden-sp-tc {
		display: table-cell !important;
		visibility: visible;
	}
}

.hidden-pc {
	display: block !important;
	visibility: visible;
}
@media only screen and (min-width: 768px) {
	.hidden-pc {
		display: none !important;
		visibility: hidden;
	}
}

.hidden-pc-i {
	display: inline !important;
	visibility: visible;
}
@media only screen and (min-width: 768px) {
	.hidden-pc-i {
		display: none !important;
		visibility: hidden;
	}
}

/* ------------------------
	余白 調整用class
------------------------ */
.mt-0 {
	margin-top: 0px !important;
}

.mb-0 {
	margin-bottom: 0px !important;
}

.mt-5 {
	margin-top: 5px !important;
}

.mb-5 {
	margin-bottom: 5px !important;
}

.mt-10 {
	margin-top: 10px !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mt-15 {
	margin-top: 15px !important;
}

.mb-15 {
	margin-bottom: 15px !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mb-20 {
	margin-bottom: 20px !important;
}

.mt-25 {
	margin-top: 25px !important;
}

.mb-25 {
	margin-bottom: 25px !important;
}

/* ------------------------
	text-align 調整用class
------------------------ */
.align-center {
	text-align: center !important;
}

.align-left {
	text-align: left !important;
}

.align-right {
	text-align: right !important;
}

/* ------------------------
	カーニング 調整用class
------------------------ */
.middle-dot {
	margin: 0 -0.3em;
}

.pause-mark,
.period {
	margin: 0 -0.3em 0 0;
}

.left-parenthesis,
.left-corner-bracket {
	margin: 0 0 0 -0.5em;
}

.right-parenthesis,
.right-corner-bracket {
	margin: 0 -0.5em 0 0;
}

.exclamation-mark {
	margin: 0 0 0 -0.2em;
}

.t-small {
	font-size: 80%;
}

/* --------------------------------
    module
-------------------------------- */
/* logo ------------ */
.mod-logo.mod-logo-large {
	width: 77px;
	height: 98px;
}
@media only screen and (min-width: 768px) {
	.mod-logo.mod-logo-large {
		width: 192px;
		height: 243px;
	}
}

.mod-logo.mod-logo-middle {
	width: 53px;
	height: 67px;
}
@media only screen and (min-width: 768px) {
	.mod-logo.mod-logo-middle {
		width: 124px;
		height: 156px;
	}
}

.mod-logo.mod-logo-small {
	width: 27px;
	height: 34px;
}
@media only screen and (min-width: 768px) {
	.mod-logo.mod-logo-small {
		width: 54px;
		height: 68px;
	}
}

/* logo manaba ------------ */
.mod-logoManaba.mod-logoManaba-large {
	width: 173px;
	height: 55px;
}
@media only screen and (min-width: 768px) {
	.mod-logoManaba.mod-logoManaba-large {
		width: 346px;
		height: 110px;
	}
}

.mod-logoManaba.mod-logoManaba-small {
	width: 127px;
	height: 41px;
}
@media only screen and (min-width: 768px) {
	.mod-logoManaba.mod-logoManaba-small {
		width: 239px;
		height: 77px;
	}
}

/* logo-text ----- */
.mod-logoText {
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-indent: 100%; 
	font-size: 0;
}
.mod-logoText.mod-logoText-white {
	width: 154px;
	height: 22px;
	background: url(../img/common/mod-logoText-white-sp.png) 0 0 no-repeat;
	background-size: 154px 22px;
}
@media only screen and (min-width: 768px) {
	.mod-logoText.mod-logoText-white {
		width: 476px;
		height: 68px;
		background: url(../img/common/mod-logoText-white-pc.png) 0 0 no-repeat;
		background-size: 476px 68px;
	}
}
.mod-logoText.mod-logoText-black {
	width: 138px;
	height: 37px;
	background: url(../img/common/mod-logoText-black-sp.png) 0 0 no-repeat;
	background-size: 138px 37px;
}
@media only screen and (min-width: 768px) {
	.mod-logoText.mod-logoText-black {
		width: 534px;
		height: 81px;
		background: url(../img/common/mod-logoText-black-pc.png) 0 0 no-repeat;
		background-size: 534px 81px;
	}
}

/* baloon */
.mod-baloon {
	display: table;
	width: 100px;
	height: 100px;
	text-align: center;
	color: #fff;
	font-size: 10px;
	line-height: 1.2;
}
@media only screen and (min-width: 768px) {
	.mod-baloon {
		width: 233px;
		height: 233px;
		font-size: 20px;
		line-height: 1.35;
	}
}
@media only screen and (min-width: 768px) {
	.mod-baloon.mod-baloon-large {
		width: 282px;
		height: 282px;
	}
}
.mod-baloon.mod-baloon-ex > .inner {
	padding-top: 28px;
}
@media only screen and (min-width: 768px) {
	.mod-baloon.mod-baloon-ex > .inner {
		padding-top: 86px;
	}
}
.mod-baloon.mod-baloon-ex2 .exclamation-mark {
	margin: 0 0 0 -0.4em;
}
.mod-baloon > .inner {
	display: table-cell;
	vertical-align: middle;
}
@media only screen and (min-width: 768px) {
	.mod-baloon > .inner {
		font-size: 20px;
	}
}
.mod-baloon.mod-baloon-01 {
	width: 98px;
	height: 98px;
	background: url(../img/top/mod-baloon-01.png) 0 0 no-repeat; 
	background-size: 98px 98px;
}
@media only screen and (min-width: 768px) {
	.mod-baloon.mod-baloon-01 {
		width: 233px;
		height: 233px;
		background-size: 233px 233px;
	}
}
.mod-baloon.mod-baloon-02 {
	width: 98px;
	height: 98px;
	background: url(../img/top/mod-baloon-02.png) 0 0 no-repeat; 
	background-size: 98px 98px;
}
@media only screen and (min-width: 768px) {
	.mod-baloon.mod-baloon-02 {
		width: 233px;
		height: 233px;
		background-size: 233px 233px;
	}
}
.mod-baloon.mod-baloon-03 {
	width: 98px;
	height: 98px;
	background: url(../img/top/mod-baloon-03.png) 0 0 no-repeat; 
	background-size: 98px 98px;
}
@media only screen and (min-width: 768px) {
	.mod-baloon.mod-baloon-03 {
		width: 233px;
		height: 233px;
		background-size: 233px 233px;
	}
}

/* mod-btn-anchorLink */
.mod-btn {
	font-size: 12px;
	line-height: 1.3;
}
@media only screen and (min-width: 768px) {
	.mod-btn {
		font-size: 27px;
	}
}
.mod-btn a,
.mod-btn input[type=button],
.mod-btn input[type=submit],
.mod-btn button {
	display: block;
	padding: 17px 0;
	border: 5px solid #f39b33;
	border-radius: 5px;
	width: 100%;
	background: #f08200;
	text-align: center;
	text-decoration: none;
	color: #fff;
}
@media only screen and (min-width: 768px) {
	.mod-btn a,
	.mod-btn input[type=button],
	.mod-btn input[type=submit],
	.mod-btn button {
		display: inline-block;
		padding: 36px 113px 32px 93px;
		border-width: 8px;
		border-radius: 10px;
		width: auto;
	}
}
.mod-btn a:hover,
.mod-btn input[type=button]:hover,
.mod-btn input[type=submit]:hover,
.mod-btn button:hover {
	border-color: #fabb34;
	background: #f9aa01;
}
.mod-btn span {
	display: inline-block;
	position: relative;
}
.mod-btn span:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -2.7em;
	margin: -3px 0 0;
	border-top: 7px solid #fff;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	width: 0;
	height: 0;
}
@media only screen and (min-width: 768px) {
	.mod-btn span:after {
		right: -1.2em;
		margin: -7px 0 0;
		border-top: 16px solid #fff;
		border-right: 9px solid transparent;
		border-left: 9px solid transparent;
	}
}
.mod-btn.mod-btn-anchor {
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-anchor {
		font-size: 30px;
		font-weight: normal;
	}
}
.mod-btn.mod-btn-anchor a {
	display: inline-block;
	padding: 12px 53px;
	border: 0;
	border-radius: 5px;
	width: auto;
	background: #900;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-anchor a {
		padding: 28px 92px 28px 82px;
		box-shadow: rgba(12, 3, 6, 0.4) 10px 10px 15px 0px;
	}
}
.mod-btn.mod-btn-anchor a:hover {
	background: #c00;
}
.plan .mod-btn.mod-btn-none a {
	padding: 17px 0;
	letter-spacing: 1px;
}
@media only screen and (min-width: 768px) {
	.plan .mod-btn.mod-btn-none a {
		padding: 32px 90px 32px 90px;
	}
}
.mod-btn.mod-btn-none span {
	margin-left: 0;
	font-weight: bold;
}
.mod-btn.mod-btn-none span:after {
	content: none;
}
.mod-btn.mod-btn-external span {
	margin-left: -14px;
}
.mod-btn.mod-btn-external span:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -1.7em;
	margin: -6px 0 0;
	border: 0;
	width: 11px;
	height: 11px;
	background: url(../img/common/mod-ico-sp.png) no-repeat;
	background-position: -10px -292px;
	background-size: 138px 1272px;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-external span:after {
		margin: -11px 0 0 -11px;
		width: 20px;
		height: 21px;
		background: url(../img/common/mod-ico-pc.png) no-repeat;
		background-position: -20px -1117px;
		background-size: 275px 3209px;
	}
}
.mod-btn.mod-btn-external-white {
	font-size: 24px;
}
.mod-btn.mod-btn-external-white span {
	margin-left: -14px;
}
.mod-btn.mod-btn-external-white span:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -1.7em;
	margin: -6px 0 0;
	border: 0;
	width: 11px;
	height: 11px;
	background: url(../img/common/mod-ico-sp.png) no-repeat;
	background-position: -30px -292px;
	background-size: 138px 1272px;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-external-white span:after {
		margin: -11px 0 0 -11px;
		width: 20px;
		height: 21px;
		background: url(../img/common/mod-ico-pc.png) no-repeat;
		background-position: -20px -1232px;
		background-size: 275px 3209px;
	}
}
.mod-btn.mod-btn-external-white a {
	padding: 9px 0 5px 65px;
	border-color: #fccd00;
	background-color: #fff;
	text-align: left;
	color: #f08200;
	font-size: 14px;
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-external-white a {
		padding: 38px 94px 35px 119px;
		font-size: inherit;
		font-weight: normal;
	}
}
.mod-btn.mod-btn-external-white a:hover {
	opacity: 0.7;
}
.mod-btn.mod-btn-external-white a span {
	position: relative;
}
.mod-btn.mod-btn-external-white i {
	display: block;
	position: absolute;
	top: 50%;
	left: -40px;
	margin: -18px 0 0;
}
@media only screen and (min-width: 768px) {
	.mod-btn.mod-btn-external-white i {
		left: -76px;
		margin-top: -34px;
	}
}

/* mod-btn-external */
.mod-btnCircle-external {
	display: table;
	width: 73px;
	height: 73px;
	font-size: 12px;
	line-height: 1.2;
}
@media only screen and (min-width: 768px) {
	.mod-btnCircle-external {
		width: 127px;
		height: 127px;
		font-size: 15px;
		line-height: 1.3;
	}
}
.mod-btnCircle-external a {
	display: table-cell;
	position: relative;
	padding: 0 0 7px;
	border: 5px solid #f39b33;
	border-radius: 50%;
	background: #f08200;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	color: #fff;
}
@media only screen and (min-width: 768px) {
	.mod-btnCircle-external a {
		padding: 0 0 16px;
	}
}
.mod-btnCircle-external a:hover {
	border-color: #fabb34;
	background: #f9aa01;
}
.mod-btnCircle-external a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 11px 0 0 -5px;
	width: 11px;
	height: 11px;
	background: url(../img/common/mod-ico-sp.png) no-repeat;
	background-position: -10px -292px;
	background-size: 138px 1272px;
}
@media only screen and (min-width: 768px) {
	.mod-btnCircle-external a:after {
		margin: 16px 0 0 -11px;
		width: 20px;
		height: 21px;
		background: url(../img/common/mod-ico-pc.png) no-repeat;
		background-position: -20px -619px;
		background-size: 275px 3209px;
	}
}

/* movie thumbnail */
.mod-movieThumb a {
	display: block;
	position: relative;
	float: left;
	border-radius: 14px;
	width: 130px;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb a {
		float: none;
		border-radius: 25px;
		width: auto;
	}
}
.mod-movieThumb a:before,
.mod-movieThumb a:after {
	content: "";
	display: block;
	top: 0;
	left: 0;
	border-radius: 14px;
	width: 100%;
	height: 100%;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb a:before,
	.mod-movieThumb a:after {
		border-radius: 25px;
	}
}
.mod-movieThumb a:before {
	opacity: 0;
	position: absolute;
	z-index: 1;
	background: #fff;
}
.mod-movieThumb a:after {
	opacity: 0.5;
	position: absolute;
	z-index: 2;
	border: 4px solid #fff;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb a:after {
		border-width: 9px;
	}
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb a:hover {
		opacity: 0.7;
	}
}

.mod-movieThumb span {
	display: block;
	position: relative;
}
.mod-movieThumb span:before {
	content: "";
	display: block;
	opacity: 0.75;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	background: #900;
	box-shadow: rgba(12, 3, 6, 0.498039) 0px 0px 10px 0px;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb span:before {
		width: 62px;
		height: 62px;
	}
}
.mod-movieThumb span:after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 3px;
	margin: auto;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	width: 0;
	height: 0;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb span:after {
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 16px solid #fff;
	}
}

.mod-movieThumb img {
	border-radius: 14px;
}
@media only screen and (min-width: 768px) {
	.mod-movieThumb img {
		border-radius: 25px;
	}
}

/* movie thumbnail */
.mod-imgThumb span {
	display: block;
	position: relative;
	border-radius: 14px;
}
@media only screen and (min-width: 768px) {
	.mod-imgThumb span {
		border-radius: 25px;
	}
}
.mod-imgThumb span:before,
.mod-imgThumb span:after {
	content: "";
	display: block;
	top: 0;
	left: 0;
	border-radius: 14px;
	width: 100%;
	height: 100%;
}
@media only screen and (min-width: 768px) {
	.mod-imgThumb span:before,
	.mod-imgThumb span:after {
		border-radius: 25px;
	}
}
.mod-imgThumb span:before {
	opacity: 0;
	position: absolute;
	z-index: 1;
	background: #fff;
}
.mod-imgThumb span:after {
	opacity: 0.5;
	position: absolute;
	z-index: 2;
	border: 4px solid #fff;
}
@media only screen and (min-width: 768px) {
	.mod-imgThumb span:after {
		border-width: 9px;
	}
}

.mod-imgThumb img {
	border-radius: 14px;
}
@media only screen and (min-width: 768px) {
	.mod-imgThumb img {
		border-radius: 25px;
	}
}

.mod-imgThumb a {
	display: block;
}
@media only screen and (min-width: 768px) {
	.mod-imgThumb a:hover {
		opacity: 0.7;
	}
}

/* bubble talk */
.mod-bubbleTalk {
	display: inline-block;
	position: relative;
	margin: 0 0 7px;
	padding: 8px 40px 6px;
	border-radius: 3em;
	background: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: normal;
	line-height: 1.2;
}
@media only screen and (min-width: 768px) {
	.mod-bubbleTalk {
		margin: 0 0 15px;
		padding: 11px 64px 10px;
		font-size: 20px;
	}
}
.mod-bubbleTalk:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -7px;
	left: 50%;
	margin: 0 0 0 -4px;
	border-top: 7px solid #fff;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	width: 0;
	height: 0;
}
@media only screen and (min-width: 768px) {
	.mod-bubbleTalk:after {
		bottom: -14px;
		margin: 0 0 0 -3px;
		border-top: 15px solid #fff;
		border-right: 6px solid transparent;
		border-left: 6px solid transparent;
	}
}
.mod-bubbleTalk.mod-bubbleTalk-yellow {
	background: #f9aa01;
	color: #fff;
}
.mod-bubbleTalk.mod-bubbleTalk-yellow:after {
	border-top-color: #f9aa01;
}

/* pagetop */
.mod-pagetop a {
	display: block;
	display: block;
	overflow: hidden;
	position: relative;
	border-radius: 4px 4px 0 0;
	width: 30px;
	height: 22px;
	background: #f9aa01;
	white-space: nowrap;
	text-indent: 100%; 
	font-size: 0;
}
@media only screen and (min-width: 768px) {
	.mod-pagetop a {
		border-radius: 5px 5px 0 0;
		width: 60px;
		height: 44px;
	}
}
@media only screen and (min-width: 768px) {
	.mod-pagetop a:hover {
		background: #fccd00;
	}
}
.mod-pagetop a:before {
	content: "";
	display: block;
	opacity: 0.5;
	position: absolute;
	top: 5px;
	left: 10px;
	width: 10px;
	height: 2px;
	background: #fff;
}
@media only screen and (min-width: 768px) {
	.mod-pagetop a:before {
		top: 12px;
		left: 19px;
		width: 22px;
	}
}
.mod-pagetop a:after {
	content: "";
	display: block;
	position: absolute;
	top: 9px;
	left: 11px;
	border-right: 4px solid transparent;
	border-bottom: 6px solid #fff;
	border-left: 4px solid transparent;
	width: 0;
	height: 0;
}
@media only screen and (min-width: 768px) {
	.mod-pagetop a:after {
		top: 19px;
		left: 23px;
		border-right: 7px solid transparent;
		border-bottom: 12px solid #fff;
		border-left: 7px solid transparent;
	}
}

.mod-link {
	display: inline-block;
	position: relative;
	margin: 0 4px 0 0;
	padding: 0 18px 0 0;
}
.mod-link:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 11px;
	height: 11px;
	background: url(../img/common/mod-ico-sp.png) no-repeat;
	background-position: -10px -323px;
	background-size: 138px 1272px;
	white-space: nowrap;
	text-indent: 100%;
	font-size: 0;
}
@media only screen and (min-width: 768px) {
	.mod-link:after {
		width: 13px;
		height: 14px;
		background: url(../img/common/mod-ico-pc.png) no-repeat;
		background-position: -20px -1178px;
		background-size: 275px 3209px;
	}
}

.mod-accordionBtn {
	text-align: center;
	font-size: 15px;
}
@media only screen and (min-width: 768px) {
	.mod-accordionBtn {
		margin: 70px 40px 0;
		font-size: 22px;
	}
}
.mod-accordionBtn a {
	display: block;
	padding: 16px 26px 16px 0px;
	border-bottom: 1px dotted #c7c5c0;
	text-decoration: none;
	color: #f08200;
}
@media only screen and (min-width: 768px) {
	.mod-accordionBtn a {
		padding: 28px 0;
		border-top: 2px dotted #c7c5c0;
		border-bottom: 2px dotted #c7c5c0;
	}
}
@media only screen and (min-width: 768px) {
	.mod-accordionBtn a:hover {
		opacity: 0.7;
	}
}
.mod-accordionBtn span {
	display: inline-block;
	position: relative;
}
@media only screen and (min-width: 768px) {
	.mod-accordionBtn span {
		padding: 0 40px 0 0;
	}
}
.mod-accordionBtn span:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: -1.8em;
	margin: -5px 0 0;
	border-top: 9px solid #f08200;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	width: 0;
	height: 0;
}
@media only screen and (min-width: 768px) {
	.mod-accordionBtn span:after {
		right: 0;
		margin: -5px 0 0;
		border-top: 12px solid #f08200;
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
	}
}

.cboxShare {
	position: absolute;
	bottom: 0px;
	left: 0;
	padding: 0 42px;
	width: 100%;
}
@media only screen and (min-width: 768px) {
	.cboxShare {
		overflow: hidden;
		width: 942px;
	}
}

.cboxShare_chBtn {
	float: left;
}
.cboxShare_chBtn a:hover {
	opacity: 0.7;
}

.cboxShare_inner {
	padding: 10px 0;
	border: 2px dotted #555;
	border-right: 0;
	border-left: 0;
	text-align: center;
	color: #fff;
	font-size: 16px;
}
@media only screen and (min-width: 768px) {
	.cboxShare_inner {
		display: table;
		float: left;
		margin: 0 0 0 44px;
		padding: 17px 0;
		width: 404px;
		text-align: left;
		font-size: 20px;
	}
}

@media only screen and (min-width: 768px) {
	.cboxShare_txt {
		display: table-cell;
		padding: 0 17px 0 5px;
		text-align: center;
		vertical-align: middle;
	}
}

.cboxShare_lists {
	margin: 10px 0 0;
}
@media only screen and (min-width: 768px) {
	.cboxShare_lists {
		display: table-cell;
		margin: 0;
	}
}

.cboxShare_list {
	display: inline-block;
	margin: 0 5px;
}
@media only screen and (min-width: 768px) {
	.cboxShare_list a:hover {
		opacity: 0.7;
	}
}

/* --------------------------------
    icon
-------------------------------- */
.mod-ico {
	display: inline-block;
	overflow: hidden;
	background: url(../img/common/mod-ico-sp.png) no-repeat;
	background-size: 138px 1272px;
	white-space: nowrap;
	text-indent: 100%;
	font-size: 0;
}
@media only screen and (min-width: 768px) {
	.mod-ico {
		background: url(../img/common/mod-ico-pc.png) no-repeat;
		background-size: 275px 3209px;
	}
}
.mod-ico.mod-ico-badgeFree {
	width: 53px;
	height: 53px;
	background-position: -10px -10px;
}
.mod-ico.mod-ico-clicker {
	width: 42px;
	height: 42px;
	background-position: -10px -83px;
}
.mod-ico.mod-ico-clicker-middle {
	width: 42px;
	height: 42px;
	background-position: -10px -83px;
}
.mod-ico.mod-ico-clicker-small {
	width: 17px;
	height: 17px;
	background-position: -10px -145px;
}
.mod-ico.mod-ico-download-app {
	width: 118px;
	height: 35px;
	background-position: -10px -182px;
}
.mod-ico.mod-ico-download-google {
	width: 118px;
	height: 35px;
	background-position: -10px -237px;
}
.mod-ico.mod-ico-external {
	width: 11px;
	height: 11px;
	background-position: -10px -292px;
}
.mod-ico.mod-ico-external-white {
	width: 11px;
	height: 11px;
	background-position: -30px -292px;
}
.mod-ico.mod-ico-external-small {
	width: 11px;
	height: 11px;
	background-position: -10px -323px;
}
.mod-ico.mod-ico-gps {
	width: 42px;
	height: 42px;
	background-position: -10px -354px;
}
.mod-ico.mod-ico-gps-small {
	width: 17px;
	height: 17px;
	background-position: -10px -416px;
}
.mod-ico.mod-ico-mail {
	width: 22px;
	height: 16px;
	background-position: -10px -453px;
}
.mod-ico.mod-ico-playMovie {
	width: 43px;
	height: 51px;
	background-position: -10px -489px;
}
.mod-ico.mod-ico-player {
	width: 42px;
	height: 42px;
	background-position: -10px -560px;
}
.mod-ico.mod-ico-player-middle {
	width: 42px;
	height: 42px;
	background-position: -10px -560px;
}
.mod-ico.mod-ico-attend {
	width: 42px;
	height: 42px;
	background-position: -62px -560px;
}
.mod-ico.mod-ico-manage {
	width: 42px;
	height: 42px;
	background-position: -62px -612px;
}
.mod-ico.mod-ico-player-small {
	width: 17px;
	height: 17px;
	background-position: -10px -622px;
}
.mod-ico.mod-ico-plus {
	width: 45px;
	height: 44px;
	background-position: -10px -659px;
}
.mod-ico.mod-ico-qa-a {
	width: 22px;
	height: 22px;
	background-position: -10px -723px;
}
.mod-ico.mod-ico-qa-q {
	width: 22px;
	height: 22px;
	background-position: -10px -765px;
}
.mod-ico.mod-ico-question {
	width: 42px;
	height: 42px;
	background-position: -10px -807px;
}
.mod-ico.mod-ico-question-small {
	width: 17px;
	height: 17px;
	background-position: -10px -869px;
}
.mod-ico.mod-ico-table-circle {
	width: 17px;
	height: 17px;
	background-position: -10px -906px;
}
.mod-ico.mod-ico-table-x {
	width: 17px;
	height: 17px;
	background-position: -10px -943px;
}
.mod-ico.mod-ico-tel {
	width: 21px;
	height: 21px;
	background-position: -10px -980px;
}
.mod-ico.mod-ico-sns-fb {
	width: 40px;
	height: 40px;
	background-position: -10px -1021px;
}
.mod-ico.mod-ico-sns-gp {
	width: 40px;
	height: 40px;
	background-position: -10px -1081px;
}
.mod-ico.mod-ico-sns-line {
	width: 40px;
	height: 40px;
	background-position: -10px -1141px;
}
.mod-ico.mod-ico-sns-tw {
	width: 40px;
	height: 40px;
	background-position: -10px -1201px;
}
@media only screen and (min-width: 768px) {
	.mod-ico.mod-ico-arw-left {
		width: 30px;
		height: 64px;
		background-position: -20px -20px;
	}
	.mod-ico.mod-ico-arw-left_ov {
		width: 30px;
		height: 64px;
		background-position: -20px -124px;
	}
	.mod-ico.mod-ico-arw-right {
		width: 30px;
		height: 64px;
		background-position: -20px -228px;
	}
	.mod-ico.mod-ico-arw-right_ov {
		width: 30px;
		height: 64px;
		background-position: -20px -332px;
	}
	.mod-ico.mod-ico-badgeFree {
		width: 143px;
		height: 143px;
		background-position: -20px -436px;
	}
	.mod-ico.mod-ico-clicker {
		width: 86px;
		height: 86px;
		background-position: -20px -619px;
	}
	.mod-ico.mod-ico-clicker-middle {
		width: 54px;
		height: 54px;
		background-position: -150px -630px;
	}
	.mod-ico.mod-ico-player-middle {
		width: 54px;
		height: 54px;
		background-position: -150px -2158px;
	}
	.mod-ico.mod-ico-clicker-small {
		width: 32px;
		height: 32px;
		background-position: -20px -745px;
	}
	.mod-ico.mod-ico-close {
		width: 42px;
		height: 42px;
		background-position: -20px -817px;
	}
	.mod-ico.mod-ico-download-app {
		width: 235px;
		height: 69px;
		background-position: -20px -899px;
	}
	.mod-ico.mod-ico-download-google {
		width: 235px;
		height: 69px;
		background-position: -20px -1008px;
	}
	.mod-ico.mod-ico-external {
		width: 20px;
		height: 21px;
		background-position: -20px -1117px;
	}
	.mod-ico.mod-ico-external-small {
		width: 13px;
		height: 14px;
		background-position: -20px -1178px;
	}
	.mod-ico.mod-ico-external-white {
		width: 20px;
		height: 22px;
		background-position: -20px -1232px;
	}
	.mod-ico.mod-ico-gps {
		width: 86px;
		height: 86px;
		background-position: -20px -1294px;
	}
	.mod-ico.mod-ico-gps-small {
		width: 32px;
		height: 32px;
		background-position: -20px -1420px;
	}
	.mod-ico.mod-ico-mail {
		width: 43px;
		height: 32px;
		background-position: -20px -1492px;
	}
	.mod-ico.mod-ico-pdf {
		width: 34px;
		height: 40px;
		background-position: -20px -1564px;
	}
	.mod-ico.mod-ico-ppt {
		width: 34px;
		height: 40px;
		background-position: -60px -1564px;
	}
	.mod-ico.mod-ico-playMovie {
		width: 125px;
		height: 149px;
		background-position: -20px -1644px;
	}
	.mod-ico.mod-ico-player {
		width: 86px;
		height: 86px;
		background-position: -20px -1833px;
	}
	.mod-ico.mod-ico-player-middle {
		width: 54px;
		height: 54px;
		background-position: -150px -2158px;
	}
	.mod-ico.mod-ico-attend {
		width: 86px;
		height: 86px;
		background-position: -126px -1833px;
	}
	.mod-ico.mod-ico-manage {
		width: 86px;
		height: 86px;
		background-position: -126px -1939px;
	}
	.mod-ico.mod-ico-player-small {
		width: 32px;
		height: 32px;
		background-position: -20px -1959px;
	}
	.mod-ico.mod-ico-attend-small {
		width: 32px;
		height: 32px;
		background-position: -232px -1833px;
	}
	.mod-ico.mod-ico-manage-small {
		width: 32px;
		height: 32px;
		background-position: -232px -1939px;
	}
	.mod-ico.mod-ico-plus {
		width: 90px;
		height: 88px;
		background-position: -20px -2031px;
	}
	.mod-ico.mod-ico-png {
		width: 34px;
		height: 40px;
		background-position: -20px -2159px;
	}
	.mod-ico.mod-ico-qa-a {
		width: 43px;
		height: 43px;
		background-position: -20px -2239px;
	}
	.mod-ico.mod-ico-qa-q {
		width: 43px;
		height: 43px;
		background-position: -20px -2322px;
	}
	.mod-ico.mod-ico-question {
		width: 86px;
		height: 86px;
		background-position: -20px -2405px;
	}
	.mod-ico.mod-ico-question-small {
		width: 32px;
		height: 32px;
		background-position: -20px -2531px;
	}
	.mod-ico.mod-ico-sns-fb {
		width: 60px;
		height: 60px;
		background-position: -20px -2603px;
	}
	.mod-ico.mod-ico-sns-gp {
		width: 60px;
		height: 60px;
		background-position: -20px -2703px;
	}
	.mod-ico.mod-ico-sns-line {
		width: 60px;
		height: 60px;
		background-position: -20px -2803px;
	}
	.mod-ico.mod-ico-sns-tw {
		width: 60px;
		height: 60px;
		background-position: -20px -2903px;
	}
	.mod-ico.mod-ico-table-circle {
		width: 31px;
		height: 31px;
		background-position: -20px -3003px;
	}
	.mod-ico.mod-ico-table-x {
		width: 31px;
		height: 31px;
		background-position: -20px -3074px;
	}
	.mod-ico.mod-ico-tel {
		width: 45px;
		height: 44px;
		background-position: -20px -3145px;
	}
}

/* --------------------------------
    layout
-------------------------------- */
.container {
	position: relative;
	padding: 0 20px;
}
@media only screen and (min-width: 768px) {
	.container {
		margin: 0 auto;
		padding: 0;
		width: 1000px;
	}
}

/* --------------------------------
    block
-------------------------------- */
/* header --------------- */
.hdr_logo {
	float: left;
}

/* global nav ----------- */
.gnavs {
	display: block;
	margin: 0 12px;
	border-top: 1px solid #cccccc;
	border-left: 3px solid #ff9900;
	border-right: 3px solid #ff9900;
	background: #fff;
}
@media only screen and (min-width: 768px) {
	.gnavs {
		display: flex;
		justify-content: flex-end;
		margin: 70px 0 0 35px;
		border: 0;
		border-radius: 0;
		background: inherit;
	}
}

.gnav {
	font-size: 18px;
	line-height: 1;
}
@media only screen and (min-width: 768px) {
	.gnav {
		position: relative;
		display: inline-block;
		padding: 0 7px 0 0;
		border: 0;
		font-size: 16px;
	}
	.gnav:not(:last-child) {
		margin-right: 40px;
	}
}

.gnav > a {
	position: relative;
	display: block;
	text-decoration: none;
	text-align: center;
	font-weight: bold;
}
@media only screen and (min-width: 768px) {
	.gnav > a::after {
		content: "";
		display: block;
		height: 4px;
		width: 100%;
		position: absolute;
		bottom: -15px;
		left: 0;
		background-color: #ff9900;
		transform: scale(0, 1);
		transform-origin: right;
		transition: transform .3s ease-out;
	}
	.gnav:not(.border-off) > a:hover::after {
	/* .gnav:not(.border-off) > a:hover::after,
	.gnav.is-current > a::after { */
		transform: scale(1, 1);
		transform-origin: left;
	}
	.gnav.is-current.border-off > a::after {
		transform: scale(0, 1);
		transform-origin: right;
	}
}
@media only screen and (max-width: 767px) {
	.subnavs,
	.gnavs {
		display: flex;
		flex-direction: column;
	}
	.gnavs {
		padding: 8px;
	}
	.subnavs a,
	.gnavs a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #ff9900;
		width: 100%;
		font-size: 17.5px;
	}
	.gnav a {
		width: 100%;
		height: 38px;
	}
	.gnav a.hidesp {
		display: none;
	}
	.subnavs a {
		text-decoration: none;
		font-weight: bold;
	}
	.subnavs a:hover,
	.gnavs a:hover {
		background-color: #ff9900;
		color: #fff;
	}
}

@media only screen and (min-width: 768px) {
	.subnavs_wrap {
		display: none;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		padding-top: 35px;
	}
	.subnavs {
		pointer-events: auto;
		display: flex;
		align-items: center;
		flex-direction: column;
		width: 250px;
		border: 5px solid #ff9900;
		border-radius: 10px;
		padding: 10px;
		background-color: #fff;
	}
	.subnavs::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, 350%);
		display: block;
		width: 10px;
		height: 8px;
		background-image: url(../img/top/icon-subnav-arrow.png);
		background-repeat: no-repeat;
		background-size: contain;
	}
	.subnavs a { 
		text-decoration: none;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		width: 230px; 
		height: 46px; 
	}
}
.subnavs a:hover {
	color: #fff;
	background-color: #ff9900;
}
/* contents --------------- */
.contents {
	padding: 50px 0 0;
}
@media only screen and (min-width: 768px) {
	.contents {
		padding-top: 116px;
	}
}

/* footer ----------------- */
.ftr {
	padding: 10px 0 50px;
	background: #fccd00;
}
@media only screen and (min-width: 768px) {
	.ftr {
		padding: 20px 0 16px;
	}
}

.ftr_pagetop {
	display: none;
	position: fixed;
	z-index: 100;
	right: 20px;
	bottom: 0;
}

address {
	font-style: normal;
}

.copyright {
	text-align: center;
	color: #fff;
	font-size: 12px;
}
@media only screen and (min-width: 768px) {
	.copyright {
		font-size: 14px;
	}
}

@media print {
	*,
	*:before,
	*:after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}
