@charset "UTF-8";
/*
example
@include taJ
*/
/*************************
共通class
************************ */
.fontbold {
	font-weight: bold;
}

.underline {
	text-decoration: underline;
}

.frd {
	color: #d8261c;
	font-weight: bold;
}

.fbl {
	color: #00aadb;
	font-weight: bold;
}

.fgn {
	color: #adff65;
	font-weight: bold;
}

.f24 {
	font-size: 24px;
	font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
	.f24 {
		font-size: 20px;
		font-size: 2rem;
	}
}

.f30 {
	font-size: 30px;
	font-size: 3rem;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
	.f30 {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

.f36 {
	font-size: 36px;
	font-size: 3.6rem;
}

@media screen and (max-width: 768px) {
	.f36 {
		font-size: 28px;
		font-size: 2.8rem;
		line-height: 1.2;
	}
}

.bgy {
	background-color: #feeb35;
	display: inline-block;
	padding: 0.6rem;
	font-weight: 700;
	line-height: 1;
}

.ubg {
	display: inline-block;
	position: relative;
}

.ubg:after {
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background-color: #38cc74;
	position: absolute;
	bottom: -0.4rem;
	left: 0;
}

@media screen and (max-width: 768px) {
	.ubg:after {
		content: none;
	}
}

.moviebox .movie {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.moviebox .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

html {
	font-family: Arial, ryo-gothic-plusn, "游ゴシック","游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",verdana,"メイリオ","Meiryo","Osaka",sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	     text-size-adjust: 100%;
	font-size: 62.5%;
	font-weight: 400;
	height: 100%;
}

@media screen and (min-width: 769px) {
	html {
		-webkit-font-feature-settings: "palt";
		        font-feature-settings: "palt";
	}
	html.safari {
		-webkit-font-feature-settings: "pkna";
		        font-feature-settings: "pkna";
		letter-spacing: 0;
	}
}

body,
dd,
div,
dl,
dt,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
td,
th,
ul {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	word-break: break-all;
}

article,
aside,
figure,
footer,
header,
main,
nav,
section {
	display: block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

figure {
	font-size: 0;
}

figure figcaption {
	line-height: 1.5;
}

button,
input,
select,
textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	background: none;
	padding: 0;
	margin: 0;
	outline: 0;
	border: none;
	font: inherit;
	overflow: visible;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

button,
select {
	cursor: pointer;
	text-transform: none;
}

select::-ms-expand {
	display: none;
}

img {
	-ms-interpolation-mode: bicubic;
	border-style: none;
}

@media screen and (max-width: 768px) {
	img {
		width: 100%;
		height: auto;
	}
}

svg:not(:root) {
	overflow: hidden;
}

hr {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	height: 0;
	overflow: visible;
}

b,
strong {
	font-weight: inherit;
	font-weight: bolder;
}

a {
	outline: 0;
	text-decoration: none;
	color: inherit;
	background-color: transparent;
}

li {
	list-style: none;
}

sub,
sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

/* .link */
a {
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	display: block;
}

.mouse a:hover {
	opacity: 0.8;
}

a[href^="tel:"] {
	cursor: default;
}

a[href^="tel:"]:hover {
	opacity: 1;
}

/* 共通CSS */
@media screen and (max-width: 480px) {
	.pc {
		display: none !important;
	}
}

.sp {
	display: none !important;
}

@media screen and (max-width: 480px) {
	.sp {
		display: block !important;
	}
}

.tbl {
	display: none !important;
}

@media screen and (min-width: 769px) and (max-width: 992px) {
	.tbl {
		display: block !important;
	}
}

.tbs {
	display: none !important;
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	.tbs {
		display: block !important;
	}
}

.btn {
	border: 2px solid #d8261c;
	border-radius: 4px;
	color: #d8261c;
	display: block;
	height: 40px;
	background-color: transparent;
	line-height: 22px;
	width: 280px;
	font-weight: 700;
	text-align: center;
	padding: 9px 15px;
	margin: 0 auto;
}

@media screen and (max-width: 480px) {
	.btn {
		width: 100%;
	}
}

.mouse .btn:hover {
	opacity: .8;
}

.btnbox {
	text-align: center;
}

.btngrd {
	width: calc(100% - 4rem);
	max-width: 68rem;
	font-size: 24px;
	font-size: 2.4rem;
	display: inline-block;
	border-radius: 6px;
	line-height: 1.3;
	background-image: -webkit-linear-gradient(315deg, #d8261c, #ff9e99);
	background-image: linear-gradient(135deg, #d8261c, #ff9e99);
	color: #fff;
	font-weight: 700;
	text-align: center;
	letter-spacing: -.04em;
	margin: 0 auto;
	padding: 1.2rem 0;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	position: relative;
}

@media screen and (min-width: 993px) {
	.btngrd {
		font-size: 48px;
		font-size: 4.8rem;
	}
}

@media screen and (max-width: 992px) {
	.btngrd {
		font-size: 36px;
		font-size: 3.6rem;
	}
}

@media screen and (max-width: 768px) {
	.btngrd {
		font-size: 24px;
		font-size: 2.4rem;
	}
}

.btngrd:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border: 4px solid transparent;
	border-left: 6px solid #fff;
	position: absolute;
	top: calc(50% - 4px);
	right: 1rem;
}

.btngrd span {
	font-size: 19px;
	font-size: 1.9rem;
	font-weight: 500;
	display: block;
}

@media screen and (min-width: 993px) {
	.btngrd span {
		font-size: 38px;
		font-size: 3.8rem;
	}
}

@media screen and (min-width: 769px) {
	.btngrd span {
		font-size: 28px;
		font-size: 2.8rem;
	}
}

.mouse .btngrd:hover {
	opacity: .8;
}

/*************************
common
************************ */
body {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.42857;
	color: #333;
}

.container {
	max-width: 940px;
	margin: 0 auto;
}

@media screen and (max-width: 992px) {
	.container {
		max-width: 728px;
	}
}

p {
	margin-bottom: 3rem;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: .05em;
}

.ie p {
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
}

p:last-of-type {
	margin-bottom: 0;
}

/*************************
inview
************************ */
.in {
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}

.in.show {
	opacity: 1;
}

.inb {
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	-webkit-transform: translateY(30px);
	    -ms-transform: translateY(30px);
	        transform: translateY(30px);
}

.inb.bi {
	opacity: 1;
	-webkit-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
}

.inrt {
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	-webkit-transform: translateX(30px);
	    -ms-transform: translateX(30px);
	        transform: translateX(30px);
}

.inrt.ri {
	opacity: 1;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
}

.inlf {
	opacity: 0;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
	-webkit-transform: translateX(-30px);
	    -ms-transform: translateX(-30px);
	        transform: translateX(-30px);
}

.inlf.lfi {
	opacity: 1;
	-webkit-transform: translateX(0);
	    -ms-transform: translateX(0);
	        transform: translateX(0);
}

.anmbi {
	opacity: 0;
}

.anmbi.bounceIn {
	opacity: 1;
}

/*************************
slick
************************ */
.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slick-prev, .slick-next {
	z-index: 2;
	width: 30px;
	height: 40px;
}

.slick-prev:before, .slick-next:before {
	content: none;
}

.slick-prev:after, .slick-next:after {
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotateZ(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotateZ(45deg);
}

.slick-prev {
	left: 20px;
}

.slick-prev:after {
	-webkit-transform: rotateZ(-135deg);
	    -ms-transform: rotate(-135deg);
	        transform: rotateZ(-135deg);
	margin-left: 10px;
}

.slick-next {
	right: 20px;
}

.slick-next:after {
	margin-left: 10px;
}

.slick-dots {
	bottom: 10px;
}

.slick-dots li {
	margin: 0;
}

.slick-dots li button {
	position: relative;
}

.slick-dots li button:before {
	content: none;
}

.slick-dots li button:after {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	background-color: #fff;
	border-radius: 16px;
	position: absolute;
	top: calc(50% - 4px);
	left: calc(50% - 4px);
	opacity: 0.4;
}

.slick-dots li.slick-active button:after {
	opacity: 1;
}

/*************************
header
************************ */
#header {
	width: 100%;
	height: 60px;
	background-color: #fff;
	border-bottom: 1px solid #d8261c;
	z-index: 8000;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-transition: all 1.5s ease 0s;
	transition: all 1.5s ease 0s;
	opacity: 0;
}

@media screen and (max-width: 992px) {
	#header {
		z-index: 1000;
	}
}

@media screen and (min-width: 769px) and (max-width: 992px) {
	#header {
		z-index: 1500;
	}
}

@media screen and (max-width: 768px) {
	#header {
		z-index: 2000;
	}
}

@media screen and (min-width: 481px) and (max-width: 768px) {
	#header {
		z-index: 2500;
	}
}

@media screen and (max-width: 480px) {
	#header {
		z-index: 3000;
	}
}

