@charset "UTF-8";
/* CSS Document */

.bg {
	background-color: #fff;
}
.flex {
	display: -webkit-flex;
	display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
	margin-right: -25px;
	margin-left: -25px;
}
.box {
	overflow: hidden;
	flex: 1;
	margin: 0 25px 60px;
}
.box.only {
	padding-left: 100px;
	padding-right: 100px;
}
.split2 {
	flex: 2;
}
.split3 {
	flex: 3;
}
.split4 {
	flex: 4;
}
.split5 {
	flex: 5;
}
.split6 {
	flex: 6;
}
.split7 {
	flex: 7;
}
.box.flex_btn {
	padding-bottom: 50px!important;
	position: relative;
}

@media screen and (max-width:750px) and (orientation: portrait){
.flex {
	display: block;
}
.box {
	margin-bottom: 50px;
}
.box.only {
	padding-left: 0;
	padding-right: 0;
}
.narrow .box:first-child {
	margin-bottom: 20px;
}
.split7 {
	flex: 3;
}
}

.sm-slider {
	min-width: 1200px;
}
@media screen and (max-width:750px) and (orientation: portrait){
.sm-slider {
	min-width: 100%;
	height: 350px!important;
}
.page01 .sm-slider {
	height: 100%!important;
}
.single .sm-slider {
	height: 100%!important;
}
}

/* slider--------------------------------------------------------- */
#contents section.slider {
	margin-top: 0;
	padding-top: 0;
	background: #fff;
	padding-bottom: 80px;
}
.slick-box_top .slick-slide span {
	background: #fff;
	position: absolute;
	z-index: 1;
	padding: 20px 30px;
	width: 38.5%;
	min-height: 80px;
	filter: alpha(opacity=70);
	-moz-opacity: 0.70;
	-webkit-opacity: 0.70;
	opacity: 0.70;
	top: 50%;
	left: 20px;
	-webkit-transform: translate(0,-50%);
	-moz-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
	transition: 0.2s linear;
}
.slick-box_top .slick-slide:not(.slick-center) span {
	height: 0;
	min-height: 0;
	overflow: hidden;
	padding: 0;
}
.slick-box_top .slick-slide {
	overflow: hidden;
	position: relative;
	width: 700px;
	height: 160px;
	background: #000;
}
.slick-box_top .slick-slide a {
	display: block;
	width: 100%;
	height: 100%;
}
.slick-box_top .slick-slide img {
	filter: alpha(opacity=60);
	-moz-opacity: 0.60;
	-webkit-opacity: 0.60;
	opacity: 0.60;
	transition: 0.3s;
}
.slick-box_top .slick-slide:hover img,
.slick-box_top .slick-slide:hover span {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-webkit-opacity:1;
	opacity:1;
}
.slick-box_top .slick-slide p:after {
	content: "\f101";
	padding-left: 8px;
	font: 900 12px "Font Awesome 5 Free";
}

@media screen and (max-width:750px) and (orientation: portrait){
#contents section.slider {
	padding-bottom: 50px;
}
.slick-box_top .slick-slide {
	width: auto;
}
.slick-box_top .slick-slide:not(.slick-center) span {
	width: auto;
	height: 0;
}
.slick-box_top .slick-slide span {
	background: #fff;
	position: absolute;
	z-index: 1;
	padding: 13px 25px;
	width: 60%;
	height: auto;
	margin: 0;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-webkit-opacity: 1;
	opacity: 1;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.slick-box_top .slick-slide img {
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	-webkit-opacity:1;
	opacity:1;
}
}

/* full--------------------------------------------------------- */

section.full {
	overflow: hidden;
	position: relative;
	padding: 100px 0 40px;
	color: #fff;
	border-top-width: 50px;
	border-bottom-width: 60px;
	border-top-style: solid;
	border-bottom-style: solid;
	background: no-repeat fixed center center;
	background-size: cover;
}
section.full:after {
	content: "";
	position: absolute;
	background-color: rgba(0,0,0,0.7);
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
}
section.full .sec_inr {
	position: relative;
	z-index: 1;
}
section.full.txt-white h3 {
	font-weight: 300;
}
section.full.txt-white h4 {
	font-weight: 300;
}
section.full.txt-white p {
	font-weight: 300;
}

