@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
  font-size: 15px;
  margin: 0;
  color: #343434;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .1em;
  line-height: 1.7; }

ul {
  padding: 0; }

a {
  text-decoration: none;
  display: block;
  color: #343434; }

li {
  list-style: none; }

.inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 100px 0; }

img {
  width: 100%;
  height: auto; }
.wrap{display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.en{
	font-family: "Libre Baskerville", serif;
}
p.sans{
	font-family: "Noto Sans JP", sans-serif;
}


/*-------header-------------------------------------*/
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }
  header .header_inner {
	  max-width: 1200px;
  margin: 0 auto;
	  height: 70px;
    align-items: center;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap; }
    header .header_inner #logo {
      width: 20%;
      margin: auto 0; }
      header .header_inner #logo a {
        display: block; }
        header .header_inner #logo a img {
          width: 60px; }
    header .header_inner #pc_navi {
      width: 60%; }
      header .header_inner #pc_navi nav ul.pc_nav_li {
		  font-family: "Libre Baskerville", serif;
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding: 0;
        margin: 0;
        align-items: center; }
        header .header_inner #pc_navi nav ul.pc_nav_li li a {
          display: block;
			font-size: 14px;
          color: #fff;}
    header .header_inner .contact_btn {
		border-radius: 50px;
      background: #2D61A6;
		color: #fff;
      text-align: center;
      transition: all .3s;
      padding: 8px 25px; }
      header .header_inner #pc_navi nav ul.pc_nav_li li.contact_btn a {
		  display: flex;
			align-items: center;
        color: #fff;}
        header .header_inner .contact_btn a img {
          width: 100%;
          height: 80px; }
        header .header_inner .contact_btn a p {
			display: flex;
			align-items: center;
          font-size: 14px;
          color: #fff;
          margin: 0;}
          header .header_inner .contact_btn a p i.fa {
            font-size: 20px;
            color: #fff; margin-right: 5px;}
      header .header_inner .contact_btn:hover {
        opacity: 0.5; }
header .header_inner .tell{
	width: 180px;
}


.header.change-color {
  background-color: rgba(0,0,0,0.65); }



/*-------kv-------------------------------------*/
.kv{
	position: relative;
	background: url("../img/kv_img.jpg")no-repeat center;
	background-size: cover;
	height: 100vh;
}
.kv::after{
	position: absolute;
	content: "";
	background: rgba(0,0,0,0.40);
	width: 100%;
	height: 100vh;
}
.kv h2{
	position: absolute;
	color: #fff;
	bottom: 20%;
	left: 10%;
	font-size: 40px;
	z-index: 1;
}


/*---------about-----------------------------------*/
.about{
	background: url("../img/top-about-bg.jpg")no-repeat center;
	background-size: cover;	
}
.about .inner{
	position: relative;
	color: #fff;
	padding: 150px 0;
}
.about .inner h3{
	font-size: 14px;
	writing-mode: vertical-rl;
	position: absolute;
	right: 0;
	top: 180px;
}
.about .inner h3 span{
	width: 2px;
    height: 15px;
    background: #fff;
    position: absolute;
    top: -25px;
    left: 50%;
}
.about .inner .wrap{
	flex-direction: row-reverse;
	justify-content: flex-end;
	align-items: end;
}
.about .inner .wrap .img_area{
	width: 50%;
	margin-left: 5%;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.about .inner .wrap .img_area img{
	opacity: 0.85;
	width: 75%;
}
.about .inner .wrap .img_area h4{
	width: 15%;
	writing-mode: vertical-rl;
	font-size: 30px;
}
.about .inner .wrap .text_area{
	width: 40%;
}
.about .inner .wrap .text_area p{
	padding-bottom: 20px;
}
.btm-wrap{
	height: 400px;
}
.btm-wrap img{
	width: 50%;
	opacity: 0.7;
	height: 100%;
    object-fit: cover;
}
/*-------roomトップページ-------------------------------------*/
.room .inner .wrap.top-wrap{
	align-items: flex-start;
}
.ttl{
	width: 10%;
	position: relative;
	writing-mode: vertical-rl;
}
.ttl h4{
	font-size: 30px;
	position: relative;
    left: -30px;
}
.ttl h3{
	font-size: 14px;
	writing-mode: vertical-rl;
	position: absolute;
	right: 0;
	top: 30px;
}
.ttl h3 span{
	width: 2px;
    height: 15px;
    background: #333;
    position: absolute;
    top: -25px;
    left: 50%;
}
.room_content{
	width: 85%;
}
.room_content img{
	margin: 40px 0;
}
.room_content .wrap{
	align-items: flex-end;
}
.room_content .wrap a{
	position: relative;
}
.room_content .wrap a::after{
	position: absolute;
	content: "";
	background: #333;
	height: 1px;
	width: calc(100% + 20px);
	bottom: -10px;
	left: -10px;
}
.room_content .wrap a span{
    position: relative;
    width: 40px;
    height: 2px;
    margin-right: 30px;
    color: #333;
    background: currentColor;
    top: -3px;
	display: inline-block;
	left: 20px;
}
.room_content .wrap a span::after{
	content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    width: 0;
    height: 0;
    border: 5px solid currentColor;
    border-top-color: transparent;
    border-right-color: transparent;
    border-right-width: 0;
    border-bottom-color: transparent;
}
.room_content .wrap p{
	font-size: 20px;
	font-weight: bold;
}
.room_content p.sans{
	font-size: 14px;
	line-height: 2;
}


/*-------スライダー-------------------------------------*/

/* スライダー全体 */
.slider-wrapper {
    display: flex; /* スライドのグループを横並び */
    overflow: hidden; /* はみ出たスライドを隠す */
	margin-bottom: 80px;
}
/* スライド3枚のグループ */
.slider_img{
    animation: scroll-left 20s infinite linear .5s both;
    display: flex; /* スライド3枚を横並び */
}
/* スライド */
.slide {
    width: calc(100vw / 4);
	margin: 0 10px;
}
.slide:nth-child(2n){
	margin-top: 40px;
}
/* スライドの画像 */
.slide img {
    display: block;
    width: 100%;
}
/* CSSアニメーション */
@keyframes scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}


/*-------アクセス-------------------------------------*/
.access{
	background-image: linear-gradient(#000000bf, #000000);
	color: #fff;
}
.access .img_area{
	width: 50%;
}
.access .access_detail{
	width: 46%;
}
.access table{
	width: 100%;
    border-collapse: collapse;
	font-size: 14px;
}
.access table th{
	font-weight: normal;
    width: 25%;
    padding: 20px 0;
    border-bottom: 1px solid #fff;
}
.access table td{
    border-bottom: 1px solid #fff;
	padding: 15px;
}
.access table a{
	color: #fff;
}
.access .ttl{
	right: -90%;
	bottom: 20px;
}
.access .inner{
	padding: 150px 0;
}
.access .ttl h3 span{
	background: #fff;
}
iframe{
  filter: grayscale(1);
}


/*-------お問い合わせ-------------------------------------*/
.contact{
	background: url("../img/contact_bg.jpg")no-repeat center;
	background-size: cover;
	color: #fff;
	margin-top: -10px;
}
.contact .wrap .ttl{
	width: 10%;
}
.contact .wrap p{
	width: 50%;
}
.contact .wrap a{
	width: 25%;
	color: #fff;
	padding: 15px 0;
	text-align: center;
	border: 1px solid #fff;
	position: relative;
}
.contact .wrap a span{
    position: relative;
    width: 30px;
    height: 1px;
    margin-right: 30px;
    color: #fff;
    background: currentColor;
    top: -3px;
	display: inline-block;
	left: 20px;
}
.contact .wrap a span::after{
	content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    width: 0;
    height: 0;
    border: 4px solid currentColor;
    border-top-color: transparent;
    border-right-color: transparent;
    border-right-width: 0;
    border-bottom-color: transparent;
}
.contact .ttl h3 span{
	background: #fff;
}


/*-------footer-------------------------------------*/
footer{
	background: #1A1A1A;
	color: #fff;
}
footer a{
	color: #fff;
}
footer .logo{
	width: 30%;
}
footer .logo img{
	width: 110px;
	margin-bottom: 30px;
}
footer .logo p{
	font-size: 14px;
}
footer .logo a.map{
	margin: 5px 0 40px;
	font-size: 14px;
	text-decoration: underline;
}
footer .logo .tel{
	font-size: 25px;
	font-weight: bold;
}
footer .logo .tel a{
	display: inline-block;
}
footer .nav{
	width: 55%;
}
footer .wrap{
	align-items: flex-start;
}
footer .nav .wrap li{
	font-size: 12px;
}

footer .copyright{
	font-size: 12px;
	color: #fff;
	border-top: 1px solid #fff;
}
footer .copyright p{
	opacity: 0.6;
}
footer .copyright .inner{
	padding: 20px 0;
}
footer .nav a.en{
	width: 230px;
    padding: 12px 0 10px 40px;
    text-align: center;
    border: 1px solid #fff;
    position: relative;
    font-size: 12px;
    margin-top: 35px;
    margin-left: auto;
}
footer .nav a.en::before{
	position: absolute;
	content: "";
	background: url(../img/insta-icon.png)no-repeat center;
	background-size: cover;
	width: 20px;
    height: 20px;
    top: 25%;
    left: 25px;
}
footer .nav a.line{
	width: 200px;
}
footer .nav a.line::before{
	background: url(../img/line_white.png)no-repeat center;
	background-size: cover;
}
footer .nav a.en span{
    position: relative;
    width: 30px;
    height: 1px;
    margin-right: 30px;
    color: #fff;
    background: currentColor;
    top: -3px;
	display: inline-block;
	left: 20px;
}
footer .nav a.en span::after{
	content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 100%;
    width: 0;
    height: 0;
    border: 4px solid currentColor;
    border-top-color: transparent;
    border-right-color: transparent;
    border-right-width: 0;
    border-bottom-color: transparent;
}

#news .ttl{
	width: 100%;
	writing-mode: inherit;
}
#news .ttl h3{
	writing-mode: inherit;
	padding-left: 25px;
	position: static;
}
#news .ttl h3 span{
	width: 15px;
    height: 2px;
    left: 0;
    top: 15%;
}
#news .ttl h4{
	left: 0;
}
.news_li{
	margin: 30px auto 0;
	width: 95%;
}
#news p.data{
	font-size: 12px;
}
.news_li li{
	padding: 0 15px 20px;
	border-bottom: 1px dotted #707070;
}

