@charset "utf-8";
/* CSS Document */

/******************************************************************************************

	<css/common.css>

*******************************************************************************************/

/*==========================================================================================

	// 共通設定

==========================================================================================*/
/* リンク */
a:link { color: #3792bc;  word-break: break-all;}
a:visited { color: #389ebc; }
a:hover { color: #de612e; }
a:active { color: #de612e; }
a:focus {  color: #de612e; text-decoration: none; }

/* 文字色 */
.cBlue { color: #405f87; }
.cRed { color: #d72413; }
.cGreen { color: #34a097; }
.cOrange { color: #ff5f0b; }
.cPurple { color: #ad1283; }
.cPink { color: #ff7cd8; }
.cBlack { color: #333333; }
.cWhite { color: #ffffff; }

/* 画像 */
.imghover:hover {
	opacity: 0.8;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.imghover:active {
	opacity: 0.5;
}

/* clearfix */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}

/* 仕切り線 */
hr {
	border-top: dotted 1px #c9caca;
	margin: 4px 0;
	padding: 0;
}

/* Pタグ */
p {}

/* 見出し */
h1 { font-weight: normal; }
h2,h3,h4 { font-weight: normal; }

/* webフォント */
@font-face {
	font-family: "NotoSansCJKjp";
  src: url("../font/NotoSansCJKjp-Regular.woff2") format('woff2'),
       url("../font/NotoSansCJKjp-Regular.woff")  format('woff');
}
@font-face {
	font-family: "Koruri-Bold";
	src: url("../font/Koruri-Bold.woff2") format('woff2'),
	url("../font/Koruri-Bold.woff")  format('woff');
}
@font-face {
	font-family: "Koruri-Semibold";
	src: url("../font/Koruri-Semibold.woff2") format('woff2'),
	url("../font/Koruri-Semibold.woff")  format('woff');
}

/* その他の共通設定は asset.css に記述 */

/*==========================================================================================

	// 全体

==========================================================================================*/
html {
	font-size: 62.5%;
}
body, input, button, pre {
font-family: "NotoSansCJKjp", sans-serif;
	outline: none;
	margin: 0; padding: 0;
	font-size: 14px; font-size: 1.4rem; /* =14px */
	line-height: 1.5;
	color: #363947;
}
body {
	overflow-y: scroll;
	font-size: 1.4em; /* chrome対策 */
}
#TOP {
	padding-bottom: 30px;
}
@media (max-width: 980px) {
	#TOP {
		padding-bottom: 0;
	}
}
.top__link {
	padding: 25px 0;
	text-align: center;
}
@media (min-width: 981px) {
	.top__link {
		display: none;
		position: fixed;
		bottom: 20px;
		right: 20px;
	}
}

.pcshow { display: block; }
.spshow { display: none; }
@media (max-width: 980px) {
	.pcshow { display: none; }
	.spshow { display: block; }
}

pre {
    white-space: pre-wrap;
    word-wrap: break-word;
    overflow: auto;
}


/*-----------------------------------------------------------------------------------------
    ヘッダー
-----------------------------------------------------------------------------------------*/
#header {
	background-color: #ffffff;
}
@media (max-width: 980px) {
	#header {
		padding-top: 50px;
	}
}
.headerPC {
	position: relative;
	display: table;
	width: 100%;
	max-width: 1280px;
	margin: auto;
	padding-bottom: 10px;
}
@media (max-width: 980px) {
	.headerPC {
		display: none;
	}
}
.headerPC__logo {
	display: table-cell;
	vertical-align: top;
	width: 394px;
	padding: 20px 0 0 30px;
}
@media (max-width: 1080px) {
	.headerPC__logo {
		width: 374px;
		padding-left: 10px;
	}
}
@media (max-width: 1050px) {
	.headerPC__logo {
		width: 340px;
	    vertical-align: middle;
		padding-left: 5px;
	}
}
@media (max-width: 1020px) {
	.headerPC__logo {
		width: 320px;
	}
}
@media (max-width: 1000px) {
	.headerPC__logo {
		width: 300px;
	}
}
.headerPC__nav {
	display: table-cell;
	vertical-align: top;
}
.headerPC__nav ul {
	display: table;
	margin-top: 58px;
}
.headerPC__nav li {
	display: table-cell;
	vertical-align: top;
	padding-left: 52px;
}
@media (max-width: 1230px) {
	.headerPC__nav li {
		padding-left: 30px;
	}
}
@media (max-width: 1170px) {
	.headerPC__nav li {
		padding-left: 20px;
	}
}
@media (max-width: 1140px) {
	.headerPC__nav li {
		padding-left: 10px;
	}
}
@media (max-width: 1100px) {
	.headerPC__nav li {
		padding-left: 0;
	}
}

.headerPC__nav li a {
	display: inline-block;
	padding: 4px 10px 4px 55px;
	background-image: url("../images/icon_search.png");
    background-repeat: no-repeat;
	background-position: 10px 50%;
	font-family: 'Koruri-Bold';
	font-size: 15px;
	color: #2c5379;
	line-height: 1.5;
	text-decoration: none;
	border-bottom: solid 5px #ffffff;
}
.headerPC__nav li a:hover,.headerPC__nav li.active a {
	border-bottom: solid 5px #fad982;
}
.headerPC__nav li:nth-child(2) a {
	background-image: url("../images/icon_tag.png");
}
.headerPC__nav li:nth-child(3) a {
	background-image: url("../images/icon_mail.png");
}
.headerPC__nav li a span {
	display: block;
    font-size: 12px;
	color: #e4803c;
}
.headerPC__link {
	position: absolute;
	top: 0;
	right: 0;
	width: 300px;
}
.headerPC__link li {
	display: table-cell;
	vertical-align: middle;
	width: 150px;
	height: 40px;
	background-color: #e4803c;
	cursor: pointer;
	color: #ffffff;
	text-align: center;
	user-select: none;
}
.headerPC__link li:first-child {
	background-color: #2c5379;
}
.headerPC__link li a {
	display: block;
	height: 40px;
	line-height: 40px;
	color: #ffffff;
	text-decoration: none;
}
.headerPC__link__pulldown {
	display: none;
	position: absolute;
	top: 40px;
	right: 0;
	width: 300px;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 0 20px;
	z-index: 999;
}
.headerPC__link__pulldown li {
	border-bottom: 1px solid #cacaca;
}
.headerPC__link__pulldown li:last-child {
	border-bottom: none;
}
.headerPC__link__pulldown li a {
	display: block;
	padding: 20px 0;
	text-decoration: none;
	font-size: 15px;
	font-weight: bold;
	color: #2c5379;
	text-align: center;
}

.headerSP {
	display: none;
	position: fixed;
    top: 0;
	width: 100%;
	height: 50px;
	border-bottom: solid 1px #cccccc;
	background-color: #ffffff;
	padding-right: 50px;
    z-index: 999;
}
@media (max-width: 980px) {
	.headerSP {
		display: block;
	}
}

.headerSP__nav {
	display: table;
	width: 100%;
}
.headerSP__nav li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

.headerSP__hbg {
	position: relative;
	width: 50px;
	height: 50px;
	border-right: solid 1px #cccccc;
}
.headerSP__hbg:after {
	position: absolute;
	left: 0;
	bottom: 4px;
	content: 'メニュー';
	display: block;
	width: 50px;
	color: #333333;
	font-size: 9px;
	text-decoration: none;
	text-align: center;
}
.headerSP__hbg.active {
	border-right: solid 1px #ffffff;
}
.headerSP__hbg.active:after {
    content: 'とじる';
}
.headerSP__trigger {
	position: relative;
	top: -2px;
	width: 24px;
	height: 16px;
	display: inline-block;
}
.headerSP__trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #e4803c;
	border-radius: 4px;
	transition: all 0.4s;
}
.headerSP__trigger span:nth-of-type(1) {
	top: 0;
}
.headerSP__trigger span:nth-of-type(2) {
	top: 7px;
}
.headerSP__trigger span:nth-of-type(3) {
	bottom: 0;
}
.headerSP__hbg.active .headerSP__trigger span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.headerSP__hbg.active .headerSP__trigger span:nth-of-type(2) {
	opacity: 0;
}
.headerSP__hbg.active .headerSP__trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}
.headerSP__search {
	position: absolute;
	top: 0;
	right: 0;
    width: 50px;
    height: 50px;
    background-color: #e4803c;
	border-left: solid 1px #cccccc;
	text-align: center;
}
.headerSP__search a {
	display: block;
	height: 50px;
	padding-top: 33px;
	background-image: url("../images/icon_search_noshadow.png");
	background-position: 50% 8px;
	background-repeat: no-repeat;
	background-size: 22px 22px;
	font-size: 9px;
	color: #ffffff;
	text-decoration: none;
}
.headerSP__navList {
	display: none;
	position: fixed;
	top: 49px;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	padding: 18px 40px 80px;
	overflow-y: scroll;
}
.headerSP__navList li {
	border-bottom: 1px solid #cccccc;
	list-style-type: none;
    color: #2c5379;
}
.headerSP__navList li a {
	display: block;
	padding: 10px 2px;
    color: #2c5379;
	text-decoration: none;
}
.headerSP__navList li span {
	display: block;
	font-size: 10px;
	color: #e4803c;
}
.headerSP__navList li.pulldown {
	position: relative;
	padding: 10px 2px;
	cursor: pointer;
}
.pulldown .pulldown-icon {
	position: absolute;
	right: 2px;
	top: 50%;
	display: block;
	height: 20px;
	width: 20px;
	margin-top: -10px;
	transform: rotate(90deg);
	transition: all 0.2s;
}
.pulldown .pulldown-icon:before {
	content: "";
	border: 10px solid transparent;
	border-bottom: 10px solid #fff;
	position: absolute;
	margin-top: -8px;
	z-index: 3;
}
.pulldown .pulldown-icon:after {
	content: "";
	border: 10px solid transparent;
	border-bottom: 10px solid #cccccc;
	position: absolute;
	margin-top: -9px;
	z-index: 2;
}
.pulldown.active .pulldown-icon {
	margin-top: -12px;
	transform: rotate(180deg);
}
.headerSP__navList li.target-pulldown {
	display: none;
	border-bottom: none;
	padding: 0 0 0 40px;
}


/*-----------------------------------------------------------------------------------------
    コンテンツ
-----------------------------------------------------------------------------------------*/
#contents {
}
.contHead {
	background-color: #f5f6f8;
	padding: 9px 0 15px;
}
.breadcrumbs {
	max-width: 1000px;
    margin: auto;
	padding-left: 4px;
	color: #999999;
	font-size: 11px;
}
.breadcrumbs a {
	color: #999999;
	font-size: 11px;
	text-decoration: none;
}
.breadcrumbs a:hover {
	text-decoration: underline;
}
.breadcrumbs_shop {
	max-width: 1000px;
    margin: auto;
	padding: 8px 10px;
	color: #999999;
	font-size: 11px;
}
.breadcrumbs_shop li {
	display: inline-block;
	vertical-align: bottom;
}
.breadcrumbs_shop a {
	color: #999999;
	font-size: 11px;
	text-decoration: none;
}
.breadcrumbs_shop a:hover {
	text-decoration: underline;
}

.contHead__ttl {
	max-width: 1000px;
    margin: 16px auto 0;
	padding-left: 4px;
	font-family: "Koruri-Bold";
	font-size: 22px;
}
.section-ttl {
	margin-top: 0;
	padding: 8px 0;
	background-color: #2c5379;
	font-family: "Koruri-Bold";
	color: #ffffff;
	font-size: 20px;
}
.section-ttl h2 {
	min-height: 24px;
	position: relative;
	display: block;
	max-width: 1000px;
	margin: auto;
	padding-left: 20px;
	font-size: 20px;
	line-height: 1.2;
}
.section-ttl h2:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 8px;
	margin-top: -11px;
	width: 5px;
	height: 24px;
	background-color: #e4803c;
}


@media (max-width: 980px) {
	.contHead {
		padding: 0;
		background: none;
	}
	.breadcrumbs {
		padding: 8px 10px;
		font-size: 11px;
	}
	.breadcrumbs a {
		font-size: 11px;
	}
	.contHead__ttl {
		position: relative;
		margin-top: 0;
		padding: 10px 0 10px 22px;
		background-color: #2c5379;
		color: #ffffff;
		font-size: 16px;
	}
	.contHead__ttl:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 10px;
		margin-top: -10px;
		width: 5px;
		height: 20px;
		background-color: #e4803c;
	}
	.section-ttl {
		padding: 10px 0 10px 10px;
	}
	.section-ttl:before {
		left: 10px;
	}
}





/* --------------------------------- modal --------------------------------- */
#modal-overlay{
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	z-index: 9999;
	background-color: rgba(0,0,0,0.7);
}
.modal-inner {
	display: none;
	position: absolute;
	top: 50px;
	left: 50%;
	width: 750px;
	min-height: 320px;
	margin-left: -375px;
	background-color: #ffffff;
	border-radius: 5px;
	z-index: 99999;
	padding: 24px 28px 40px;
}
@media screen and (max-width: 800px) {
	.modal-inner {
		width: 90%;
		margin-left: 0;
		left: 5%;
		padding: 20px 10px;
	}
}
.modalInner-ttl {
	position: relative;
	padding: 10px 14px;
	color: #2c5379;
	font-size: 18px;
	font-family: 'Koruri-bold';
	background-color: #eeeeee;
	padding-right: 40px;
}
@media screen and (max-width: 980px) {
	.modalInner-ttl {
		font-size: 16px;
	}
}
.modal-open {
	cursor: pointer;
}
.modal-close {
	position: absolute;
	display: block;
	width: 26px;
    height: 26px;
    right: 10px;
    top: 50%;
	margin-top: -13px;
	background: url("../images/close_btn.png") no-repeat center;
	background-size: cover;
	cursor: pointer;
}
@media screen and (max-width: 980px) {
	.modal-close {
    	right: 10px;
    	width: 18px;
    	height: 18px;
		margin-top: -8px;
    	background: url("../images/close_btn_sp.png") no-repeat center;
    	background-size: cover;
	}
}
.modal-cont {
	display: none;
}



/* ローダー */
.loader {
	display: none;
}
.active .loader {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	z-index: 99999999;
	background-color: rgba(0,0,0,0.7);
}
.active .loader div {
	position: fixed;
	top: 50%;
	left: 50%;
	margin: -32px 0 0 -32px;
}







/*-----------------------------------------------------------------------------------------
    ボタン
-----------------------------------------------------------------------------------------*/
.btn,.btn:link,.btn:visited {
	display: inline-block;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
	border: 1px solid transparent;
	background: none;
	border-radius: 6px;
	text-decoration: none;
	text-align: center;
	font-size: 14px;
	padding: 11px 8px;
	line-height: 1.2;
	word-break:break-all;
	text-overflow:clip;
}
/* 通常ボタン */
.default,.default:link,.default:visited {
	color: #ffffff;
	background-color: #999999;
	border-color: #999999;
}
.default:hover {
	color: #ffffff;
	background-color: #898989;
}
.default:active {
	background-color: #999999;
}
/* exe */
.exe,.exe:link,.exe:visited {
	color: #ffffff;
	background-color: #e4803c;
	border-color: #e4803c;
}
.exe:hover {
	color: #ffffff;
	background-color: #d87735;
}
.exe:active {
	background-color: #e4803c;
}
/* primary */
.primary,.primary:link,.primary:visited {
	color: #ffffff;
	background-color: #2c5379;
	border-color: #2c5379;
}
.primary:hover {
	color: #ffffff;
	background-color: #234668;
}
.primary:active {
	background-color: #2c5379;
}
/* warning */
.warning,.warning:link,.warning:visited {
	color: #ffffff;
	background-color: #f0ad4e;
	border-color: #f0ad4e;
}
.warning:hover {
	color: #ffffff;
	background-color: #f0ad4e;
}
.warning:active {
	background-color: #f0ad4e;
}
/* danger */
.danger,.danger:link,.danger:visited {
	color: #ffffff;
	background-color: #d9534f;
	border-color: #d9534f;
}
.danger:hover {
	color: #ffffff;
	background-color: #b93834;
}
.danger:active {
	background-color: #d9534f;
}

/* 使用不可ボタン */
.disable,.disable:link,.disable:visited,.disable:hover {
	color: #9E9E9E;
	border: solid 1px #D6D6D6;
	background: #DEDEDE;
	pointer-events: none;
	cursor: default;
	text-shadow: 1px 1px 1px white;
	box-shadow: none;
}
/* 大きいボタン */
.large {
	font-size: 18px; font-size: 1.8rem;
	padding: 14px 24px;
}
.small {
	font-size: 12px; font-size: 1.2rem;
	padding: 8px 16px;
}
.icon_nw {
	background: url("../images/icon_nw.png") no-repeat 100% 50%;
	background-size: 15px;
	padding-right: 22px;
}
.icon_nb {
	background: url("../images/icon_nb.png") no-repeat 100% 50%;
	background-size: 15px;
	padding-right: 22px;
}




/*-----------------------------------------------------------------------------------------
    フォームパーツ
-----------------------------------------------------------------------------------------*/
/* テキストボックス */
.textBox {
	border: 0;
	padding: 8px;
	border: solid 1px #cccccc;
	border-radius: 2px;
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
	font-size: 16px;
	line-height: normal;
}
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="password"]:focus {
	border: solid 1px #1863e1;
	background-color: #fffef2;
}

/* セレクトボックス */
.dropdown {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
	padding: 8px;
    background-image: url(../images/sel_arrow.png);
    background-repeat: no-repeat;
    background-position: 100% 50%;
    border: solid 1px #cacaca;
    background-color: #ffffff;
    border-radius: 2px;
    padding-left: 10px;
	font-size: 16px;
}
.dropdown::-ms-expand {
	display: none;
}

/* その他 */
label {
	vertical-align: middle;
	max-width: 100%;
	padding: 0 4px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	cursor: pointer;
}
input[type="checkbox"],input[type="radio"] { vertical-align:middle; }








/*-----------------------------------------------------------------------------------------
    フッター
-----------------------------------------------------------------------------------------*/
#footer {
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 30px;
	background-color: #eeeeee;
	padding: 8px 0 0;
	font-size: 10px;
	z-index: 1;
}
@media (max-width: 980px) {
	#footer {
		position: relative;
		height: auto;
		padding: 0;
		font-size: 11px;
	}
}
.footer__nav {
	float: left;
	padding-left: 20px;
}
.footer__nav li {
      display: table-cell;
      padding-right: 10px;
      position: relative;
}
.footer__nav li a {
	color: #333333;
	text-decoration: none;
}
.footer__nav li a:hover {
	text-decoration: underline;
}
.footer__nav li:after {
      content: "|";
      margin-left: 10px;
}
@media (max-width: 980px) {
	.footer__nav {
		float: none;
		padding: 0;
	}
	.footer__nav li {
		display: block;
		border-bottom: 1px solid #cccccc;
	}
	.footer__nav li:first-child {
		border-top: 1px solid #cccccc;
	}
	.footer__nav li a {
		padding: 10px;
		box-sizing: border-box;
		display: block;
	}
	.footer__nav li a:hover {
		text-decoration: none;
	}
	.footer__nav li:before {
		content: "";
		border: 10px solid transparent;
		border-left: 10px solid #eeeeee;
		position: absolute;
		right: 1px;
		top: 50%;
		margin-top: -10px;
		z-index: 3;
	}
	.footer__nav li:after {
		content: "";
		border: 10px solid transparent;
		border-left: 10px solid #cccccc;
		position: absolute;
		right: 0;
		top: 50%;
		margin-top: -10px;
		z-index: 2;
	}
}
.footer__copy {
      padding-right: 20px;
      float: right;
			letter-spacing: 1.3px;
}
@media (max-width: 980px) {
	.footer__copy {
		float: none;
		padding: 8px 0;
		font-size: 8px;
		letter-spacing: 0.03em;
		text-align: center;
	}
}