@media screen and (max-width:750px) and (orientation: portrait){
section.full {
	padding: 80px 0 30px;
	border-top-width: 0;
	border-bottom-width: 80px;
}
section.full.txt-white h3 {
	font-weight: 400;
}
section.full.txt-white h4 {
	font-weight: 400;
}
section.full.txt-white p {
	font-weight: normal;
}
section.full .bg_img {
	width: auto;
	max-height: 100%;
}
}

/* news--------------------------------------------------------- */

.news dl {
	margin: 0 auto 30px;
	font-size: 15px;
	line-height: 1.8em;
}
.news dl:nth-child(n+6) {
	display:none;
}
.news dl:last-child {
	margin-bottom: 0;
}
.news dt {
	letter-spacing: 0.1em;
	float: left;
	width: 160px;
}
.news dt p:before {
	content: "\f05a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 7px;
}
.news dt p.new:after {
	content: "NEW";
	margin-left: 7px;
	font-size: 11px;
	font-weight: bold;
	margin-top: 1px;
	position: absolute;
}
.news dd {
	letter-spacing: 0.05em;
	padding-left: 170px;
}

@media screen and (max-width:750px) and (orientation: portrait){
.news dl {
	font-size: 13px;
}
.news dt {
	float: none;
}
.news dd {
	padding-left: 0;
}
}

/* flow--------------------------------------------------------- */
.flow {
	padding-bottom: 1px;
}
.flow ul {
	width: auto;
	margin-bottom: 60px;
}
.flow ul li {
	background: #fff;
	border: 2px solid;
	position: relative;
	margin: 0 0 70px;
	padding: 60px 35px 0;
}
.flow ul li .cover + p {
	margin-top: 10px;
}
.flow ul li:before {
	font-size: 40px;
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	left: 50%;
	bottom: -55px;
	margin-left: -13px;
}
.flow ul li:last-child {
	margin-bottom: 0;
}
.flow ul li:last-child:before {
	content: none;
}
.flow ul li:after {
	border: transparent 4px solid;
	transition: 0.3s;
	content: "";
	position: absolute;
	left: -2px;
	top: -2px;
	right: -2px;
	bottom: -2px;
}

@media screen and (max-width:750px) and (orientation: portrait){
.flow ul {
	margin-bottom: 50px;
}
.flow ul li {
	padding: 30px 10px 0;
}
.flow ul li .box {
	margin-bottom: 30px;
}
.single .flow ul li {
	padding: 30px 0 0;
}
}

/* table--------------------------------------------------------- */

table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
table td {
	padding: 25px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align: top;
}
table td:first-child {
	width: 20%;
}
table td:last-child {
	border-right: none;
}

@media screen and (max-width:750px) and (orientation: portrait){
table td {
	padding: 10px;
}
table td:first-child {
	width: 30%;
}
table p {
	font-size: 13px;
}
}

/* list--------------------------------------------------------- */

ul.list li {
	padding: 0 0 8px;
}
ul.list li p {
	text-indent: -17px;
	padding-left: 17px;
}
ul.list li p:before {
	content: "\f22d";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 8px;
}

@media screen and (max-width:750px) and (orientation: portrait){
ul.list li {
	padding: 0 0 8px;
}
}

/* item--------------------------------------------------------- */
.main ul.item li {
	border-radius: 3px;
	margin: 15px 0;
	background: rgba(0,0,0,0.2);
}
.main ul.item li p {
	text-align: center;
	font-size: 15px;
	font-weight: 400;
	padding: 4px;
}
@media screen and (max-width:750px) and (orientation: portrait){
.main ul.item li p {
	font-size: 14px;
}
}

/* gallery--------------------------------------------------------- */
.gallery {
	margin: 0 -10px;
	list-style: none;
	font-size: 0;
}
.gallery li {
	width: 235px;
	margin: 0 10px 20px;
	display: inline-block;
	position: relative;
}
#boxer {
	background-color: rgba(0,0,0,0.9)!important;
}
#boxer .boxer-container,
#boxer .boxer-content {
	background: none!important;
}
#boxer .boxer-content {
margin-top: -15px!important;
}
#boxer.mobile .boxer-close:before,
#boxer.mobile .boxer-close:hover:before {
	line-height: 56px!important;
}
#boxer.mobile .boxer-close,
#boxer.mobile .boxer-close:hover {
	height: 60px!important;
	width: 60px!important;
}
	