.single_main {
  margin: 60px 0 120px; }
  .single_main .inner {
	  padding: 0 0 50px;
    max-width: 900px;
    margin: 0 auto;}
    .single_main .inner p.date {
		font-size: 14px;
      margin-top: 30px; }
    .single_main .inner h1 {
		margin-top: 5px;
    font-size: 25px;
    line-height: 1;
    padding-bottom: 20px;
    border-bottom: 1px solid #707070;
       }
    .single_main .inner .content {
      margin-top: 20px; }
.single_main .inner .content p{
    padding-bottom: 15px;
}
.single_main .inner .content h2,.single_main .inner .content h3,.single_main .inner .content h4, .single_main .inner .content h5{
    padding: 0.5em;
	color: #494949;/*文字色*/
	background: #fffaf4;/*背景色*/
	border-left: solid 5px #ffaf58;
	margin-bottom: 15px;
}


/*-------サブページ共通KV-------------------------------------*/
.sub_kv{
	background: url("../img/kv_img.jpg")no-repeat center; 
	background-size: cover; 
	height: 350px; 
	position: relative;
}
.sub_kv::after{
	background-image: linear-gradient(#000000bf, #000000);
	position: absolute;
	content: "";
	height: 350px;
	width: 100%;
	top: 0;
}
.sub_kv h1{
	font-size: 35px; 
	margin: 0; 
	position: absolute; 
	top: 50%; 
	left: 15%; 
	transform: translate(-50%, -50%); 
	color: #fff;
	z-index: 100;
}
.sub_kv h1 span{
	display: block;
	font-size: 14px;
	padding-left: 25px;
	position: relative;
}
.sub_kv h1 span::after{
	position: absolute;
	content: "";
	background: #fff;
	width: 15px;
	height: 2px;
	left: 0;
	top: 10px;
}


/*-------パンクズリスト-------------------------------------*/
.breadcrumb .inner.wrap{justify-content: flex-start; font-size: 14px; padding: 50px 0 0;}
.breadcrumb .inner.wrap p{margin: 0; padding-left: 50px; position: relative;}
.breadcrumb .inner.wrap p::before{
	content: '';
	width: 8px;
	height: 8px;
	border: 0;
	border-top: solid 1px #333;
	border-right: solid 1px #333;
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -4px;
	transform: rotate(45deg);
}

/*-------aboutページ-------------------------------------*/
.about_explain{
	text-align: center;
	padding: 100px 0;
}
.about_explain h3{
	font-size: 25px;
}
.about_explain .btm-wrap{
	position: relative;
	margin: 60px 0;
}
.about_explain .btm-wrap img{
	opacity: 1;
}
.about_explain .btm-wrap::after{
	position: absolute;
	content: "";
	background: rgba(0,0,0,0.5);
	width: 100%;
	height: 400px;
	top: 0;
	left: 0;
}
.about_txt{
	max-width: 70%;
	margin: 0 auto;
}
.about_txt p{
	margin-bottom: 40px;
	line-height: 2;
}

.feature{
	background-image: linear-gradient(#000000bf, #000000);
}
.feature .wrap{
	margin-bottom: 60px;
}
.feature .wrap::nth-child(1){
	margin-bottom: 0;
}
.feature .wrap .img_area, .feature .wrap .text_area{
	width: 48%;
	color: #fff;
}
.feature .wrap .text_area p.en{
	font-size: 14px;
	padding-left: 25px;
	position: relative;
	font-family: "Noto Serif JP", serif;
}
.feature .wrap .text_area p.en::after{
	position: absolute;
	content: "";
	background: #fff;
	width: 12px;
	height: 2px;
	left: 0;
	top: 10px;
}
.feature .wrap .text_area h4{
	font-size: 24px;
	margin-bottom: 25px;
	padding: 0 20px 25px;
	border-bottom: 1px solid #fff;
}
.feature .wrap .text_area p{
	margin: 0 20px;
}
.facilities .wrap{
	align-items: flex-start;
}
.facilities .wrap .ttl{
	width: 10%;
}
.facilities .wrap table{
	width: 85%;
}
.facilities table{
	width: 100%;
	font-size: 14px;
	line-height: 2;
}
.facilities table th{
	font-weight: normal;
    width: 25%;
    padding: 15px 0;
	vertical-align: top;
}
.facilities table td{
	padding: 15px;
}

.facilities_slider {
    margin-bottom: 120px;
    margin-left: 15%;
	position: relative;
}
.facilities_slider .slider-item {
    margin: 0 15px;
	width: 95%!important;
}

.slick-nav-arrows {
    position: absolute;
    top: -40px;
    right: 10%;
  }
  .slick-arrow {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
  }

.slick-next,
.slick-prev {
    position: absolute;
    top: 40px;
    z-index: 1;
    width: 50px!important;
    height: 50px!important;
    border-radius: 50%!important;
    background: #2A2A2A!important;
}

.slick-prev {
    left: -95px!important;
}

.slick-prev:before,
.slick-next:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    opacity: 1;
    content: '';
	color: transparent!important;
}

.slick-prev:before {
    transform: translate(-25%, -50%) rotate(-135deg);
}

.slick-next:before {
    transform: translate(-75%, -50%) rotate(45deg);
}
.lineup-carousel li{
	margin-right: 24px;
}

@media (max-width: 767px) {
	.pc_only{
		display: none!important;
	}
  #pc_navi {
    display: none; }

  header {
    height: 70px; }

  header .header_inner {
    height: 70px; }

  header .header_inner #logo a {
    width: 60px; }

  header .header_inner #logo a img {
    width: 100%;
    margin-left: 1rem; }
	header .header_inner .tell{
		margin-left: 0;
	}
	header .header_inner .tell a{
		color: #fff;
	}

  #nav-toggle {
    position: fixed;
    top: 15px;
    right: 15px;
    height: 40px;
	  width: 40px;
    cursor: pointer;
    background: #2A2A2A;
    padding: 10px; }
    #nav-toggle > div {
      position: relative;
      width: 30px; }
    #nav-toggle span {
      width: 75%;
      height: 2px;
      left: -1px;
      display: block;
      background: #fff;
      position: absolute;
      transition: transform .4s ease-in-out, top .3s ease; }
      #nav-toggle span:nth-child(1) {
        top: 3px; }
      #nav-toggle span:nth-child(2) {
        top: 10px; }
      #nav-toggle span:nth-child(3) {
        top: 17px; }

  .open #nav-toggle span {
    background: #fff; }
    .open #nav-toggle span:nth-child(1) {
      top: 10px;
      transform: rotate(45deg); }
    .open #nav-toggle span:nth-child(2) {
      top: 10px;
      width: 0;
      left: 50%; }
    .open #nav-toggle span:nth-child(3) {
      top: 10px;
      transform: rotate(-45deg); }

  #nav-toggle {
    z-index: 1000; }

  #gloval-nav {
    background: #2A2A2A;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	  padding: 80px 50px 0;
    z-index: 990;
    display: flex;
    visibility: hidden;
    font-size: 18px;
    opacity: 0;
    transition: opacity .4s ease, visibility .4s ease; }
	
	#gloval-nav nav{
		width: 100%;
	}

  #gloval-nav a {
    display: block;
    text-decoration: none;
    padding: 20px 0;
	  font-weight: bold;
	  font-size: 16px;
	  color: #fff;
	  font-family: "Libre Baskerville", serif;
    transition: color .4s ease; }
  #gloval-nav ul {
    list-style: none;
    padding: 0; }
  #gloval-nav .gloval_btn {
    margin: 15px 0;
    background: #e73838;
    width: 100%; }
    #gloval-nav .gloval_btn a {
      padding: 5px 15px;
      color: #fff; }
      #gloval-nav .gloval_btn a p {
        margin: 0;
        color: #fff; }

  /* open */
  .open {
    overflow: hidden; }
    .open #gloval-nav {
      visibility: visible;
      opacity: 1; }
    .open #gloval-nav ul {
      padding: 0; }
    .open #gloval-nav li {
      opacity: 1;
      transform: translateX(0);
      transition: transform 1s ease, opacity .9s ease; }
	.open #gloval-nav li .tell{padding-left: 0;}
	
	
	#gloval-nav .cta_btn a{
		width: 230px;
		padding: 12px 0;
		text-align: center;
		border: 1px solid #fff;
		position: relative;
		font-size: 12px;
		margin-top: 35px;
		margin-left: auto;
	}
	#gloval-nav .cta_btn a span{
		position: relative;
		width: 30px;
		height: 1px;
		margin-right: 30px;
		color: #fff;
		background: currentColor;
		top: -3px;
		display: inline-block;
		left: 20px;
	}
	#gloval-nav .cta_btn a span::after{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 100%;
		width: 0;
		height: 0;
		border: 4px solid currentColor;
		border-top-color: transparent;
		border-right-color: transparent;
		border-right-width: 0;
		border-bottom-color: transparent;
	}
	
	
	.inner{margin: 0 15px; padding: 100px 0;}
	
	