#header .container {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#header .hdl .logo {
	width: 140px;
	height: 59px;
	margin-left: 20px;
	font-size: 0;
	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;
}

@media screen and (max-width: 768px) {
	#header .hdl .logo {
		width: 120px;
	}
}

#header .hdl .logo a {
	font-size: 0;
}

#header .hdl .logo a img {
	width: 100%;
}

#header .hdr {
	width: 560px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
}

#header .hdr .hdtel {
	padding-right: 8px;
}

@media screen and (max-width: 768px) {
	#header .hdr .hdtel {
		display: none;
	}
}

#header .hdr .hdtel .txt {
	margin-bottom: 2px;
	color: #525252;
	font-size: 10px;
	font-weight: 700;
	line-height: 10px;
	display: block;
	text-align: left;
}

#header .hdr .hdtel .telnmb dt a {
	font-family: Lato, sans-serif;
	color: #e62600;
	font-size: 22px;
	line-height: 22px;
	font-weight: 900;
	letter-spacing: 2.3px;
	padding-left: 3rem;
	position: relative;
}

#header .hdr .hdtel .telnmb dt a:before {
	content: '';
	display: block;
	width: 20px;
	height: 22px;
	margin-right: 8px;
	background: url(../img/icon_phone_square.png) no-repeat scroll 0 0;
	background-size: contain;
	position: absolute;
	top: calc(50% - 11px);
	left: 0;
}