@media screen and (max-width:750px) and (orientation: portrait){
ul.gallery {
	margin: 0 -2vw -2vw;
}
.gallery li {
	margin: 0 2vw 4vw;
	width: 40vw;
}
.gallery li a:after {
	content: '\f002';
	position: absolute;
	top: 3px;
	right: 3px;
	font: 900 8px "Font Awesome 5 Free";
	color: #CCC;
	background: #000;
	padding: 3px;
	border-radius: 3px;
}
#boxer .boxer-content {
margin-top: 15px!important;
}
}

/* map--------------------------------------------------------- */

.mapfield #map {
	width: auto;
	height: 400px;
	background: #ccc;
	margin: 0 auto;
}
.mapfield .access {
	margin-top: 10px;
}
ul.access li p {
	text-indent: -17px;
	padding-left: 17px;
}
ul.access li p:before {
	content: "\f239";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 8px;
}

@media screen and (max-width:750px) and (orientation: portrait){
.mapfield #map {
	width: 100%;
	height: 200px;
}
ul.access li p {
	font-size: 12px;
	text-indent: -22px;
	padding-left: 22px;
}
ul.access li p:before {
	content: "\f239";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 8px;
}
}

/* more-list--------------------------------------------------------- */

.more-list {
	border-top: 1px solid #ccc;
	padding-bottom: 60px;
}
.more-list article {
	margin: 0 auto;
	border-bottom: 1px solid #ccc;
	padding: 50px 0;
}
.more-list article:last-child {
	margin-bottom: 60px;
}
.more-list article .flex {
	margin-top: 15px;
}
.more-list article .box {
	margin-bottom: 0;
}
.more-list article time p {
	margin-bottom: 5px;
}
.more-list article time p.new:after {
	content: "NEW";
	margin-left: 7px;
	font-size: 11px;
	font-weight: bold;
	margin-top: 1px;
	position: absolute;
}
.more-list article h4 {
	font-weight: 500;
}

@media screen and (max-width:750px) and (orientation: portrait){
.more-list {
	padding-bottom: 50px;
}
.more-list article {
	padding: 35px 0 10px;
}
.more-list article:last-child {
	margin-bottom: 30px;
}
.more-list article .flex {
	margin-top: 10px;
}
.more-list article .box {
	margin-bottom: 30px;
}
.more-list article .img_bottom {
	margin-top: 5px;
}
}

/* sitemap--------------------------------------------------------- */

.sitemap li.wrap1 {
	float: left;
	width: 250px;
}
.sitemap li.wrap2 {
	float: left;
	width: 500px;
}
.sitemap ul.main {
	float: left;
}
.sitemap ul.main li {
	float: left;
	width: 250px;
}
.sitemap li p {
	padding-bottom: 25px;
	padding-left: 15px;
	text-indent: -15px;
}
.sitemap li p.main {
}
.sitemap li p:before {
	content: "\f068";
	padding-right: 5px;
	font: 900 10px "Font Awesome 5 Free";
	color: #CCC;
	vertical-align: 10%;
}
.sitemap .home li p:before {
	content: none;
}

@media screen and (max-width:750px) and (orientation: portrait){
.sitemap li.wrap1 {
	float: none;
	width: auto;
}
.sitemap li.wrap2 {
	float: none;
	width: auto;
}
.sitemap ul.main {
	float: none;
}
.sitemap ul.main li {
	width: 50%;
}
.sitemap li p {
	padding-bottom: 15px;
}
}

/* policy--------------------------------------------------------- */

.policy li {
	list-style: circle outside;
	margin-left: 20px;
}

/* contact--------------------------------------------------------- */