/*-----------トップページ---------------------------*/
	.kv h2{
		font-size: 25px;
		margin: 0 15px;
		left: 0;
	}
	.kv, .kv::after{
		height: 90vh;
	}
	
	.about .inner .wrap .img_area{
		width: 100%;
	}
	.about .inner .wrap .text_area{
		width: 100%;
		margin-top: 40px;
	}
	.about .inner .wrap .img_area img {
		width: 60%;
		height: 100%;
	}
	.about .inner .wrap .img_area h4{
		font-size: 22px;
		position: relative;
        left: -30px;
	}
	.about .inner h3{
		top: 125px;
	}
	.btm-wrap {
		height: 150px;
	}
	.ttl{
		width: 100%;
		writing-mode: inherit;
	}
	.room_content{
		width: 100%;
		margin-top: 40px;
	}
	.ttl h3{
		writing-mode: inherit;
		right: auto;
		top: -20px;
		left: 28px;
	}
	.ttl h3 span {
		width: 15px;
		height: 2px;
		top: 10px;
		left: -20px;
	}
	.ttl h4{
		left: 0;
	}
	.room_content .wrap a {
		margin-top: 20px;
		padding-left: 15px;
	}
	.room_content .wrap a::after{
		left: 0;
	}
	.slide {
		width: calc(100vw / 2);
		margin: 0 5px;
	}
	.access .img_area, .access .access_detail{
		width:  100%;
	}
	.access .wrap {
		flex-direction: column-reverse;
	}
	.access .ttl{
		right: auto;
		bottom: auto;
	}
	.access table {
		margin: 10px 0 50px;
	}
	iframe {
		height: 280px;
	}
	.contact .wrap .ttl, .contact .wrap p, .contact .wrap a{
		width: 100%;
	}
	.contact .wrap p{
		padding: 30px 0;
	}
	