#header .hdr .hdtel .telnmb dd {
	padding: 3px 8px;
	border-radius: 2px;
	background-color: #d8261b;
	font-family: ryo-gothic-plusn, sans-serif;
	color: #fff;
	font-size: 10px;
	line-height: 12px;
	font-weight: 700;
	text-align: center;
}

#header .hdr .hdmenu {
	display: -ms-grid;
	display: grid;
	margin-top: -2px;
	padding-right: 2px;
	grid-column-gap: 2px;
	grid-row-gap: 4px;
	-ms-grid-columns: 1fr 1fr 60px;
	grid-template-columns: 1fr 1fr 60px;
	-ms-grid-rows: auto auto;
	grid-template-rows: auto auto;
}

@media screen and (max-width: 768px) {
	#header .hdr .hdmenu {
		display: none;
	}
}

#header .hdr .hdmenu li a {
	padding: 6px 12px 4px;
	border-style: solid;
	border-radius: 2px;
	background-color: #fff;
	line-height: 11px;
	text-align: center;
	color: #525252;
	font-size: 10px;
	font-weight: 700;
	border-color: #d7261b;
	-webkit-box-shadow: 0 2px 0 0 #d7261b;
	        box-shadow: 0 2px 0 0 #d7261b;
	border-width: 1px;
}

#header .hdr .hdmenu li.hdpdf {
	-ms-grid-column: 3;
	grid-column-start: 3;
	-ms-grid-column-span: 1;
	grid-column-end: 4;
	-ms-grid-row: 1;
	grid-row-start: 1;
	-ms-grid-row-span: 2;
	grid-row-end: 3;
}

#header .hdr .hdmenu li.hdpdf a {
	padding: 6px 0 4px;
	height: 50px;
}

#header .hdr .hdmenu li.hdpdf a span {
	text-align: center;
	display: block;
	position: relative;
}

#header .hdr .hdmenu li.hdpdf a span:before {
	content: '';
	display: block;
	width: 20px;
	height: 22px;
	background: transparent url(../img/icon_file_pdf.png) no-repeat scroll center 0;
	background-size: contain;
	margin: 0 auto 4px;
}

#header .hdr .hdbtn {
	width: 48px;
	padding: 4px;
	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;
}

#header .hdr .hdbtn a {
	width: 100%;
	font-size: 0;
	text-align: center;
}

#header .hdr .hdbtn a img {
	width: 100%;
	width: 80%;
}

#header .hdr .hdbtn a span {
	font-size: 10px;
	font-size: 1rem;
	display: block;
	text-align: center;
	color: #d8261c;
	padding-top: .4rem;
	line-height: 1;
}

#header .hdr .hdbtn#menubtn {
	margin-right: 6px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

#header .hdr .hdbtn#menubtn a {
	pointer-events: none;
}

.mouse #header .hdr .hdbtn#menubtn:hover {
	opacity: 0.8;
}

#header.txtin {
	opacity: 1;
}

.menuoverlay {
	position: fixed;
	overflow: hidden;
	width: 100%;
	height: 0;
	top: 60px;
	z-index: 8000;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}

.menuoverlay #gnav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	margin: 20px 40px;
	padding: 24px 40px;
	border-radius: 8px;
	background-image: -webkit-gradient(linear, left top, right top, from(#d8261c), to(#ff9e99));
	background-image: -webkit-linear-gradient(left, #d8261c, #ff9e99);
	background-image: linear-gradient(90deg, #d8261c, #ff9e99);
	text-align: left;
	position: relative;
	z-index: 8100;
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}

@media screen and (max-width: 768px) {
	.menuoverlay #gnav {
		margin: 20px;
	}
}

@media screen and (max-width: 480px) {
	.menuoverlay #gnav {
		padding: 24px 30px;
	}
}

.menuoverlay #gnav h2 {
	width: 100%;
	margin-bottom: 24px;
}