.contact table {
	margin-bottom: 40px;
	width: 100%;
	border: none;
	border-collapse: collapse;
}
.contact table td {
	padding: 20px;
	border: none;
	vertical-align: top;
}
.contact table td:first-child {
	width: 25%;
}
.contact table td:first-child p {
	padding: 10px;
}
.contact input,
.contact textarea,
.contact select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: "Noto Sans JP", sans-serif;
	border: 1px solid #d6d6d6;
	border-radius: 0;
	font-size: 14px;
	letter-spacing: 0.05em;
	padding: 10px;
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.contact input[type="text"],
.contact input[type="email"],
.contact textarea {
	line-height: 1.8em;
	width: 100%;
	resize: none;
}
.contact select {
	padding: 10px 40px 10px 10px;
	cursor: pointer;
	position: relative;
	z-index: 2;
	background: none;
}
.contact p.select {
	position: relative;
	display: inline-block;
	background: #fff;
}
.contact p.select:after {
	content: "\f0d7";
	font: 900 14px "Font Awesome 5 Free";
	vertical-align: 10%;
	position: absolute;
	top: 14px;
	right: 14px;
	cursor: pointer;
	z-index: 1;
}
.contact input[type="checkbox"],
.contact input[type="radio"] {
	vertical-align: middle;
	padding: 8px;
	margin: 7px 10px 10px 0px;
	border-radius: 10px;
	position: relative;
	background: #fff;
}
.contact .checkbox,
.contact .radio {
	padding: 8px 8px 8px 0px;
}
.contact .checkbox span,
.contact .radio span {
	width: 30%;
	display: inline-block;
}
.contact .checkbox label,
.contact .radio label {
	cursor: pointer;
}
.contact input[type="checkbox"]:checked:before,
.contact input[type="radio"]:checked:before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	position: absolute;
	left: 5px;
	top: 5px;
}
.contact button[type="submit"] {
	border: none;
	cursor: pointer;
	margin: 0;
	padding: 10px 0;
	background: #000;
	width: 200px;
	color: #fff;
	font-size: 14px;
	border-radius: 2px;
	transition: 0.3s;
}
.btn-submit {
	text-align: center;
}
.contact .red {
	color: #c1272d;
	margin-left: 5px;
}

@media screen and (max-width:750px) and (orientation: portrait){
.contact table tr:first-child td:first-child {
	padding-top: 0;
}
.contact table td {
	padding: 0;
	float: left;
	width: 100%;
}
.contact table td:first-child {
	width: auto;
	padding: 20px 0 5px;
}
.contact table td:first-child p {
	padding: 0;
}
.contact input,
.contact textarea,
.contact select {
	padding: 2%;
}
.contact input[type="text"],
.contact input[type="email"],
.contact textarea {
	line-height: 1.8em;
	width: 100%;
}
.contact select {
	padding: 2% 40px 2% 2%;
	cursor: pointer;
	position: relative;
	z-index: 2;
	background: none;
}
.contact select {
	padding-left: 5px;
}
.contact p.select {
	position: relative;
	display: inline-block;
}
.contact p.select:after {
	content: "\f0d7";
	font: 900 14px "Font Awesome 5 Free";
	vertical-align: 10%;
	position: absolute;
	top: 7px;
	right: 12px;
	cursor: pointer;
	z-index: 1;
}
.contact .checkbox span,
.contact .radio span {
	width: 45%;
}
}

/* balloon--------------------------------------------------------- */
.balloon1 {
	position: relative;
	padding: 20px;
	border: 2px solid #e6e6e6;
	overflow: visible;
	border-radius: 8px;
	background: #fff;
	margin-bottom: 12px;
}
.balloon1:before,
.balloon1:after {
	content: '';
  position: absolute;
  left: 50%;
	margin-left: -14px;
	border: 14px solid transparent;
}
.balloon1:before {
	border-top-color: #e6e6e6;
	bottom: -28px;
}
.balloon1:after {
	border-top-color: #fff;
	bottom: -25px;
}
.balloon2 {
	position: relative;
	padding: 30px;
	border: 2px solid #e6e6e6;
	overflow: visible;
	border-radius: 10px;
	background: #fff;
}
.balloon2:before,
.balloon2:after {
	content: '';
  position: absolute;
  top: 20px;
	border: 10px solid transparent;
}
.balloon2-left:before {
	border-right-color: #e6e6e6;
	left: -20px;
}
.balloon2-left:after {
	border-right-color: #fff;
	left: -17px;
}
.balloon2-right:before {
	border-left-color: #e6e6e6;
	right: -20px;
}
.balloon2-right:after {
	border-left-color: #fff;
	right: -17px;
}
.bal1-flex,
.bal2-flex {
	display: flex;
	margin-left: -25px;
	margin-right: -25px;
}
.bal1-flex .box,
.bal2-flex .box {
	margin-bottom: 0;
}
@media screen and (max-width:750px) and (orientation: portrait){
.balloon2 {
	padding: 20px;
}
.balloon2:before,
.balloon2:after {
  top: 10px;
}
.bal1-flex,
.bal2-flex {
	display: block;
}
}