/*-----------footer---------------------------*/
	footer .inner{
		padding: 40px 0
	}
	footer .logo{
		width: 100%;
		text-align: center;
	}
	footer .nav{
		width: 100%;
		margin-top: 20px;
	}
	footer .nav .wrap{
		justify-content: space-around;
		margin-top: 30px;
	}
	footer .nav .wrap li{
		width: 30%;
		text-align: center;
		margin-bottom: 15px;
	}
	footer .nav .wrap li:last-child{
		width: 50%;
	}
	footer .copyright a{
		margin-bottom: 5px;
	}
	footer .nav a.en{
		margin: 30px auto 0;
	}
	footer .copyright{
		font-size: 10px;
		text-align: center;
	}
	
	.facilities_slider{
		margin-left: 5%;
	}
	.facilities_slider{
		margin-bottom: 60px;
	}
	
/*-----------aboutページ---------------------------*/	
	.sub_kv, .sub_kv::after{
		height: 250px;
	}
	.sub_kv h1 {
		font-size: 30px;
		top: 50%;
		left: 50%;
		width: 100%;
		padding-left: 20px;
	}
	.sub_kv h1 span{
		font-size: 12px;
	}
	.about_explain h3 {
		font-size: 20px;
		margin: 0 15px;
	}
	.about_explain .btm-wrap::after{
		height: 150px;
	}
	.about_txt{
		max-width: none;
		margin: 0 15px;
	}
	.about_txt p.sans:nth-child(2){
		margin-bottom: 0;
	}
	.feature .wrap .img_area, .feature .wrap .text_area{
		width: 100%;
	}
	.feature .wrap .text_area{
		margin-top: 20px;
	}
	.feature .wrap .text_area p.en{
		font-size: 12px;
	}
	.feature .wrap .text_area h4{
		font-size: 22px;
		padding: 0 10px 20px;
		margin-bottom: 20px;
	}
	.feature .wrap .text_area p {
		margin: 0px 10px;
	}
	.feature .wrap:last-child{
		margin-bottom: 0;
	}
	.facilities .wrap .ttl, .facilities .wrap table{
		width: 100%;
	}
	.facilities table th{
		text-align: left;
		width: 15%;
	}
	.facilities table td {
		padding: 15px 0 15px 10px;
	}
	.access .inner{
		padding: 100px 0;
	}
	.about .inner{
		padding-bottom: 100px;
	}
	.about_explain{
		padding-bottom: 50px;
	}
	.access table th{
		width: 33%;
	}
	.news .inner{
		padding-top: 50px;
	}
	.single_main .inner{
		margin: 0 15px;
	}
	.about_txt p{
		text-align: left;
	}
}

