@charset "utf-8";

/* ==========================================================================
   Foundation
   ========================================================================== */

/* Reset
   ----------------------------------------------------------------- */

html { overflow-y: visible; }
ol { list-style: none; }
button { border: none; padding: 0; }
th { font-weight: normal; }


/* Base
   ----------------------------------------------------------------- */

* { box-sizing: border-box; }
html { font-size: 62.5%; } @media screen and (max-width: 425px) { html { font-size: 50.78125%; /* (1.3/1.6)*(62.5) */ } }
body { min-width: 320px; font-size: 1.3em; font-size: 13px; line-height: 1.8; font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-feature-settings: "palt"; color: #000; -webkit-text-size-adjust: 100%; }
select, input, textarea{ font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
main { display: block; }

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a img {
	background-color: rgba(255, 255, 255, .01);
	opacity: 1;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
a:hover img {
	display: inline-block;
	opacity: .6;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media screen and (min-width: 768px) {
	a[href^="tel:"] { cursor: default; }
	a[href^="tel:"]:hover { color: inherit; text-decoration: none !important; }
	a[href^="tel:"]:hover img { opacity: 1; }
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}


/* ==========================================================================
   Layout
   ========================================================================== */

.l-wrap, .l-inner, .l-box {
	margin: 0 auto;
}
.l-wrap, .l-inner {
	padding-right: 5.333%; /* 40px/750px */
	padding-left: 5.333%;
}
@media screen and (min-width: 768px) {
	.l-wrap {
		position: relative;
		width: 100%;
		max-width: 1040px;
		padding-right: 10px;
		padding-left: 10px;
	}
	.l-inner {
		position: relative;
		width: 100%;
		max-width: 936px;
		padding-right: 10px;
		padding-left: 10px;
	}
	.sp-only{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.l-inner.is-sp-wide {
		padding-right: 0;
		padding-left: 0;
	}
	.pc-only{
		display: none;
	}
}


/* Header
   ----------------------------------------------------------------- */

.l-header {
	background-color: #EEEDF2;
	letter-spacing: normal;
}
.l-header-top {
	background-color: #EEEDF2;
	padding-top: 20px;
}
.l-header-bottom {
	background-color: #FAFAFA;
}
.l-header__logo img {
	width: 72px;
}
.l-header__logo a:hover img {
	opacity: 1;
}
@media screen and (min-width: 768px) {
	.l-header-top {
		height: 70px;
		padding-top: 18px;
	}
	.l-header-bottom {
		display: flex;
		align-items: center;
		padding: 17px 0;
	}
	.l-header__logo {
		float: left;
		margin-right: 50px;
	}
	.l-header__logo img {
		width: 103px;
	}
}


/* Nav
   ----------------------------------------------------------------- */

.l-header a:hover {
	text-decoration: underline;
}
.l-header__link > ul > li {
	float: left;
}
@media screen and (min-width: 768px) {
	.l-header__nav {
		float: left;
	}
	.l-header__nav>ul{
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	.l-header__nav > ul > li {
		position: relative;
		float: left;
		margin-right: 35px;
		line-height: 1.2;
	}
	.l-header__link {
		float: right;
		margin-top: 12px;
	}
	.l-header__link > ul > li {
		margin-left: 20px;
		font-size: 12px;
		line-height: 1;
	}
	.l-header__menu {
		min-width: 768px;
	}
	.l-header__menu > ul {
		display: flex;
		align-items: center;
		justify-content: space-around;
	}
	.l-header__menu > ul > li {
		position: relative;
		flex-basis: 100%;
		color: #666;
		padding: 0 20px;
		font-size: 13px;
		line-height: 1.5;
		white-space: nowrap;
	}
	/*
	.l-header__menu > ul > li:first-child { padding-left: 0; }
	.l-header__menu > ul > li:last-child { padding-right: 0; }
	*/
	.l-header__menu > ul > li:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		background-color: #ccc;
		width: 1px;
		height: 25px;
		margin-top: -12px;
	}
	.l-header__menu > ul > li:last-child:after {
		content: none;
	}
	.l-header__menu > ul > li a {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.l-header__menu > ul > li a.is-current {
		color: #E60012;
	}
	.l-header__menu > ul > li i {
		margin-right: 12px;
	}
	.l-header__menu > ul > li img {
		max-width: none;
	}
	#gnav-06:hover .drawer-dropdown-menu{
		display: block;
	}
	.l-header__nav > ul > li#gnav-06:hover{
		text-decoration: none;
		color:#dc001c;
	}
}
@media screen and (max-width: 1005px){
.l-header-top {
    height: auto;
}
.l-header__link {
    float: right;
    margin: 0 0 12px;
}
}
@media screen and (max-width: 767px) {
	.l-header__nav {
		padding-right: 0;
		padding-left: 0;
	}
	.l-header__nav > ul > li {
		/* border-bottom: solid 1px #e4e4e4; */
	}
	.l-header__nav a, .l-header__menu a {
		display: block;
		position: relative;
		z-index: 1;
		padding: 15px 5%;
	}
	.l-header__link {
		padding: 15px 5%;
	}
	.l-header__link > ul > li {
		margin-right: 20px;
	}
	.l-header__link > ul > li:last-child {
		margin-right: 0;
	}
}


/* Drawer
   ----------------------------------------------------------------- */

.drawer-nav.is-rwd {
	z-index: 1000;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate(0px, 0px) translateZ(1px);
	background-color: #eeedf2;
}
.drawer-hamburger-icon {
	margin-top: 0;
}
@media screen and (min-width: 768px) {
	.drawer-hamburger.is-rwd {
		display: none;
	}
	.drawer-nav.is-rwd {
		overflow: visible;
		position: static;
		top: auto;
		right: auto;
		left: auto;
		background-color: transparent;
		color: inherit;
		width: auto;
		height: auto;
		transform: none;
	}
}
@media screen and (max-width: 767px) {
	.drawer-hamburger {
		position: absolute;
		width: 25px;
		padding: 29px 20px;
	}
	.drawer-hamburger-icon:before {
		top: -8px;
	}
	.drawer-hamburger-icon:after {
		top: 8px;
	}
	.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
		background-color: #707070;
		height: 2px;
	}
	.drawer-open .drawer-hamburger-icon:before, .drawer-open .drawer-hamburger-icon:after {
		background-color: #707070;
	}
	.drawer-overlay {
		background: none;
	}
	.drawer-nav {
		color: #000;
		width: 80%;
	}
	.l-header { height: 60px; }
	.drawer--right .drawer-nav { top: 60px; right: -100%; }
	.drawer--right.drawer-open .drawer-hamburger { right: 0; }
	.drawer-menu {
		border-top: solid 1px #d4d6d4;
		padding-bottom: 60px;
	}
}


/* Dropdown
   ----------------------------------------------------------------- */

.drawer-dropdown.open > a {
	color: #E60012;
}
.drawer-dropdown.open .drawer-caret {
	transform: none;
}
.drawer-dropdown-menu {
	background-color: #fff;
}
.drawer-dropdown-menu li {
	border-bottom: solid 1px #efeef3;
	color: #666;
}
.drawer-dropdown-menu li:last-child {
	border-bottom: none;
}
.drawer-dropdown-menu li i {
	display: inline-block;
	width: 30px;
	margin-right: 20px;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.drawer-dropdown .drawer-caret {
		display: none;
	}
	.l-header__nav>ul>li{
		display: -webkit-box;
	    display: -webkit-flex;
	    display: -ms-flexbox;
	    display: flex;
		-webkit-box-align: center;
	    -webkit-align-items: center;
	    -ms-flex-align: center;
	    align-items: center;
		height: 40px;
	    box-sizing: content-box;
	    padding-bottom: 12px;
	}
	.drawer-dropdown.gnav-02:hover>a,.drawer-dropdown.gnav-06:hover>a{
		color: #ea212d;
		text-decoration: none!important;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
	}

	.drawer-dropdown.gnav-02:hover .drawer-dropdown-menu,
	.drawer-dropdown.gnav-06:hover .drawer-dropdown-menu {
		display: block;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		z-index: 999;
	}
	.drawer-dropdown .drawer-dropdown-menu {
		z-index: 1;
		position: absolute;
		width: 200px;
		top: 52px;
		left: -17px;
		box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, .2);
	}
	.drawer-dropdown-menu li {
		border-bottom: solid 1px #efeef3;
		color: #666;
		padding:1.5em 1em;
	}
}
@media screen and (max-width: 767px) {
	.drawer-dropdown {
		position: relative;
	}
	.drawer-dropdown .drawer-caret {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1;
		background: url(/shared/img/nav_ico02.svg) no-repeat center center;
		background-size: 20px 20px;
		border: none;
		width: 50px;
		height: 52px;
		margin: 0;
		cursor: pointer;
	}
	.drawer-dropdown.open .drawer-caret {
		background-image: url(/shared/img/nav_ico01.svg);
	}
	.drawer-dropdown-menu a {
		padding-right: 5%;
		padding-left: 5%;
	}
	.drawer-dropdown-menu a.has-ico-right.ico-link {
		display: inline-block;
		padding-right: 22px;
	}

}


/* Footer
   ----------------------------------------------------------------- */

.l-footer {
	position: relative;
	background-color: #EEEDF2;
	padding-bottom: 30px;
	letter-spacing: normal;
}
.l-footer a:hover {
	color: inherit;
	text-decoration: underline;
}
.l-footer-top__nav dl {
	border-bottom: solid 1px rgba(0, 0, 0, .1);
}
.l-footer-top__nav dt {
	font-size: 18px;
	font-size: 1.8rem;
	/* font-weight: bold; */
}
.l-footer-top__nav dd {
	color: #707070;
}
.l-footer-top__nav li {
	margin-bottom: 10px;
}
.l-footer-top__nav li:last-child {
	margin: 0;
}
.l-footer-middle {
	padding: 20px 0;
}
.l-footer-middle li {
	display: inline-block;
	color: #333;
}
.l-footer-middle__sns ul {
	font-size: 0;
}
.l-footer-middle__sns img {
	width: 30px;
}
.l-footer-bottom {
	position: relative;
	padding-top: 10px;
}
.l-footer-bottom__menu ul {
	font-size: 0;
}
.l-footer-bottom__menu li {
	display: inline-block;
	color: #999;
	font-size: 12px;
	line-height: 1;
}
.copyright {
	display: block;
	color: #999;
	font-size: 11px;
	line-height: 1;
}
.l-footer__logo img {
	width: 73px;
}
.l-footer-page {
	background-color: #fff;
}
.l-footer__menu li {
	float: left;
	font-size: 12px;
}
@media screen and (min-width: 768px) {
	.l-footer-top {
		padding-top: 16px;
		padding-bottom: 16px;
	}
	.l-footer-top__nav dl {
		clear: both;
		padding: 40px 0 30px;
	}
	.l-footer-top__nav dt {
		clear: both;
		float: left;
		width: 272px;
	}
	.l-footer-top__nav dd {
		float: left;
		margin-top: 3px;
	}
	.l-footer-top__nav li {
		float: left;
		margin-right: 40px;
	}
	.l-footer-middle > div {
		float: right;
	}
	.l-footer-middle__menu,
	.l-footer-middle__sns {
		float: left;
	}
	.l-footer-middle__menu {
		margin-top: 6px;
	}
	.l-footer-middle__menu li {
		margin-left: 25px;
	}
	.l-footer-middle__sns {
		margin-left: 10px;
	}
	.l-footer-middle__sns li {
		margin-left: 20px;
	}
	.l-footer-bottom {
		padding-top: 40px;
	}
	.l-footer-bottom__menu,
	.copyright {
		float: left;
	}
	.l-footer-bottom__menu li {
		margin-right: 40px;
	}
	.l-footer__logo {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.l-footer__logo img {
		width: 91px;
	}
}
@media screen and (max-width: 767px) {
	.l-footer-top__nav {
		border-bottom: solid 1px rgba(0, 0, 0, .1);
	}
	.l-footer-top__nav li {
	    margin-bottom: 18px;
	    line-height: 1.25;
	}
	.l-footer-top__nav dl:nth-child(1) {
		padding: 20px 0;
	}
	.l-footer-top__nav dl:nth-child(2),
	.l-footer-top__nav dl:nth-child(3) {
		float: left;
		border-bottom: none;
		width: 50%;
		margin: 20px 0;
		padding-right: 1em
	}
	.l-footer-top__nav dl:nth-child(2) {
		border-right: solid 1px rgba(0, 0, 0, .1);
	}
	.l-footer-top__nav dl:nth-child(3) {
		padding-left: 20px;
	}
	.l-footer-top__nav dt {
		margin-bottom: 15px;
	}
	.l-footer-middle {
		text-align: center;
	}
	.l-footer-middle li {
		margin: 0 10px;
	}
	.l-footer-middle__menu {
		margin-bottom: 20px;
	}
	.l-footer-middle__menu li {
		margin: 0;
		padding: 5px;
		display: block;
		text-align: center;
	}
	.l-footer-bottom__menu {
		text-align: center;
		margin-bottom: 3rem
	}
	.l-footer-bottom__menu li{
		padding: 1rem
	}
	.copyright {
		float: left;
	}
	.l-footer__logo {
		float: right;
	}
	.l-footer__menu {
		border-top: solid 1px #eeedf3;
	}
	.l-footer__menu li {
		width: 33.333%;
	}
	.l-footer__menu li:nth-child(3n+1) {
		clear: both;
	}
	.l-footer__menu li a {
		display: block;
		border-bottom: solid 1px #eeedf3;
		border-left: solid 1px #eeedf3;
		padding: 15px 10px 10px;
		text-align: center;
	}
	.l-footer__menu li:nth-child(3n+1) a {
		border-left: none;
	}
	.l-footer__menu li i {
		display: block;
		margin-bottom: 10px;
	}
}


/* Main
   ----------------------------------------------------------------- */

.l-contents {
	overflow: hidden;
	padding-bottom: 16%;
}
.l-main {
	padding-top: 16%;
}
.l-section {
	padding-bottom: 16%;
}
@media screen and (min-width: 768px) {
	.l-contents {
		padding-bottom: 100px;
	}
	.l-main {
		padding-top: 100px;
	}
	.l-section {
		padding-bottom: 100px;
	}
}
@media screen and (max-width: 767px) {
}

.l-grid > * { margin-bottom: 30px; }
.l-grid > a { display: block; }

@media screen and (min-width: 768px) {
	.l-grid.c-grid-col-2 > *:nth-child(odd) { padding-right: 35px; }
	.l-grid.c-grid-col-2 > *:nth-child(even) { padding-left: 35px; }
	.l-grid.c-grid-col-half-2 > *:nth-child(odd) { padding-right: 18px; }
	.l-grid.c-grid-col-half-2 > *:nth-child(even) { padding-left: 18px; }
	.l-grid.c-grid-col-2.is-auto > * { padding: 0; }

	.l-grid.c-grid-col-3 > *:nth-child(3n+1) { padding-right: 20px; }
	.l-grid.c-grid-col-3 > *:nth-child(3n+2) { padding: 0 10px; }
	.l-grid.c-grid-col-3 > *:nth-child(3n) { padding-left: 20px; }
	.l-grid.c-grid-col-half-3 > *:nth-of-type(3n+1) { padding-right: 10px; }
	.l-grid.c-grid-col-half-3 > *:nth-of-type(3n+2) { padding: 0 5px; }
	.l-grid.c-grid-col-half-3 > *:nth-of-type(3n) { padding-left: 10px; }

	.l-grid.c-grid-col-4 { margin-right: -50px; }
	.l-grid.c-grid-col-4 > * { padding-right: 50px; }
	.l-grid.c-grid-col-half-4 { margin-right: -25px; }
	.l-grid.c-grid-col-half-4 > * { padding-right: 25px; }

	.l-grid.is-non-gap > * { margin-right: 0 !important; padding-right: 0 !important; padding-left: 0 !important; }
}
@media screen and (max-width: 767px) {
	.l-grid > * { margin-bottom: 20px; }
	.l-grid.c-grid-col-half-2 > * { margin-bottom: 30px; }
	.l-grid > *:last-child { margin-bottom: 0; }

	.l-grid.c-grid-sp-col-2 > *:nth-child(odd) { padding-right: 7px; }
	.l-grid.c-grid-sp-col-2 > *:nth-child(even) { padding-left: 7px; }

	.l-grid.c-grid-sp-col-3 > *:nth-of-type(3n+1) { padding-right: 7px; }
	.l-grid.c-grid-sp-col-3 > *:nth-of-type(3n+2) { padding: 0 3px; }
	.l-grid.c-grid-sp-col-3 > *:nth-of-type(3n) { padding-left: 7px; }
}


/* ==========================================================================
   Object
   ========================================================================== */

/* Component
   ----------------------------------------------------------------- */

@media screen and (min-width: 768px) {
	*[class^=c-grid-] > *,
	*[class*= c-grid-] > * {
		float: left;
	}
	*[class^="c-grid-"]:before,
	*[class*=" c-grid-"]:before,
	*[class^="c-grid-"]:after,
	*[class*=" c-grid-"]:after {
		content: " ";
		display: table;
	}
	*[class^="c-grid-"]:after,
	*[class*=" c-grid-"]:after {
		clear: both;
	}
	*[class^="c-grid-"],
	*[class*=" c-grid-"] {
		*zoom: 1;
	}
	.c-grid-col-2 > *,
	.c-grid-col-half-2 > * { width: 50%; }
	.c-grid-col-2.is-auto > * { width: auto; }
	.c-grid-col-2.is-auto > *:nth-child(even) { float: right; }
	.c-grid-col-3 > *,
	.c-grid-col-half-3 > * { width: 33.333%; }
	.c-grid-col-4 > *,
	.c-grid-col-half-4 > * { width: 25%; }
	.c-grid-col-5 > * { width: 20%; }

	.c-grid-col-2 > *:nth-child(odd),
	.c-grid-col-half-2 > *:nth-child(odd),
	.c-grid-col-3 > *:nth-child(3n+1),
	.c-grid-col-half-3 > *:nth-of-type(3n+1),
	.c-grid-col-4 > *:nth-child(4n+1),
	.c-grid-col-half-4 > *:nth-child(4n+1),
	.c-grid-col-5 > *:nth-child(5n+1) {
		clear: both;
	}
	.c-grid-col-2 > *:nth-last-child(-n+2),
	.c-grid-col-half-2 > *:nth-last-child(-n+2),
	.c-grid-col-3 > *:nth-last-child(-n+3),
	.c-grid-col-half-3 > *:nth-last-of-type(-n+3),
	.c-grid-col-4 > *:nth-last-child(-n+4),
	.c-grid-col-half-4 > *:nth-last-child(-n+4),
	.c-grid-col-5 > *:nth-last-child(-n+5) {
		margin-bottom: 0;
	}

	.c-grid-tbl { display: table; width: 100%; }
	.c-grid-tbl > * { display: table-cell; float: none; vertical-align: middle; }
}
@media screen and (max-width: 767px) {
	*[class^=c-grid-sp-] > *,
	*[class*= c-grid-sp-] > * {
		float: left;
	}
	*[class^="c-grid-sp-"]:before,
	*[class*=" c-grid-sp-"]:before,
	*[class^="c-grid-sp-"]:after,
	*[class*=" c-grid-sp-"]:after {
		content: " ";
		display: table;
	}
	*[class^="c-grid-sp-"]:after,
	*[class*=" c-grid-sp-"]:after {
		clear: both;
	}
	*[class^="c-grid-sp-"],
	*[class*=" c-grid-sp-"] {
		*zoom: 1;
	}

	*[class^="c-grid-sp-"]:before,
	*[class*=" c-grid-sp-"]:before,
	*[class^="c-grid-sp-"]:after,
	*[class*=" c-grid-sp-"]:after {
		content: " ";
		display: table;
	}

	.c-grid-sp-col-2 > * { width: 50%; }
	.c-grid-sp-col-2 > *:nth-child(odd) { clear: both; }
	.c-grid-sp-col-2 > *:nth-last-child(-n+2) { margin-bottom: 0; }

	.c-grid-sp-col-3 > * { width: 33%; }
	.c-grid-sp-col-3 > *:nth-child(3n+1) { clear: both; }
	.c-grid-sp-col-3 > *:nth-last-child(-n+3) { margin-bottom: 0; }
}

.c-list-inline {
	font-size: 0;
	line-height: 0;
	text-align: center;
}
.c-list-inline li {
	display: inline-block;
	padding: 0 1.5em;
	line-height: 1;
}
.c-list-inline li:not(:last-child) {
	border-right: solid 1px;
}

.c-youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.c-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Js */
.js-tab-button, .js-toggle-on {
	cursor: pointer;
}
.js-tab-button.is-active {
	cursor: default;
}
.js-tab-content, .js-toggle-next {
	display: none;
}
.js-tab-content.is-active {
	display: block;
}
@media screen and (max-width: 767px) {
	.js-sp-toggle-on {
		cursor: pointer;
	}
	.js-sp-toggle-next {
		display: none;
	}
}


/* Module
   ----------------------------------------------------------------- */

.has-ico-right {
	background-position: right 1px center;
	background-repeat: no-repeat;
	padding-right: 22px;
}
.has-ico-left {
	background-position: left center;
	background-repeat: no-repeat;
	padding-left: 22px;
}
.ico-link { background-image: url(/shared/img/ic_01.png); }
.ico-arrow { background-image: url(/shared/img/ar_03.svg); background-size: 7px 13px; padding-left: 17px;}
.ico-arrow-down { background-image: url(/shared/img/ar_04.png); }

.has-bdr-bottom {
	border-bottom: solid 1px rgba(0, 0, 0, .1);
	padding-bottom: 15px;
}

.news-label {
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 5px 10px;
	font-size: 12px;
	text-align: center;
	line-height: 1;
}


/* Project
   ----------------------------------------------------------------- */

/* Breadcrumb */
.p-breadcrumb {
	overflow: hidden;
}
.p-breadcrumb li {
	display: inline;
	color: #B4B4B4;
	font-size: 12px;
}
.p-breadcrumb li:not(:last-child) span {
	margin-right: .5em;
}
.p-breadcrumb a {
	color: #B4B4B4;
}
.p-breadcrumb a:hover {
	text-decoration: underline;
}
.p-breadcrumb a + meta + span {
	color: #B4B4B4;
}
.p-breadcrumb li > h1 {
	display: inline;
}
@media screen and (min-width: 768px) {
	.p-breadcrumb {
		margin-bottom: 35px;
		padding: 15px 0;
	}
}
@media screen and (max-width: 767px) {
	.p-breadcrumb {
		border-bottom: solid 1px #EBEBEB;
		margin-bottom: 6%;
		padding: 10px 0;
	}
}

/* Heading Text */
*[class^=p-ttl-lv-],
*[class*= p-ttl-lv-] {
	margin-bottom: 6%;
	line-height: 1.5;
}

.p-ttl-lv-01 { font-size: 40px; font-size: 3.0rem; }
.p-ttl-lv-02 { font-size: 26px; font-size: 2.6rem; }
.p-ttl-lv-03 { font-size: 24px; font-size: 2.4rem; }
.p-ttl-lv-04 { font-size: 16px; }

@media screen and (min-width: 768px) {
	*[class^=p-ttl-lv-],
	*[class*= p-ttl-lv-] {
	}
	.p-ttl-lv-01 {
		margin-bottom: 60px;
	}
	.p-ttl-lv-02 {
		margin-bottom: 60px;
	}
	.p-ttl-lv-03 {
		margin-bottom: 40px;
	}
	.p-ttl-lv-04 {
		margin-bottom: 40px;
	}
}
@media screen and (max-width: 767px) {
	.p-ttl-lv-01 {
	}
}

/* Button */
.p-btn {
	display: inline-block;
	width: 100%;
	padding: 12px 10px;
	font-size: 14px;
	text-align: center;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.p-btn.is-full-width {
	width: 100%;
}
.p-btn.is-multiline {
}
.p-btn.has-ico {
}
.p-btn-prim {
	background-color: #C01937;
	color: #fff;
	border-radius: 5px;
}
.p-btn-prim:hover {
	opacity: .6;
}
.p-btn-sec {
	background-color: #FE8837;
	color: #fff;
	border-radius: 5px;
}
.p-btn-sec:hover {
	opacity: .6;
}
.p-btn-tert {
	background-color: #dc001c;
	color: #fff;
	border-radius: 25px;
	width: auto;
}
.p-btn-tert:hover {
	opacity: .6;
}

.p-btn-small,
.p-btn-medium {
}
.p-btn-small.has-ico,
.p-btn-medium.has-ico {
}
@media screen and (min-width: 768px) {
	.p-btn {
		width: auto;
		height: 50px;
		padding: 12px 20px;
	}
	.p-btn.is-multiline {
	}
	.p-btn-small {
	}
	.p-btn-small.has-ico {
	}
	.p-btn-medium {
	}
	.p-btn-medium.has-ico {
	}
	.p-btn-prim {
	}
}
@media screen and (max-width: 767px) {
}

/* List */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}

/* Table */
.p-tbl {
	width: 100%;
}
.p-tbl-prim {
	border-top: solid 1px rgba(0, 0, 0, .05);
}
.p-tbl-prim th, .p-tbl-prim td {
	border-bottom: solid 1px rgba(0, 0, 0, .05);
	color: #666;
	padding: 10px;
}
.p-tbl-prim th {
	background-color: rgba(211, 211, 211, .1);
	width: 40%;
	text-align: left;
}
.p-tbl-sec th {}
.p-tbl-sec td {}
@media screen and (min-width: 768px) {
	.p-tbl-prim th, .p-tbl-prim td {
		padding: 15px 20px;
	}
	.p-tbl-prim th {
		width: 25%;
		white-space: nowrap;
	}
}
@media screen and (max-width: 767px) {
}

/* Link */
a.p-link-color, .p-link-color a {
	color: #dc001c;
	text-decoration: underline;
}
a.p-link-color:hover, .p-link-color a:hover {
	text-decoration: none;
}

/* Box */

/* Slider */
.slick-slide img {
	width: 100%;
	margin: 0 auto;
}
.slick-dots {
	position: static;
	bottom: auto;
	margin-top: 20px;
}
.slick-dots li,
.slick-dots li button,
.slick-dots li button:before {
	width: 12px;
	height: 12px;
	vertical-align: middle;
}
.slick-dots li button:before {
	background-color: #767676;
	border-radius: 12px;
}
.slick-dots li button:before,
.slick-dots li.slick-active button:before,
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	color: transparent;
}

/* Form */
.p-input {
	background-color: #f6f6f6;
	border: solid 1px #ccc;
	border-radius: 6px;
	padding: 10px 15px;
	font-size: 18px;
	font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
	.p-input {
		height: 50px;
	}
}

/* Modal */

/* Sec */
.p-sec-heading {
	background-color: #fafafa;
	padding: 8% 0;
}
.p-sec-heading__ttl {
	margin-bottom: 0;
}
.p-sec-heading__txt {
	font-size: 14px;
}
@media screen and (min-width: 768px) {
	.p-sec-heading {
		padding: 80px 0;
	}
}
@media screen and (max-width: 767px) {
	.p-sec-heading {
		border-top: solid 1px #ebebeb;
	}
}

.p-sec-menu dt {
	border: solid 1px #E5E5E5;
	margin-bottom: 15px;
	overflow: hidden;
}
.p-sec-menu dt,
.p-sec-menu dt img {
	border-radius: 10px 10px 0 10px;
}
.p-sec-menu dd {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.5;
}
.p-sec-index li {
	margin-bottom: 35px;
}
.p-sec-index a {
	display: block;
	position: relative;
}
.p-sec-index dd {
	padding-top: 15px;
}
.p-sec-index__ttl {
	margin-bottom: 5px;
	font-size: 16px;
	font-size: 1.6rem;
	/* font-weight: bold; */
}
.p-sec-index__ico {
	position: absolute;
	right: 20px;
	bottom: 20px;
	font-size: 0;
}
@media screen and (min-width: 768px) {
	.p-sec-slider {
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.p-sec-slider .slick-slide {
		border-radius: 16px;
	}
	.p-sec-slider img {
		border-radius: 16px;
	}
	.p-sec-menu dt,
	.p-sec-menu dt img {
		border-radius: 20px 20px 0 20px;
	}
	.p-sec-index a {
		border: solid 1px #EFEFEF;
	}
	.p-sec-index dt {
		display: table-cell;
		width: 45.6662%; /* 200px/438px */
		max-width: 200px;
	}
	.p-sec-index dd {
		display: table-cell;
		padding: 20px;
		vertical-align: top;
	}
}
@media screen and (max-width: 767px) {
	.p-sec-index dt {
		text-align: center;
	}
	.p-sec-index dt img {
		width: 100%;
	}
	.p-sec-index__ttl {
		font-size: 15px;
	}
	.p-sec-index__ico {
		display: none;
	}
}

.p-sec-information li {
	margin-bottom: 20px;
}
.p-sec-information li:last-child {
	margin-bottom: 0;
}
.p-sec-information dt {
/*	color: #ccc;*/
}
.p-sec-information .news-label {
	width: 90px;
	margin-left: 30px;
}
.p-sec-information dd {
}
@media screen and (min-width: 768px) {
	.p-sec-information li {
		margin-bottom: 40px;
	}
	.p-sec-information dt {
		float: left;
		margin-right: 30px;
		width: 190px;
	}
	.p-sec-information dt .news-label {
		float: right;
		margin-left: 0;
	}
	.p-sec-information dd {
		overflow: hidden;
	}
}
@media screen and (max-width: 767px) {
	.p-sec-information dt {
		margin-bottom: 10px;
	}
	.p-sec-information dt {
		width: 200px;
	}
	.p-sec-information dt .news-label {
		float: right;
	}
	.p-sec-information dd {
		clear: both;
	}
}


/* Utitlity
   ----------------------------------------------------------------- */

.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

@media screen and (min-width: 768px) { .u-d-sp { display: none !important; } }
@media screen and (max-width: 767px) { .u-d-pc { display: none !important; } }

.u-list-disc {
	list-style: disc outside;
	margin-left: 1.2em;
}
.u-list-decimal {
	list-style: decimal outside;
	margin-left: 1.2em;
}

.u-anchor-tdn a { text-decoration: none !important; }
.u-anchor-tdn a:hover { text-decoration: underline !important; }
.u-anchor-tdu a { text-decoration: underline !important; }
.u-anchor-tdu a:hover { text-decoration: none !important; }

.u-mt-l { margin-top: 60px !important; }
.u-mt-m { margin-top: 50px !important; }
.u-mt-s { margin-top: 40px !important; }
.u-mt-xs { margin-top: 30px !important; }
.u-mb-l { margin-bottom: 60px !important; }
.u-mb-m { margin-bottom: 50px !important; }
.u-mb-s { margin-bottom: 40px !important; }
.u-mb-xs { margin-bottom: 30px !important; }

.u-mt-0 { margin-top: 0 !important; }
.u-mb-0 { margin-bottom: 0 !important; }
.u-p-0 { padding: 0 !important; }
.u-pt-0 { padding-top: 0 !important; }
@media screen and (min-width: 768px) {
	.u-pr-5 { padding-right: 5px !important; }
	.u-pl-5 { padding-left: 5px !important; }
}

.u-fs-l { font-size: 18px; font-size: 1.8rem; }
.u-fs-m { font-size: 14px !important; }
.u-fs-s { font-size: 13px !important; }
.u-fs-xs { font-size: 12px !important; }
.u-fw-b { font-weight: bold !important; }

.u-ta-c { text-align: center !important; }
.u-ta-r { text-align: right !important; }
.u-ta-l { text-align: left !important; }

.u-td-n { text-decoration: none !important; }
.u-td-u { text-decoration: underline !important; }

.u-ti-1 { display: block; margin-left: 1em; text-indent: -1em; }
.u-ti-2 { display: block; margin-left: 2em; text-indent: -2em; }

.u-lh-l { line-height: 2.1 !important; }

.u-ws-nw { white-space: nowrap !important; }

@media screen and (max-width: 767px) {
	.u-mt-l { margin-top: 30px !important; }
	.u-mb-l { margin-bottom: 30px !important; }
	.u-mt-m { margin-top: 30px !important; }
	.u-mb-m { margin-bottom: 30px !important; }
	.u-mt-s { margin-top: 30px !important; }
	.u-mb-s { margin-bottom: 30px !important; }
	.u-mt-xs { margin-top: 20px !important; }
	.u-mb-xs { margin-bottom: 20px !important; }

	.u-fs-l { font-size: 15px !important; }
}