/* faq--------------------------------------------------------- */
.faq {
	border-top: 1px solid #ccc;
}
.faq:after {   
    content: ".";   
    display: block;   
    overflow:hidden;
    height: 0px;
    line-height: 0;
    clear: both;   
}
.faq article {
	margin: 0 auto;
	border-bottom: 1px solid #ccc;
	padding-right: 20px;
	padding-left: 20px;
}
.faq article:hover {
	background: #f9f9f9;
}
.faq article:last-child {
	margin-bottom: 60px;
}
.faq article .box {
	margin-bottom: 0;
}
.faq article h4 {
	font-weight: 400;
	position: relative;
	font-size: 16px;
	line-height: 24px;
	cursor: pointer;
	padding: 35px 40px;
}
.faq article h4:before {
	content: "\f059";
	font: 900 24px/1 "Font Awesome 5 Free";
	position: absolute;
	left: 0;
	color: #ccc;
}
.faq article h4:after {
	content: "\f067";
	font: 900 24px/1 "Font Awesome 5 Free";
	position: absolute;
	right: 0;
	top: 35px;
	color: #ccc;
}
.faq article h4.show:after {
	content: "\f068";
}
.faq article p {
	position: relative;
	height: 0;
	transition: 0.3s;
	padding-left: 40px;
	padding-right: 40px;
	overflow: hidden;
	margin-top: -10px;
	margin-bottom: 10px;
}
.faq article p:before {
	content: "\f138";
	font: 900 24px/1.2 "Font Awesome 5 Free";
	position: absolute;
	left: 0;
	color: #ccc;
}
.faq article p.show {
	height: auto;
	margin-bottom: 30px;
}
.faq article p span {
	font-weight: 500;
	font-size: 16px;
}
@media screen and (max-width:750px) and (orientation: portrait){
.faq article {
	padding-right: 0;
	padding-left: 0;
}
.faq article:hover {
	background: none;
}
.faq article h4 {
	margin-bottom: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 15px;
}
.faq article h4:after {
	top: 20px;
}
.faq article p {
	padding-right: 0;
}
.faq article p span {
	font-size: 15px;
}
}

/* check--------------------------------------------------------- */
.check table {
	border-style: none;
}
.check table td {
	padding: 15px 25px 15px 36px;
	position: relative;
	width: 33%;
	border-style: none;
}
.check table td:before {
	content: "\f14a";
	font: 900 28px/1.1 "Font Awesome 5 Free";
	position: absolute;
	left: 0;
}
.check table td p {
	font-size: 16px;
	line-height: 1.8;
}
.single .check {
	background: #f9f9f9;
	padding: 40px 40px 30px;
}
.single .check h3 {
	padding-bottom: 20px;
}
@media screen and (max-width:750px) and (orientation: portrait){
.check table td {
	display: block;
	width: 100%;
	padding: 0 0 15px 28px;
}
.check table tr:last-child td:last-child {
	padding-bottom: 0;
}
.check table td:before {
	font-size: 20px;
}
.check table td p {
	font-size: 15px;
	line-height: 1.3;
}
.single .check {
	background: #f9f9f9;
	padding: 25px 20px;
}
.single .check h3 {
	padding-bottom: 15px;
}
}

/* staff--------------------------------------------------------- */
.staff .round {
	height: 180px;
	width: 180px;
	margin: 0 auto 20px;
}
.staff p.name {
	text-align: center;
	margin-bottom: 10px;
}
.staff p {
	max-width: 500px;
	margin: 0 auto;
}
.staff ul.list li p {
	padding-left: 34px;
}
@media screen and (max-width:750px) and (orientation: portrait){
.staff ul.list li p {
	padding-left: 17px;
}
}