@media (min-width: 768px) {
  .sp_only{
	  display: none!important;
	}
	
  header .header_inner #logo {
    margin-left: 2em; }

  #sp_navi {
    display: none; }
}



/*----------------------------コンタクトフォーム-----------------------------*/
/* デザインカスタマイズ */
div.wpcf7 { 
	padding:0px; }
div.wpcf7 p { 
	padding:30px 0px 0; 
	margin:0; 
	font-size: 16px;
	line-height: 100%;
	 }
div.wpcf7 input.wpcf7-text, .wpcf7 textarea { 
	border:1px solid #333; 
	padding:16px; font-size:14px; 
	line-height: 100%; color: #999; 
	width: 100%; 
	border-radius: 0;
	font-weight: normal;}
input[type=text]:focus{
	border-radius: 0;
}
div.wpcf7 textarea { width:100%; height:200px; }
.wpcf7-acceptance{text-align: center; padding-top: 50px;}
.wpcf7 input[type="submit"] {
  cursor:pointer; margin: 0 auto; display:block;  border-radius: 0!important;
	background: linear-gradient(to bottom, #333, #767676);
    position: relative;
    display: flex;
	justify-content: center;
    align-items: center;
	width: 350px;
    padding: 20px;
    color: #fff;
    font-size: 18px;
    letter-spacing: .1rem;
    font-weight: 500;
}
.form_main p.grey{
	padding-top: 5px;
	color: #999;
	font-size: 14px;
}
.submit{position: relative;}
.submit::after{
	position: absolute;
	content: "";
    width: 30px;
    height: 10px;
	z-index: 1;
	left: 58%;
	top: 60%;
	border-bottom: 2px solid #000;
   border-right: 2px solid #000;
    transform: skew(45deg);
}
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }
.wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
	margin-top: 10px; 
	margin-left: 0; 
	font-weight: 400;