.menuoverlay #gnav h2 a {
	display: block;
	width: 110px;
	font-size: 0;
}

.menuoverlay #gnav h2 a img {
	width: 100%;
	height: auto;
}

.menuoverlay #gnav .navlist {
	width: 25%;
	width: calc((100% - (16px * 3)) / 4);
	margin-left: 16px;
}

@media screen and (max-width: 480px) {
	.menuoverlay #gnav .navlist {
		width: 100%;
		margin-bottom: 16px;
		margin-left: 0;
	}
}

.menuoverlay #gnav .navlist h3 {
	color: #fff;
	margin-bottom: 8px;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-size: 14px;
}

.menuoverlay #gnav .navlist ul {
	margin-bottom: 16px;
	padding-left: 20px;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	list-style-type: none;
}

.menuoverlay #gnav .navlist ul li {
	margin-bottom: 4px;
}

.menuoverlay #gnav .navlist ul li a {
	color: #fff;
	font-size: 12px;
}

.menuoverlay #gnav .navlist ul:last-of-type {
	margin-bottom: 0;
}

.menuoverlay #gnav .navlist:first-of-type {
	margin-left: 0;
}

.menuon .menuoverlay #gnav {
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}

.menuoverlay .menuclose {
	position: fixed;
	width: 100%;
	height: 0;
	top: 60px;
	left: 0;
}

.menuon .menuoverlay .menuclose {
	height: calc(100vh - 60px);
}

.menuon .menuoverlay {
	height: calc(100vh - 60px);
}

/*************************
main
************************ */
/*************************
totop
************************ */
#totop {
	position: fixed;
	bottom: 3rem;
	right: 3rem;
	z-index: 1111;
}

@media screen and (max-width: 768px) {
	#totop {
		bottom: 1rem;
		right: 1rem;
	}
}

#totop a {
	display: inline-block;
	font-size: 0;
	width: 20rem;
	position: relative;
}

@media screen and (max-width: 768px) {
	#totop a {
		width: 12rem;
	}
}

#totop a img {
	width: 100%;
	height: auto;
}

/*************************
footer
************************ */
#footer {
	width: 100%;
	margin-top: 40px;
}

#footer #ftnav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	margin: 0 40px 20px;
	padding: 24px 40px;
	border-radius: 8px;
	background-image: -webkit-gradient(linear, left top, right top, from(#d8261c), to(#ff9e99));
	background-image: -webkit-linear-gradient(left, #d8261c, #ff9e99);
	background-image: linear-gradient(90deg, #d8261c, #ff9e99);
	text-align: left;
	position: relative;
}

@media screen and (max-width: 768px) {
	#footer #ftnav {
		margin-left: 20px;
		margin-right: 20px;
	}
}

@media screen and (max-width: 480px) {
	#footer #ftnav {
		padding: 24px 30px;
	}
}

#footer #ftnav h2 {
	width: 100%;
	margin-bottom: 24px;
}

#footer #ftnav h2 a {
	display: block;
	width: 110px;
	font-size: 0;
}

#footer #ftnav h2 a img {
	width: 100%;
	height: auto;
}

#footer #ftnav .navlist {
	width: 25%;
	width: calc((100% - (16px * 3)) / 4);
	margin-left: 16px;
	margin-bottom: 28px;
}

@media screen and (max-width: 992px) {
	#footer #ftnav .navlist {
		width: calc(50% - 8px);
	}
}

@media screen and (max-width: 480px) {
	#footer #ftnav .navlist {
		width: 100%;
		margin-bottom: 16px;
		margin-left: 0;
	}
}

#footer #ftnav .navlist h3 {
	color: #fff;
	margin-bottom: 8px;
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-size: 14px;
}

#footer #ftnav .navlist ul {
	margin-bottom: 16px;
	padding-left: 16px;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	list-style-type: none;
}

#footer #ftnav .navlist ul li {
	margin-bottom: 4px;
}

#footer #ftnav .navlist ul li a {
	color: #fff;
	font-size: 12px;
}

#footer #ftnav .navlist ul:last-of-type {
	margin-bottom: 0;
}

#footer #ftnav .navlist:first-of-type {
	margin-left: 0;
}

.menuon #footer #ftnav {
	-webkit-transition: all 0.5s ease 0s;
	transition: all 0.5s ease 0s;
}

#footer .small {
	color: #fff;
	width: 100%;
	font-size: 10px;
	font-size: 1rem;
}

@media screen and (max-width: 480px) {
	#footer .small {
		word-break: keep-all;
	}
}