font-size: 14px;
line-height: 170%;
	display: block;}
.wpcf7-form-control.wpcf7-radio .wpcf7-list-item:nth-child(1){
	margin-top: 16px;
}
.wpcf7-date, .wpcf7-select{
	margin-top: 10px;
	font-weight: normal;
	width: 100%;
	color: #999;
	font-size: 14px;
	line-height: 100%;
	padding: 10px 15px;
}
.menu-338{
	margin-left: 10px;
}
.menu-338, .date-944{
	display: inline-block;
	width: 35%;
}
 
 
/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}
 
/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
.wpcf7 .normal{
	font-weight: normal;
	font-size: 14px;
}

input :not(*):placeholder-shown, div.wpcf7 input.wpcf7-text, .wpcf7 textarea{
	color: #333;
}
input[type="text"]:focus, input[type="email"]:focus, textarea{
	outline: none;
	outline-color: #333;
}

@media (min-width: 768px){
	.wpcf7-form-control.wpcf7-radio .wpcf7-list-item{
		display: inline-block;
		margin-left: 20px;
	}
	.recruit_top .wrap .text p{font-size: 18px;}
}

@media (max-width: 767px){
	div.wpcf7 input.wpcf7-submit{
		width: 100%;
	}
	.privacy{padding-top: 100px;}
}

.privacy_main .block{margin-top: 40px;}
.privacy_main .privacy ol{padding-left: 40px;}
.privacy_main .privacy ol li{list-style-type: decimal; padding-bottom: 5px;}
.privacy_main h4{
	font-size: 18px;
    padding-bottom: 15px;
}
.privacy_main .block p{
	font-family: "Noto Sans JP", sans-serif;
	line-height: 2;
}
.form_main .wpcf7-form-control-wrap a{display: inline-block;}
.form_main .center{text-align: center; font-size: 14px;}
