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

/************************
 BASE
*************************/
html {
	font-size: 62.5%;
	overflow-x: hidden;
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;
	font-style: normal;
	font-kerning: auto;
	font-size: 16px;
  font-size: 1.6rem;
	line-height: 2.0;
	color:#fff;
	overflow-x: hidden;
	letter-spacing: .5px;
	-webkit-font-smoothing: antialiased;
	background: #000;
}
span.ilb {
	display: inline-block !important;
	font-size: inherit !important;
}

.eng {
	font-family: 'Noto Sans', sans-serif;
}

body * {
	box-sizing: border-box;
}

a {
	transition: .5s;
	color:#fff;
	cursor: pointer;
}
a:hover {
	color:#fff;
	opacity:1.0 !important;
}
ul, li, ol {
	list-style: none;
}

img {
	/* display: block; */
	height: auto;
	max-width:100%;
}
.prepare{
	text-align: center;
	font-weight: bold;
	padding: 100px 0;
}

h1,h2,h3,h4,h5{
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
}

select.CMS-FORM-SELECT {
	color: #000;
  border-radius: 0;
}

small {
	display: inline-block;
	font-size: 80%;
	line-height: 1.6;
}

*:last-child {
	margin-bottom:0 !important;
}

@media screen and (min-width: 768px) {
	.sp-only {
		display: none!important;
	}
}

@media screen and (max-width: 767px) {
	.sp-none {
		display: none!important;
	}
	.no-top #mainvisual{
		padding-top:0;
	}
}

@media screen and (min-width: 480px) {
	.pc-480none {
		display: none!important;
	}
}

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

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

@media screen and (min-width: 371px) {
	.pc-370none {
		display: none!important;
	}
}

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

@media screen and (max-width: 767px) {
	.tab-only {
		display: none!important;
	}
	.sp-none {
		display: none!important;
	}
	body {
		font-kerning: auto;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.6;
	}
	a[href^="tel:"] {
		text-decoration: underline !important;
	}

}
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
	.u-tab-only {
		display: none!important;
	}
	.sp-only {
		display: none!important;
	}
}

/************************
 .sc-fade
*************************/

.sc-fade {
	opacity : 0;
	transform : translate(0, 50px);
	transition:all 0.8s;
}

.sc-fade.sc-fadein {
	opacity : 1;
	transform : translate(0, 0);
}



/************************
 material
*************************/
.button {
	max-width:350px;
	width:20%;
	font-size: 1.8rem;
	font-weight: 700;
	margin: auto;
	font-size: 2.0rem;
	padding: 0.5rem 1.6rem;
	color: #000;
	border: 1px solid #333;
}
.button-normal {
	background-color: transparent;
	color: #FFF;
	/* border: 1px solid #fff; */
}

.btn_corp .button-normal {
	background-color: #000;
	color:#FFF;
}
.button-primary {
	background-color: #0071bc;
	color:#FFF;
}
.button-caution {
	background-color: transparent;
	color: #FFF;
	/* border: 1px solid #fff; */
}
.button-caution:hover, .button-primary:hover {
	color:rgba(255,255,255,0.8);
}
span.ul {
	position:relative;
	display: inline-block;
}
span.ul:after {
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: #ffe200;
    height: 4px;
    width: 100%;
    content: "";
}


/************************
 layout
*************************/

.d-flex {
	display: flex;
	justify-content: center;
}
.d-block {
	display: block;
}
.text-right {
	text-align: right;
}
.text-center {
	text-align: center;
}

/**header**/

header {
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	position: fixed;
	background: rgba(0, 0, 0, 0.8);
}
.header::before{
	position: absolute;
z-index: 1;
top: 0;
left: 0;
width: 100%;
height: 0%;
content: "";
background: #1e489d;
background: -webkit-gradient(linear, left top, right top, from(#315399), to(#162560));
background: -o-linear-gradient(left, #315399 0%, #162560 100%);
background: linear-gradient(90deg, #315399 0%, #162560 100%);
-webkit-transition: height 0.3s ease-in-out;
-o-transition: height 0.3s ease-in-out;
transition: height 0.3s ease-in-out;
}
.header.is-fixed{
	box-shadow: 0px 7px 13px 0px rgba(39, 39, 39, 0.3);
}
.header.is-fixed::before{
	height: 100%;
}
header .container {
	width:100%;
	max-width: 100%;
	padding: 0 20px;
	background: transparent;
}
header .container .d-flex{
    width: 100%;
    height:64px;
    flex-flow: row;
    justify-content: space-between;
    align-items: center;
}
header .container h1{
	margin-bottom:0;
}
header .container .logo img {
	/* max-width:80px; */
}
header .container .logo a {
	display: flex;
	align-items: center;
	text-decoration: none;
}
header .container .logo a h1 {
	display: inline-block;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 700;
	font-size:1.5rem;
	line-height: 1.2;
	margin-left: 0.7rem;
}
header .container .logo a span {
	display: block;
	font-size:2.0rem;
}
header .container h1 a span {
  display: inline-block;
  margin-left:1em;
	display: none;
}
.nav_btn{
	display: flex;
	max-width: 1000px;
	margin:0 auto;
}
.nav_btn li{
	max-width: 140px;
	margin: 0 auto;
	padding: 0 15px;
}
.nav_btn li a{
	color:#fff;
	font-size: 15px;
	text-decoration: none;
	position: relative;
  display: inline-block;
  text-decoration: none;
}
.nav_btn li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.nav_btn li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
header .container nav * {
	margin-bottom: 0;
}
header .container nav ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header .container nav ul li {
	margin-right:1rem;
}
header .container nav ul > li:last-child {
	margin-right:72px;
}
header .container nav ul li a.button {
	font-size: 0.7em;
	padding:10px;
}
header .container nav ul li a.button img {
	margin-bottom:0.5em;
}

/**sp用**/

.sp-gnav{
	top: 0em;
left: 0;
z-index: 1000;
width: 100%;
position: fixed;
}
.sp-only-header nav {
	background-color: rgba(0, 0, 0, 0.8);
}
.sp-only-header nav ul {
    display: block;
}
.sp-only-header nav ul li a {
	display: block;
	color: #fff;
	padding: 0 15px 10px;
	text-decoration: none;
	font-weight:400;
}
.sp-only-header nav ul li a span{
	color: #b52334;
	background: #fff;
	font-size: 12px;
	padding: 2px 10px;
	line-height: 35px;
}
.sp-only-header nav ul li {
	/* border-bottom:1px dotted #fff; */
	margin-bottom: 0;
}
.sp-only-header {
	top: 0em;
	left: 0;
	z-index: 1000;
	width: 100%;
	position: fixed;
}
.sp-only-header .drawer-hamburger {
	background: #000!important;
	color: #fff;
	padding: 0;
	height: 62px;
	font-size: 12px;
	width: 70px;
	text-align: center;
	line-height: 1.2;
	font-weight: 500;
	z-index: 11;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #fff;
}
.drawer--right.drawer-open .drawer-hamburger {
    right: 25rem;
}
.sp-only-header .drawer-nav {
    position: fixed;
    z-index: 11;
    top: 0;
		right: -25rem;
    overflow: hidden;
    width: 25rem;
    height: 100%;

}
.drawer-overlay {
	z-index: 10;
}
.sp-only ul.d-flex{
	background:#b52334;
	margin-top: 4.55em;
	text-align: center;
	display: flex;
	justify-content: space-between;
	z-index: 900;
	width: 100%;
	position: fixed;
	}
.sp-only ul.d-flex li {
	padding:17px 0px;
	margin-bottom:0;
	border-right: 1px solid #000;
	width: 100px;
	line-height: 1.0;
}
.sp-only ul.d-flex li.brder-none {
	border:none;
}
.sp-only ul.d-flex li:nth-child(5){
	border:none;
}
.sp-only ul.d-flex li a{
	color:#fff;
	font-size:2vw;
	padding: 10px 3px;
}
.sp-only ul li ul {
		margin: 0;
}
.sp-only ul li ul {
	font-size: 100%;
}
.sp-only ul li ul li.add {
    color: #fff;
    border-bottom: 1px dotted #fff;
    padding: 7px 0;
    margin: 0 15px 15px;
    position: relative;
  }
	.sp-only ul li ul li.add:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 15px;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    border-width: 10px 10px 0 10px;
  }
	.sp-only ul li.add-1 {
		border-bottom: 1px solid #fff;
		margin-top: 15px;
  }
	.sp-only ul li.add-2 {
    border-top: 1px solid #fff;
		padding-top: 10px;
  }
	.sp-only ul li:last-child a:before {
		content: ""
	}
header .container nav ul > li:last-child{
	margin-right: 52px;
}

@media screen and (min-width: 768px) {
	header .container .d-flex {
		height:80px;
		align-items: center;
	}
	header .container h1 img {
		max-width: 400px;
		width: 100%;
		margin: 0 auto;
	}
	header .container h1 a {
	font-size:2.0rem;
	}
	header .container h1 a span {
		display: inline-block;
		margin-left:1em;
		font-size: 15px;
	}

	header .container {
		padding: 30px 40px;
		background: transparent;
	}

	header .container nav ul li a.button {
		font-size: 0.9em;
		padding: 15px 35px;
		position:relative;
		background: #333;
	}
	header .container nav ul li a.button:hover{
		color: rgba(255,255,255,0.8);
	}
	/* header .container nav ul li .button:before {
	content: "\f105";
	position:absolute;
	left:8px;
	font-family: 'FontAwesome';
} */

	header .container nav ul li a.button img {
		margin-bottom:0;
	}
	header .container nav ul > li:last-child {
		margin-right:0;
	}
}


/**footer**/

footer {
	text-align: center;
	border-top: 1px solid #333;
	padding-top: 3em;
}
footer .footer_top {
	padding: 0 2.0rem 0;
}
footer .footer_top .logo {
	margin: 20px auto;
}
footer .footer_top .logo img {
	/* max-width:90px; */
}
footer .footer_top .logo a {
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	margin: 40px 0 !important;
}
footer .footer_top .logo a h1 {
	display: inline-block;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 700;
	font-size:1.5rem;
	text-align: left;
	line-height: 1.2;
	margin-left: 0.7rem;
}
footer .footer_top .logo a span {
	display: block;
	font-size:2.5rem;
}
footer .footer_top h1 a span {
  display: inline-block;
  margin-left:1em;
	display: none;
}
footer .footer_top p, footer .footer_top a {
	font-size:1.2rem;
	text-decoration: none;
	pointer-events: auto;
}
footer .footer_top p {
	margin-top:8px;
}
footer .footer_top p a:hover {
	color: #b52334;
}
footer .footer_btm p {
	font-size:1.1rem;
	padding:1.6rem;
}
.footer_contents {
	margin: 0 auto;
}
.footer_contents table {
  display: inline-block;
	font-size: 1.4rem;
}

/***追従するトップへ戻るボタン***/
#page-top {
	position: fixed;
	right: -35px;
	bottom: 55px;
	height: 50px;
	text-decoration: none;
	font-weight: 500;
	transform: rotate(90deg);
	font-size: 1.2em;
	line-height: 3.5rem;
	padding: 0 0 0 35px;
	border-top: solid 1px;
	letter-spacing: 2px;
	font-family: 'Noto Serif JP', serif;
}
#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}
.no-top #mainvisual .img-wrapper .d-flex .copy-box{
	display: block;
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	background: rgba(0, 0, 0, 0.8);
	padding: 3%;
	/* height: 400px; */
	/* margin-top: 5em; */
}
/***トップへ戻るボタンここまで***/
@media screen and (min-width: 768px) {
	footer .footer_top p {
	font-size:1.2rem;
	}
	footer .footer_btm p {
		font-size:1.2rem;
	}
}


/** index #mainvisual **/

#mainvisual {
	width:100%;
	position:relative;
}
body:not(.no-top) #mainvisual .img-wrapper {
	padding-top:64px;
	width:88%;
	max-width:1664px;
	margin:auto;
}

.txt-wrapper {
	text-align: center;
  background-size: cover;
	position:relative;
}
.txt-wrapper:before {
	content:"";
	width:100%;
	height:120px;
	position:absolute;
	top:-120px;
	left:0;
	z-index: -1;
}
.txt-wrapper h2 strong {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	display: inline-block;
	text-align: center;
	position:relative;
	z-index: 1;
}
.txt-wrapper h2 {
	font-size:4.8rem;
	margin-bottom: 40px;
	text-align: center;
	position: relative;
	/* text-shadow: 0 0 2px white; */
	}
.txt-wrapper h2 span {
	font-size:2.0rem;
	text-align: center;
	display: block;
}

@media screen and (min-width: 768px) {
	body:not(.no-top) #mainvisual .img-wrapper {
		padding-top:80px;
	}

	.txt-wrapper h2 {
		font-size:5.6rem;
	}

}

/** detail #mainvisual **/
.no-top #mainvisual {
	padding-bottom:0;
	position:relative;
	height:auto;
}

@keyframes fadein {
from {
    opacity: 0;
    transform: translateY(20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.no-top #mainvisual .img-wrapper img{
	width: 100%;
	height: 700px;
	object-fit: cover;
	animation-name: fadein;
animation-duration: 2s;
}
.no-top #mainvisual .img-wrapper .d-flex {
	/* height:100%; */
	flex-flow:column;
	justify-content: space-between;
}

	.no-top #mainvisual {
		padding-top: 4em;
		position:relative;
	}
	.no-top #mainvisual .img-wrapper {
		background: url("../img/mainimg_rec01.jpg") no-repeat center;
		background-size: cover;
		height: 700px;
		position: relative;
	}

	.no-top #mainvisual .img-wrapper.detail2 {
		background: url("../img/mainimg_rec02.jpg") no-repeat center;
		background-size: cover;
		height: 700px;
	}


	.no-top #mainvisual .img-wrapper .container {
		max-width:1728px;
		position: absolute;
		top: 50%;
	  left: 50%;
	  -webkit-transform : translate(-50%,-50%);
	  transform : translate(-50%,-50%);
		height: 100%;
		width: 90%;
	}
	.detail.no-top #mainvisual .img-wrapper .container {
		height: auto;
	}
	.no-top #mainvisual .img-wrapper .icon {
		width:60%;
		margin:20px auto 0;
	}
	.no-top #mainvisual .img-wrapper .d-flex {
		/* height:100%; */
		flex-flow:row;
		justify-content: center;
		/* margin: 140px 0 0; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 strong{
		font-size:5rem;
		margin-bottom:0.25em;
		text-align: center;
  	color:#fff;
	}

.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 {
		font-size:4rem;
		margin-bottom:0.25em;
		text-align: center;

	}

	.no-top #mainvisual .img-wrapper .d-flex .maiTit p strong{
		font-size:5.5rem;
		font-weight:600;
		letter-spacing: 6px;
		color: #fff;
		text-shadow: 0 0 10px #000;
	}

	.point_box1{
		display: flex;
		justify-content: space-between;
		width: 420px;
	}
	.point_box2{
		display: flex;
		justify-content: space-between;
		width: 420px;
	}
@media screen and (max-width: 767px) {
	header .container .logo img {
    max-width: 65%;
	}
	header .container .logo a h1 {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-left: 0.7rem;
	}
	header .container .logo a span {
    font-size: 1.5rem;
	}
	header{
		/* background:#fff; */
	}
	.no-top #mainvisual{
		padding-top: 108px;
	}
	.detail.no-top #mainvisual{
		padding-top: 6.3em;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1{
		font-family: 'Noto Serif JP', serif;
		font-size: 1.4rem;
		color:#fff;
		margin-bottom: 0.25em;
		text-align: center;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 strong{
		text-align: center;
		color: #fff;
		text-shadow: 1px 1px 20px #000;
		font-size: 4rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit p{
		font-size: 1.8rem;
		font-family: 'Noto Serif JP', serif;
		font-weight: 400;
		text-align: center;
		color: #fff;
		padding: 10px 0 10px 10px;
		text-shadow: 1px 1px 20px #000;
		border-top: 1px solid #b52334;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit .kv_koyo{
		display: inline-block;
		padding: 5px 10px;
		margin: 0.5em auto 1em;
    border: 1px solid #fff;
		color:#fff;
		font-weight: 700;
		text-shadow: none;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box {
		/* height: 420px; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span{
		font-size:2.5rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price{
		font-size:3rem;
	}

	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price-color {
    color: #b52334;
    font-size: 2rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price-color {
    color: #b52334;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap {
		display: flex;
		justify-content: center;
		/* padding-bottom: 20px; */
		/* padding-top: 20px; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap li {
    width: 90px;
    height: 90px;
    color: #000;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.2;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 400;
    margin: 0 1.5%;
	}
}


@media screen and (max-width:460px){
	.no-top #welfare .container .fBox .text-box h3{
		font-size: 1.7rem;
	}
	.no-top #welfare .container .fBox .text-box {
    padding: 25px 10px;
  }
}

@media screen and (min-width: 768px) {
	.no-top #mainvisual {
		position:relative;
	}
	.no-top #mainvisual .img-wrapper .icon {
	position:absolute;
	right:40px;
	top:90px;
	width:18%;
		margin:0;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap {
		display: flex;
		justify-content: center;
		/* padding-bottom: 20px; */
		/* padding-top: 20px; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap li {
		width:160px;
		height:160px;
		text-align: center;
		font-size:1.6rem;
		line-height: 1.4;
		justify-content: center;
		align-items: center;
		font-weight:600;
		margin:0 1.5%;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 {
		font-size:4.8rem;
		margin-bottom:0.25em;
		text-align: center;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box{
		display: inline-block;
		max-width: 800px;
		width: 100%;
		/* margin: 0 auto; */
		/* padding-top: 40px; */
		/* padding-bottom: 40px; */
		text-align: center;
		background: rgba(0, 0, 0, 0.8);
		/* padding: 3%; */
		height: 100%;
		/* margin-top: 5em; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit p {
		font-family: 'Noto Serif JP', serif;
		color: #fff;
		text-shadow: 0 0 8px #000;
		font-size: 2.4rem;
		font-weight: 500;
		max-width: 800px;
		text-align: center;
		padding: 10px 0;
		line-height: 1.8;
		letter-spacing: 0.07em;
		font-size: 2rem;
		border-top: 1px solid #b52334;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price-color{
		color: #b52334;
		font-size: 3.4rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span{
		font-size:3rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price{
		font-size:5rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span.price-color{
		color: #b52334;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap li {
		width: 90px;
		height: 90px;
		color: #b52334;
		background-color: #fff;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.2;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 400;
		margin: 0 1.5%;
	}
}

.maiTit{
	  /* text-shadow: 1px 1px 1px #fff, -1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff; */
}

.wrap {
  padding: 16px;
}

.text {
	width: 100%;
  margin: 50px 0 0;
  opacity: 0;
	position: absolute;
	/* top: -55em; */
	padding: 1em 2em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	text-shadow: 0px 0px 10px  #000;
	color: #fff;
	line-height: 1.5;
	text-align: right;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.text-move {
  opacity: 0;
  display: inline-block;
  transform: scale(1.25) translate(8px, 4px);
  font-size: 80px;
  letter-spacing: 0.02em;
}

.text-move:nth-child(1) {
  transition: opacity 1.5s ease 0.1s, transform 1.2s ease 0.2s;
}
.text-move:nth-child(2) {
  transition: opacity 1.5s ease 0.2s, transform 1.2s ease 0.3s;
}
.text-move:nth-child(3) {
  transition: opacity 1.5s ease 0.3s, transform 1.2s ease 0.4s;
}
.text-move:nth-child(4) {
  transition: opacity 1.5s ease 0.4s, transform 1.2s ease 0.5s;
}
.text-move:nth-child(5) {
  transition: opacity 1.5s ease 0.5s, transform 1.2s ease 0.6s;
}
.text-move:nth-child(6) {
  transition: opacity 1.5s ease 0.6s, transform 1.2s ease 0.7s;
}
.text-move:nth-child(7) {
  transition: opacity 1.5s ease 0.7s, transform 1.2s ease 0.8s;
}
.text-move:nth-child(8) {
  transition: opacity 1.5s ease 0.8s, transform 1.2s ease 0.9s;
}
.text-move:nth-child(9) {
  transition: opacity 1.5s ease 0.9s, transform 1.2s ease 1s;
}
.text-move:nth-child(10) {
  transition: opacity 1.5s ease 1s, transform 1.2s ease 1.1s;
}
.text-move:nth-child(11) {
  transition: opacity 1.5s ease 1.1s, transform 1.2s ease 1.2s;
}
.text-move:nth-child(12) {
  transition: opacity 1.5s ease 1.2s, transform 1.2s ease 1.3s;
}

.text.active {
  opacity: 1;
}

.text.active .text-move {
	opacity: 1;
	transform: scale(1) translate(0);
	font-size: 6.5rem;
	letter-spacing: 0.01em;
}
@media screen and (min-width:768px) and (max-width:1350px){
	.text.active .text-move {
		font-size: 4.8vw;
	}
}
@media screen and (max-width:1000px){

	.text {
		text-align: center;
	}
}

@media screen and (max-width:950px){
	.no-top #mainvisual .img-wrapper .container {
		width: 100%;
		/* padding: 140px 0 0; */
	}
	.text {
		margin: auto;
		width: 100%;
		top: 50%;
	  left: 50%;
	  -webkit-transform : translate(-50%,-50%);
	  transform : translate(-50%,-50%);
	}
  .text.active .text-move {
    font-size: 6.0rem;
  }
	.no-top #mainvisual .img-wrapper .d-flex {
		margin: 0;
	}
}

@media screen and (max-width:800px){
	.text.active .text-move {
    font-size: 5.5rem;
  }
}

@media screen and (max-width:640px){
  .text-move {
    font-size: 30px;
  }
}

/** detail pankuzu **/
.no-top .pankuzu {
/*
	position:absolute;
	top:780px;
*/
	position:relative;
	width:100%;
	z-index: 1;
	padding: 16px 0;
}
.no-top .pankuzu .inner {
	line-height: 1.2;
	padding:0 40px;
}
.no-top .pankuzu * {
	color:#fff;
}
.no-top .pankuzu li {
	display: inline-block;
	margin-right:0.8rem;
}
.no-top .pankuzu li:after {
	content:">";
	padding-left: 0.8rem;
}
.no-top .pankuzu li:last-child:after {
	content:"";
}

@media screen and (min-width: 768px) {
	.no-top .pankuzu {
		padding: 20px 0 0;
	}
}

/** #contents **/
#contents {
	margin-bottom:10px;
}
#contents section {
    padding: 56px 0 100px;
}
#contents section#work_txt {
	padding:56px 0 50px;
}
#contents section h2 {
	text-align: center;
	font-size:4.8rem;
}

#contents section h2 strong {
	font-size: 13rem;
	line-height: 1.2;
	margin-bottom: 40px;
	color:#fff;
	text-align: center;
	position: relative;
	/* text-shadow: 0 0 2px white; */
	z-index: 1;
	font-family: 'Antonio', sans-serif;
	font-weight: 500;
	letter-spacing: -0.01em;
	}

	#contents section .about_ttl h2{
	text-align: left;
	display: flex;
	align-items: center;
	margin-top: 5em;

}
#contents section .about_ttl h2:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
	margin-left: .4em;
}
#contents section .about_ttl h2 strong {
	padding-left:0.5em;
	}


	#contents section .privacy_ttl h2{
	text-align: left;
	display: flex;
	align-items: center;
	margin-bottom: 2em!important;
}
#contents section .privacy_ttl h2:after,#contents section .privacy_ttl h2:before  {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
	margin:0 0.4em;
}

#contents section .privacy_ttl h2 strong {
	padding-left:0.5em;
	font-size: 7rem;
	margin-bottom:0;
	}


	#contents section .thanx_ttl h2{
	text-align: left;
	display: flex;
	align-items: center;
	margin-bottom: 2em!important;
}
#contents section .thanx_ttl h2:after,#contents section .thanx_ttl h2:before  {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
	margin:0 0.4em;
}

#contents section .thanx_ttl h2 strong {
	padding-left:0.5em;
	font-size: 7rem;
	margin-bottom:0;
	}


	#contents section .recruit_ttl h2 strong {
		padding-right:0.5em;
		}
	#contents section .recruit_ttl h2{
	text-align: right;
	display: flex;
	align-items: center;
}
#contents section .recruit_ttl h2:before {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
	margin-right: .4em;
}


#contents section .vision_ttl h2{
text-align: right;
display: flex;
align-items: center;

}
#contents section .vision_ttl h2:before {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #fff;
	display: block;
	margin-right: .4em;
}
#contents section .vision_ttl h2 strong {
font-size: 13.5rem;
line-height: 1.2;
margin-bottom: 40px;
text-align: center;
position: relative;
/* text-shadow: 0 0 2px white; */
z-index: 1;
font-family: 'Antonio', sans-serif;
font-weight: 500;
padding-right:0.5em;
}

#contents section .work_ttl h2{
	text-align: left;
	display: flex;
	align-items: center;
	font-size: 3.0rem;
	margin-top: 5%;
}
	#contents section .work_ttl h2:after {
		content: "";
		flex-grow: 1;
		height: 1px;
		background: #fff;
		display: block;
		margin-left: .4em;
	}

	#contents section .work_ttl h2 strong {
		padding-left:0.5em;
		}




	#contents section .welfare_ttl h2{
	text-align: right;
	display: flex;
		align-items: center;
	}
	#contents section .welfare_ttl h2:before {
		content: "";
		flex-grow: 1;
		height: 1px;
		background: #fff;
		display: block;
		margin-right: .4em;
	}
	#contents section .welfare_ttl h2 strong {
		padding-right:0.5em;
		}



		#contents section .interview_ttl h2{
		text-align: left;
		display: flex;
		align-items: center;
			}
			#contents section .interview_ttl h2:after {
				content: "";
				flex-grow: 1;
				height: 1px;
				background: #fff;
				display: block;
				margin-left: .4em;
			}

		#contents section .interview_ttl h2 strong {
			padding-left:0.5em;
			}



		#contents section .message_ttl h2{
		text-align: right;
		display: flex;
		align-items: center;
			}
			#contents section .message_ttl h2:before {
				content: "";
				flex-grow: 1;
				height: 1px;
				background: #fff;
				display: block;
				margin-right: .4em;
			}
		#contents section .message_ttl h2 strong {
			padding-right:0.5em;
			}


			#contents section .guideline_ttl h2{
			text-align: left;
			display: flex;
			align-items: center;
				}
			#contents section .guideline_ttl h2:after {
			content: "";
			flex-grow: 1;
			height: 1px;
			background: #fff;
			display: block;
			margin-left: .4em;
				}
		#contents section .guideline_ttl h2 strong {
			padding-left:0.5em;
				}



		#contents section .entry_ttl h2{
		text-align: right;
		display: flex;
		align-items: center;
		}
		#contents section .entry_ttl h2:before {
			content: "";
			flex-grow: 1;
			height: 1px;
			background: #fff;
			display: block;
			margin-right: .4em;
		}
		#contents section .entry_ttl h2 strong {
		padding-right:0.5em;
		}
	#contents section h2 span {
	font-size:2.0rem;
	text-align: center;
	display: block;
}

#contents section h2.sp-only {
	clear:both;
}
.no-top #contents section .container {
	max-width:1584px;
}

#contents .bg_color{
	background: #191922;
}
#contents.privacy .bg_color,
#contents.thanks .bg_color{
	background: none;
}
#message .container{
	position: relative;
	width: 100%;
	height: 100%;
}
#message .container .photoBox{
	position: relative;
	width: 100%;
	padding-left: 37.5vw;
}
@media screen and (min-width:2000px){
	#message .container .photoBox{
		padding-left: 750px;
	}
	#message .container .txtBox-txt {
		width: 800px !important;
	}
}

#message .container .txtBox{
	/* display: flex; */
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	position: absolute;
	top: 20em;
	left: 4em;
	width: 43vw;
	max-width: 650px;
	padding: 4vw 2.5vw;
	z-index: 1;
	background: #191922;
	margin: 0 auto;
}
#message .container .txtBox ul{
	display: inline-block;
	font-family: 'Noto Serif JP', serif;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: left;
	line-height: 1.8;
	letter-spacing: 0.02em;
	margin-bottom: 3.0rem;
}
#message .container .txtBox-txt {
	/* display: flex; */
	/* flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	position: absolute; */
	/* right: 4em; */
	width: 43vw;
	/* height: 22em; */
	padding: 3vw 2.5vw;
	z-index: 1;
	color: #fff;
	margin: 0 3em 0 auto;
}
@media screen and (min-width: 768px) {
	#contents section h2 {
		font-size:2.6rem;
		padding: 0 5%;
		margin-bottom: 3%;
	}

	#contents section h2 span{
		font-size:2.0rem;

	}
}

@media screen and (max-width:767px){
	.privacy_txt h3{
		font-size: 20px;
	}

	.privacy_txt{
		padding:0 20px;
		margin-top: 2em;
	}
}

@media screen and (max-width:767px){
	.txt-wrapper{
		padding:0;
		margin:0;
	}
	.txt-wrapper h2 strong{
		font-size: 3.6rem;
	}
	.txt-wrapper p{
		text-align: left;
	}
	#contents section h2 strong{
		font-size: 3.6rem!important;
		margin-bottom:0;
	}
	#contents section .about_ttl h2{
		margin-bottom: 2em!important;
	}
	#contents section .vision_ttl h2 strong{
		font-size: 3.6rem;
		margin-bottom:0;
	}
	#contents section h2 span {
		font-size: 1.5rem;
	}
	#contents section h2 {
		font-size: 1.8rem;
	}

	.button{
		max-width: 250px;
		width: 40%;
		font-weight: normal;
		margin: 2em auto 0;
		font-size: 1.5rem;
		padding: 0.4rem;
		color: #000;
		border: 1px solid #333;
	}
}

@media screen and (max-width:830px){
	#message .container .txtBox {
		top: 15em;
	}
}

@media screen and (max-width:720px){
	#message .container{
		position: relative;
		width: 100%;
		height: 100%;
		padding: 0 20px;
	}
	.six.columns {
    text-align: center;
	}
	#message .container .photoBox{
		padding-left: 0;
	}
	#message .container .txtBox{
		position:inherit;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		padding: 15px;
		margin: 0 auto 20px;
		z-index: 1;
	}
	#message .container .txtBox-txt {
		width: 100%;
		height: auto;
	}
}

/** info-wrapper **/
.info-wrapper {
	background:url("../img/contact_back.jpg") center no-repeat;
	background-size: cover;
	padding:40px 0;
}
.info-wrapper .d-flex {
	justify-content: space-between;
	flex-flow: column;
	align-items: center;
}
.info-wrapper .d-flex > div {
	margin: 0 auto 4.0rem;
	width:100%;
	text-align: center;
}
.info-wrapper .d-flex .tel-box h2 {
	font-size:2.5rem;
	margin-bottom: 0;
	color:#fff;
	text-align: center;
	font-weight: 700;
}
.info-wrapper .d-flex .tel-box p {
	margin: 0.5em 0;
	line-height: 1.5;
	text-align: center;
}
.info-wrapper .d-flex .tel-box a[href^="tel:"] {
	font-size:4.0rem;
	font-family: 'Antonio', sans-serif;
	color:#b52334;
	text-decoration: none;
	font-weight:bold;
	line-height: 1;
}
.info-wrapper .d-flex .tel-box a[href^="tel:"]:before {
	content: "\f095";
	font-family: FontAwesome;
	display: inline-block;
	margin-right:0.2em;
}
.info-wrapper .d-flex .tel-box .time-box {
	width:100%;
	text-align: center;
	font-size:1.5rem;
	color:#fff;
}
.btn-box{
	justify-content: center;
	display: flex;
}
.info-wrapper .d-flex .btn-box .button{
	width:75%;
	font-size: 1.8rem;
	padding:0 16px ;
	margin-bottom: 2.4rem;
	background-color: #fff;
	height:72px;
	line-height: 72px;
	color:#000;
	position:relative;
	font-weight: 700;
}

.info-wrapper .d-flex .btn-box .button.button-caution {
    width: 75%;
    font-size: 2.0rem;
    padding: 0 16px;
    margin-bottom: 2.4rem;
    background-color: #000;
    height: 72px;
    line-height: 72px;
    color: #FFF;
    position: relative;
    font-weight: normal;
}


@media screen and (min-width: 768px) {
	.info-wrapper .d-flex .tel-box a[href^="tel:"] {
		font-size:5.2rem;
	}
	.info-wrapper .d-flex {
		/* flex-flow: row; */
		justify-content: center;
	}
	.info-wrapper .d-flex .tel-box p {
		line-height: 1.5;
		text-align: center;
	}

	.info-wrapper .d-flex .tel-box .time-box {
		text-align: center;
	}

	.info-wrapper .d-flex > div h2 {
		text-align: left;
	}
	.info-wrapper .d-flex .tel-box a[href^="tel:"] {
		font-size:8.0rem;
	}
}

@media screen and (min-width: 768px) {
	.no-top #introduction .container.d-flex {
		justify-content: space-between;
		flex-flow: row;
	}
	.no-top #introduction .container .photo-box, .no-top #introduction .container .text-box {
		width:45%;
	}
	.no-top #introduction .container .text-box h2 {
		font-size: 3.4rem;
		text-align: left;
		background: none;
		padding: 0 0 0 4%;
	}
	.no-top #introduction .container .text-box p {
		padding: 1% 0 1% 4%;
		text-align: left;
	}


	.no-top #introduction.rec02 .container{
		background: url("../img/bg_intro_rec02.jpg") no-repeat left;
		padding:40px 0 40px 48%;
	}
	.no-top #introduction.rec02 .container .text-box{
		width:100%;
	}
}
@media screen and (max-width: 767px) {
	.no-top #introduction .txt-wrapper h2 {
		margin-bottom: 20px;
	}
	.no-top #introduction .container .text-box h2 {
    font-size: 2.5rem;
    text-align: left;
    background: none;
    padding: 0;
	}
}

/** .no-top #vision **/

.no-top #vision .container .eng_tit {
		position:absolute;
		left:0;
		top:0;
		width:5%;
		max-width:70px;
	}
.no-top #vision .container .txtBox{
		position:relative;
	}

.no-top #vision .container .txtBox .step1_img, .no-top #vision .container .txtBox .step2_img, .no-top #vision .container .txtBox .step3_img {
		width:80%;
		margin:0 auto 40px;
	}
.no-top #vision .container .txtBox .stepBox {
		display: flex;
		flex-flow: column;
		justify-content: center;
		margin:0 auto 40px;
	}
.no-top #vision .container .txtBox .stepBox:last-child {
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}
.no-top #vision .container .txtBox .stepBox img {
	margin-bottom:20px;
}

@media screen and (max-width:460px){
	.no-top #welfare .container .fBox .text-box h3{
		font-size: 1.7rem;
	}
	.no-top #welfare .container .fBox .text-box {
    padding: 25px 10px;
  }
}
.no-top #mainvisual .img-wrapper .d-flex .pointWrap {
display: flex;
justify-content: center;
padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
	.no-top #mainvisual {
		position:relative;
		padding-top: 8.8em;
	}
	.no-top #mainvisual .img-wrapper .icon {
		position:absolute;
		right:40px;
		top:90px;
		width:18%;
		margin:0;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap {
		display: flex;
		justify-content: center;
		/* padding-bottom: 20px; */
		/* padding-top: 20px; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap li {
		width: 110px;
		height: 110px;
		color: #000;
		background-color: rgba(255, 255, 255, 0.8);
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.2;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 400;
		margin: 0 1.5%;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 {
		font-size: 2rem;
		color: #fff;
		margin-bottom: 0em;
		text-align: center;
		font-family: 'Noto Serif JP', serif;
		font-weight: 500;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit .kv_koyo{
		display: inline-block;
		padding: 3px 10px;
		margin: 0.5em auto 1em;
		border: 1px solid #fff;
		font-weight: 700;
		text-shadow: none;
	}
}

@media screen and (max-width: 480px) {
	.no-top #mainvisual .img-wrapper .container {
    width: 100%;
    /* padding: 88px 0 0; */
	}
	.no-top #mainvisual .img-wrapper img{
		width: 100%;
		height: 500px;
		object-fit:cover;
	}
	.text {
	  text-align: center;
	  opacity: 0;
		position: absolute;
		padding: 1em 20px;
		font-family: 'Noto Serif JP', serif;
		font-weight: 700;
		text-shadow: 0px 0px 10px #000;
		color: #fff;
	}
	.text.active .text-move{
		font-size: 2.5rem;
	}
	.no-top #contents section .container{
		display: block;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 strong{
		font-size:4rem;
		margin-bottom:0.25em;
		text-align: center;
		color:#fff;
	}

	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 {
		font-size:4rem;
		margin-bottom:0.25em;
		text-align: center;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit p strong{
		font-size:2.3rem;
		font-family: 'Noto Serif JP', serif;
		font-weight: 600;
		text-shadow: 0 0 4px #000;
		letter-spacing: 0px;
		color: #fff;
	}

	.point_box1{
		display: flex;
		justify-content: space-between;
		width: 160px;
	}
	.point_box2{
		display: flex;
		justify-content: space-between;
		width: 160px;
	}
	.no-top #mainvisual .img-wrapper{
		height: 500px;
	}
	.no-top #mainvisual .img-wrapper.detail2{
		height: 500px;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box{
		/* margin-top: 6em; */
		width: 100%;
		/* height: 280px; */
		/* padding: 6% 3% 3%; */
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1{
		font-size:1.3rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit h1 strong{
		font-size: 2rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .maiTit p{
		font-size: 1.2rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .copy-box span{
		font-size: 1.4rem;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap{
		padding-top:0;
		padding-bottom: 5px;
	}
	.no-top #mainvisual .img-wrapper .d-flex .pointWrap li{
		width: 60px;
		height: 60px;
		background: rgba(255, 255, 255, 0.8);
		color:#000;
		text-align: center;
		font-size: 1.0rem;
		line-height: 1.2;
		display: flex;
		justify-content: center;
		align-items: center;
		font-weight: 400;
		margin: 0 0.5%;
	}
}
@media screen and (min-width: 768px) {
	.no-top #vision .container .txtBox .step1_img {
		position:absolute;
		right:0;
		top:0;
		width:21%;
		max-width:220px;
	}
	.no-top #vision .container .txtBox .step2_img {
		position:absolute;
		right:44%;
		bottom:0;
		width:21%;
		max-width:220px;
		margin:0;
	}
	.no-top #vision .container .txtBox .step3_img {
		position:absolute;
		right:21%;
		bottom:0;
		width:21%;
		max-width:220px;
		margin:0;
	}
	.no-top #vision .container .txtBox{

		position:relative;
	}
	.no-top #vision .container .txtBox .text-lead {
		font-size:3.0rem;
        text-align: center
	}

	.no-top #vision .container .txtBox .stepBox {
		display: flex;
		flex-flow:row;
		justify-content: space-between;
		margin:0 auto 25px;
	}
	.no-top #vision .container .txtBox .stepBox img {
		width:160px;
		margin-right:24px;
	}
	.no-top #vision .container .txtBox .stepBox p {
		/* max-width:300px; */
	}
	.no-top #vision .container .txtBox .stepWrap > .stepBox:nth-of-type(2) {

		margin-top:-12px;
	}
	.no-top #vision .container .txtBox .stepWrap > .stepBox:nth-of-type(3) {
		margin-top:-12px;
	}
}





/** detail #interview **/
.photoBox{
	max-width: 1584px;
	width: 100%;
	margin: 0 auto;
}
.no-top #interview {
	padding:56px 0 0;

}
.no-top #interview .main-title {
	position:relative;
	text-align: center;
}
.no-top #interview .main-title .figure-box {
	margin-bottom:20px;
	max-width: 1584px;
	width: 85%;
	margin: 0 auto 20px;
	}
.no-top #interview .main-title .prof {
	padding: 0 50px 5px;
	font-size: 2.2rem;
	margin: 0;
	display: inline-block;
	line-height: 2;
	font-weight: 400;
	position: relative;
	margin: auto;
	border: 1px solid #fff;
}
.no-top #interview .main-title .prof span {
    font-size:1.6rem;
}

.no-top #interview .qa-wrapper {
	margin-top:40px;
}
.no-top #interview .qa-wrapper .qa-box {
	display: flex;
    justify-content: flex-start;
    flex-flow: column;
    margin-bottom: 40px;
    align-items: flex-start;
	margin-bottom: 40px;
}

.no-top #interview .qa-wrapper > .qa-box:nth-of-type(2n) {
    display: flex;
    justify-content: flex-start;
    flex-flow: column;
    margin-bottom: 40px;
    align-items: flex-end;
    margin-bottom: 40px;
}


.no-top #interview .qa-wrapper .qa-box .q-box .title {
		font-family: "lato", sans-serif;
    font-size: 4.5rem;
    font-weight: 400;
    color: #000;
    line-height: 1.2;
}
.no-top #interview .qa-wrapper .qa-box .q-box .fukidashi{
	position: relative;
	display: inline-block;
	padding: 16px 32px;
	width:auto;
	color: #000;
  font-weight: 400;
  background: rgba(0, 29, 71, 0.1);
	font-size:2.4rem;
}
.no-top #interview .qa-wrapper .qa-box .q-box .fukidashi:before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 0;
	border: 36px solid transparent;
	border-top-color: rgba(0, 29, 71, 0.1);
	border-bottom: 0;
	border-right: 0;
	margin-left: -18px;
	margin-bottom: -36px;
}
.no-top #interview .qa-wrapper > .qa-box:nth-of-type(2n) .q-box .fukidashi:before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0;
  border: 36px solid transparent;
  border-top-color: rgba(0, 29, 71, 0.1);
  border-bottom: 0;
  border-left: 0;
  margin-right: -18px;
  margin-bottom: -36px;
}

.no-top #interview .qa-wrapper .qa-box .a-box {
	width:100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	margin-top:48px;
}

.no-top #interview .qa-wrapper .qa-box:nth-of-type(2n) .a-box {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-top: 48px;
}

.no-top #interview .qa-wrapper .qa-box .a-box > div {
	width:90%;
	background-color: #FFF;
	border:#333 1px solid;
	padding:24px;
	position:relative;

}

.no-top #interview .qa-wrapper .qa-box .a-box > div p {
	padding-left:48px;
	font-weight:600;
}
.no-top #interview .qa-wrapper .qa-box .a-box > div p:before {
	content:"A";
	font-family: 'Noto Sans', sans-serif;
	color:#000;
	font-style: italic;
	font-weight: 200;
	font-size:4.8rem;
	position:absolute;
	left: 24px;
    line-height: 1.2;
    top: 12px;
}




/** detail #message **/

.no-top #message {
	position:relative;
	padding-bottom: 1em;
  background: linear-gradient(180deg,rgba(0,0,0,0)0%,rgba(0,0,0,0)40%,rgba(0, 0, 0, 0.8) 40%,rgba(0, 0, 0, 0.8) 100%);
}
.no-top #message .photoBox {
	margin-bottom:20px;
}
.no-top #contents #message h3 {
	font-size:2rem;
}
.no-top #contents #message p {
	text-align: left;
}

@media screen and (min-width: 768px) {
	.no-top #message .photoBox {
		margin-bottom:0;
		max-width: 1584px;
		width: 100%;
		margin: 0 auto;
		animation-name: fadein;
		animation-duration: 2s;
	}
}

@media screen and (max-width: 540px) {
	.no-top #message {
	  background: linear-gradient(180deg,rgba(0,0,0,0)0%,rgba(0,0,0,0)30%,rgba(0, 0, 0, 0.8) 30%,rgba(0, 0, 0, 0.8) 100%);
	}
}

/** detail #guideline **/

.no-top #guideline {
	padding:80px 0;
}
.no-top #guideline .container table {
	width:100%;
	max-width:1024px;
	margin:auto;
}

.no-top #guideline .container table td p {
	font-size:1.4rem;
}

/** detail #entry **/

.no-top #entry {
	padding:56px 0 10em;
	background-color: #191922;
}
.no-top #entry .container form {
	width:100%;
	max-width: 1020px;
	margin:auto;
}
.no-top #entry .container .CMS-FORM-GROUP {
	margin-bottom:24px;
}
.no-top #entry .container .CMS-FORM-GROUP laber, .no-top #entry .container .CMS-FORM-GROUP input {
	border-bottom:none;
	display: block;
	padding:8px 0;
}
.no-top #entry .container .CMS-FORM-GROUP .CMS-FORM-INPUT-LABEL {
	margin-bottom:16px;
}
.CMS-FORM-INPUT-LABEL:after, .CMS-FORM-EMAIL-LABEL:after, .CMS-FORM-SELECT-LABEL:after, .CMS-FORM-NUMBER-LABEL:after,
.CMS-FORM-TEL-LABEL:after {
	content:"必須";
	display: inline-block;
	font-size:12px;
	color:#FFF;
	text-align: center;
	width: 45px;
	height: 25px;
	background: #b52334;
	margin-left:16px;
	line-height: 25px;
	font-weight: 500;
}

.no-top #entry .container .CMS-FORM-GROUP input {
	width:100%;
	border: 1px solid #DDDDDD;
	outline: none;
	padding-left: 1rem;
	transition: .5s;
	color: #000;
	font-size: 16px;
}
.no-top #entry .container .CMS-FORM-GROUP input:hover{
	background: rgba(1, 87, 156, 0.1);
	color: #fff;
}
.no-top #entry .container .CMS-FORM-GROUP:last-child {
	text-align: center;
	margin: 40px auto 0;
	max-width: 330px;
	display: block;
	border: none;
}
.no-top #entry .container .CMS-FORM-GROUP input[type="submit"] {
    margin: auto;
    font-size: 2.0rem;
    padding: 1.6rem;
		color: #b52334;
		letter-spacing: 0.5em;
		background: #191922;
		border: 1px solid #b52334;
}
.no-top #entry .container .CMS-FORM-GROUP input[type="submit"]:hover {
	color: #fff;
	background: #191922;
	border: 1px solid #fff;
}


/*****************
  thanks
************************/
.thanks {
	padding-top:64px;
}
.thanks .text-lead {
	text-align: center;
	font-size: 1.5rem;
	padding: 0 20px;
}

.thanks .button.button_back{
	max-width: 200px;
	width: 40%;
	font-weight: normal;
	margin: 4em auto 0;
	font-size: 1.5rem;
	padding: 0.4rem;
	color: #000;
	border: 1px solid #333;
}
@media screen and (min-width: 768px) {
	.thanks {
		padding-top:80px;
	}
}
/*****************
  privacy
************************/
@media screen and (min-width: 768px) {
.privacy {
	padding-top: 80px;
}
.privacy p{
	padding:0 100px;
}
.privacy h3{
	padding:0 100px;
	text-align: center;
}
}

/*guideline_txt-------------------------*/
#guideline_txt{
	margin:10px 0 25px;
}
#guideline_txt .txt_box{
	max-width:1000px;
	width:100%;
	margin:0 auto;
	padding:15px 10px;
	text-align: center;
}
#guideline_txt .txt_box h3{
	text-align:center;
	color:#000;
	font-size:22px;
}

@media screen and (max-width:767px){
	#guideline_txt .txt_box h3{
		text-align:left;
		color:#000;
		font-size:18px;
	}
	.thanks .text-lead{
		text-align: left;
		max-width: 500px;
		margin: 0 auto;
	}
	.info-wrapper .d-flex .tel-box a[href^="tel:"] {
		font-size:7.6rem;
		margin: 0.5em 0;
	}
	.info-wrapper .d-flex .btn-box .button{
		width: 100%;
		font-size: 1.5rem;
		padding: 0 45px;
		margin-bottom: 2.4rem;
		background-color: #fff;
		height: 55px;
		line-height: 55px;
		color: #000;
		position: relative;
		font-weight: normal;
	}
	.info-wrapper .d-flex .btn-box .button.button-caution{
		width: 75%;
		font-size: 1.7rem;
		padding: 0 16px;
		margin-bottom: 2.4rem;
		background-color: #000;
		height: 55px;
		line-height: 55px;
		color: #fff;
		position: relative;
		font-weight: normal;
	}
	.no-top #message p.name{
			font-size: 15px;
	}
	#contents section .about_ttl h2{
		margin-top:2rem;
	}
}

@media screen and (max-width:579px){
	.info-wrapper .d-flex .tel-box a[href^="tel:"] {
		font-size:6.2rem;
	}
}

@media screen and (max-width:480px){
	.info-wrapper .d-flex .tel-box h2 {
    font-size: 2.0rem;
	}
	.info-wrapper .d-flex .tel-box a[href^="tel:"] {
		font-size:4.0rem;
	}
}

.recruit_info-box .button-more::after {
  position: absolute;
  top: 50%;
  right: .8em;
  content: '';
  margin-top: -5px;
  border: 7px solid transparent;
  border-top-width: 5px;
  border-bottom-width: 5px;
  border-left-color: #fff;
  opacity: 0;
}
.recruit_info-box .button-more:hover::after {
  animation: arrow 1.2s infinite;
}
@keyframes arrow {
  50% {
    right: .2em;
    opacity: 1;
  }
  100% {
    right: -.4em;
    opacity: 0;
  }
}
.top_txt{
	border:1px solid #fff;
}

#top_sec01 .ph {
    width: 100%;
    max-width: 640px;
    padding: 20px;
    margin: 0 auto
}

#top_sec01 .ph img {
    display: block
}
.recruit_menu_cnt .cmenu_list .item a .ph {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1
}

.recruit_menu_cnt .cmenu_list .item a .ph div {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center
}
.greeting_cnt .base_width .inner .column .ph {
    padding: 10px 20px
}
#btm_article .article_body .item a .ph {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden
}

#btm_article .article_body .item a .ph div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center center;
    transform: scale(1.01)
}
html.no_touch_device #btm_article .article_body .item a .ph div {
    transition: all .5s ease-in-out
}
html.no_touch_device #btm_article .article_body .item a:hover .ph div {
    transform: scale(1.2)
}
.recruit_menu_cnt .cmenu_list {
    flex-wrap: wrap;
    text-align: left
}

@media screen and (min-width: 768px) {
    .recruit_menu_cnt .cmenu_list {
        align-items: stretch;
				padding: 0 2%;
    }
}

.recruit_menu_cnt .cmenu_list .item {
    position: relative;
    z-index: 1
}
.recruit_menu_cnt .cmenu_list .item a {
    position: relative;
    display: block;
    height: 100%;
    text-decoration: none;
    color: #111;
    background: #fff
}

.recruit_menu_cnt .cmenu_list .item a .ph {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.recruit_menu_cnt .cmenu_list .item a .ph div {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
		overflow:hidden;
 		margin:0 auto;
}

.recruit_menu_cnt .cmenu_list .item a .txt {
    position: relative;
    padding: 40px 20px;
    z-index: 10;
}

@media screen and (min-width: 768px) {
    .recruit_menu_cnt .cmenu_list .item a .txt {
        padding: 80px 20px;
				background: rgba(0, 0, 0, 0.35);

    }
}
@media screen and (max-width: 767px) {
    .recruit_menu_cnt .cmenu_list .item a .txt {
        padding: 80px 20px;
				background: rgba(0, 0, 0, 0.35);
    }
}
.recruit_menu_cnt .cmenu_list .item a .txt h3 {
    font-size: 3.2rem;
}

.recruit_menu_cnt .cmenu_list .item a .txt p {
    margin: 0 0 1em;
    line-height: 2em;
    font-size: 1.4rem
}

.recruit_menu_cnt .cmenu_list .item a .txt .more {
    display: inline-block;
    padding: 10px;
		font-weight: 600;
    line-height: 1;
    border: 1px solid #fff;
    color:#fff;
		float: right;
}
.recruit_menu_cnt .cmenu_list .item a:hover .txt .more {
    background: #fff;
    color: #000;
		border: 1px solid #fff;
		font-weight: 600;
		transition:0.5s all;
}

html.touch_device .recruit_menu_cnt .cmenu_list .item a .txt .more {
    background: #333;
    color: #fff
}

.recruit_menu_cnt .cmenu_list.col3 .item {
	margin: 5px auto 3em;
	max-width: 1200px;
}

@media screen and (max-width: 767px) {
    .recruit_menu_cnt .cmenu_list.col3 .item {
        width: 100%
    }
}

@media screen and (max-width: 480px) {
    .recruit_menu_cnt .cmenu_list.col3 .item {
        width: 100%
    }
		header .container h1 img{
			width: 200px;
		}
}
.recruit_menu_cnt .cmenu_list2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

@media screen and (min-width: 768px) {
    .recruit_menu_cnt .cmenu_list2 {
        align-items: stretch
    }
}

.recruit_menu_cnt .cmenu_list2 .box2 .txt {
    position: relative;
    padding: 20px 20px;
    z-index: 10;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    text-align: left;
}

.recruit_menu_cnt .cmenu_list .box2 .txt p {
    margin: 0 0 1em;
    line-height: 2em;
    font-size: 1.2rem
}

@media screen and (min-width: 768px) {
    .recruit_menu_cnt .cmenu_list2 .box2 .txt {
        padding: 20px 20px
    }
}

.txt h3 strong {
	color:#fff;
	font-size: 2.5rem;
	padding-right: 0.5em;
}
.txt span{
	font-size: 1.4rem;
	color: #fff;
	background-color: #2b5595;
	display: inline-block;
	vertical-align: middle;
	padding: 0.2em 0.5em;
	margin-right: 8px;
}
.txt h4 {
	color:#fff;
	border-bottom: 1px dotted #fff;
}
.txt p {
	color:#fff;
}
.qa-list{
	max-width: 1584px;
	width: 85%;
	margin: 0 auto;
	padding: 2em 0;
	}
.qa-list dl {
    position: relative;
    margin: 30px 0 0;
    cursor: pointer;
    /* border: 1px solid #fff; */
}
.qa-list dl:first-child {
  margin-top: 0;
}
.qa-list dl::after {
    position: absolute;
    top: 46%;
    right: 26px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.qa-list .open::after {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 20px 45px 20px 60px;
    font-weight: 700;
		line-height: 1.7;
    background: #191922;
}
.qa-list dl dt::before {
		font-family: 'Antonio', sans-serif;
    font-size: 40px;
		font-weight: 500;
    line-height: 1;
    position: absolute;
    top: 45%;
    left: 20px;
	  -webkit-transform : translateY(-55%);
	  transform : translateY(-55%);

    display: block;
    content: 'Q.';
    color: #b52334;
}
.qa-list dl dd::before {
		font-family: 'Antonio', sans-serif;
    font-size: 22px;
    line-height: 1;
    position: absolute;
    left: 25px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #b52334;
}
.qa-list dl dd {
    position: relative;
    margin: 0;
    padding: 20px 45px 20px 60px;
}
.qa-list dl dd ul li {
    list-style: square;
		margin-left: 1em;
}

.qa-list dl dd p {
    margin: 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
	.no-top #interview .main-title .prof span{
		font-size: 1.2rem;
	}
	.no-top #interview .main-title .prof {
		padding: 0 30px 5px;
		font-size: 1.5rem;
		margin: 0;
		position: relative;
		margin: auto;
	}
	.card{
		margin: 5px 0 0;
	}
 .qa-list dl {
    margin: 10px 0 0;
}
.qa-list dl:after {
    right: 15px;
}
.qa-list dl dt {
    padding: 16px 35px 16px 50px;
    font-size: 14px;
}
.qa-list dl dt::before {
    left: 15px;
}
.qa-list dl dd::before {
    left: 20px;
}
.qa-list dl dd {
    margin: 0;
    padding: 16px 16px 16px 50px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}

.box_txt {
	position: relative;
	margin: 0;
	padding: 20px;
	border: solid 1px #b52334;
	width: calc(95% / 3);
	/* min-height: 200px; */
}
.box_txt .box-title {
	font-family: 'Antonio', sans-serif;
  position: absolute;
  display: inline-block;
  top: -1px;
  left: -1px;
	padding: 0 15px;
	height: 35px;
	line-height: 35px;
  font-size: 17px;
  background: #b52334;
  color: #ffffff;
  font-weight: bold;
}
.box_txt p {
  margin: 0;
  padding: 0;
}
.box_txt h3{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 1.5em;
	text-align: center;
	margin: 0;
	padding: 2.5rem 0 1rem;
}

@media screen and (max-width: 767px) {
	header .container nav ul li a.button {
		font-size: 12px;
		padding: 14px 6px;
		position:relative;
		background: #333;
	}
	.sp-only ul.d-flex li{
		width: 100%;
	}
	.detail .sp-only ul.d-flex li{
		width: 200px;
	}
	.no-top #vision .container .txtBox .stepBox {
		display: flex;
    flex-flow: row;
    justify-content: space-between;
    margin: 0 auto 40px;
	}
	.no-top #vision .container .txtBox .text-lead{
		font-size: 2.3rem;
		text-align: center;
	}
	.no-top #vision .container .txtBox .text-lead strong{
		font-size: 4rem;
		color: #000;
	}
	.box_txt {
		position: relative;
		margin: 0;
		padding: 10px;
		width: calc(95% / 3);
	}
	.box_txt h3{
		font-size:1.5em;
		padding: 3.0rem 0 1rem;
	}
}

@media screen and (max-width: 550px) {
	.no-top #vision .container .txtBox .stepBox {
    flex-flow: column;
		margin: 0 auto 25px;
	}
	#contents section .work_ttl h2 {
    margin-top: 7%;
	}
	.box_txt {
		position: relative;
		margin: 0 auto 25px;
		padding: 25px 15px;
		border: solid 1px #b52334;
		width: 80%;
		min-height: auto;
	}
	.box_txt h3{
		padding: 2.0rem 0 1rem;
	}
}

@media screen and (max-width: 480px) {
	#contents section .work_ttl h2 {
		font-size: 2.5rem;
	}
	.box_txt {
		width: 90%;
	}
}

@-webkit-keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}

@keyframes drop {
  0% {
    top: -50%;
  }
  100% {
    top: 110%;
  }
}
.grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 600px;
  margin: 0 auto;
}
.grid.detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .grid {
    max-width: 1580px;
  }
	.grid.detail {
	  max-width: 80%;
	}
	.grid_margin{
		margin-bottom: 5em!important;
	}
}

@media screen and (max-width: 767px) {
	.grid.detail {
	  max-width: 80%;
	}
}

@media screen and (max-width: 540px) {
	.grid.detail {
	  max-width: 100%;
	}
}

.card {
    position: relative;
    flex: 1 1 100%;
    margin: 5px 0 0;
    /* padding: 20px 5px; */
    background: #191922;
}
.detail .card {
	position: static;
  flex: none;
  margin: 30px 5px 0;
	padding: 0;
  background: #191922;
}

@media screen and (min-width: 768px) {
  .card {
    flex-basis: calc(95% / 2);
    margin: 0 0.1em;
  }

	.detail .card {
    flex-basis: calc(95% / 2);
    /* margin: 0; */
  }
}

@media screen and (max-width: 767px) {

	.detail .card {
    flex-basis: calc(95% / 3);
    margin: 0 0 3em;
		flex: 1 1 100%;
  }
}

.card__thumb {
  overflow: hidden;
}

.card__img {
  margin: -20px -20px 0;
}
.card__img img {
  max-width: 100%;
  width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
  box-sizing: border-box;
}
.card__desc {
  /* margin-top: 20px; */
	background: #191922;
	padding-bottom: 3.5em;
}
.detail .card__desc {
  /* margin-top: 20px; */
	background: #191922;
	padding-bottom: 5%;
}
.card__desc p{
	padding:0 5%;
}
.more{
	float: right;
	margin-right: 5%;
	position: relative;
	display: inline-block;
	text-decoration: none;
}
.more::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #b52334;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.more:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
a{
	text-decoration: none;
}
.card__desc h3{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	text-align: center;
	color: #fff;
	font-size: 2.3rem;
	border-bottom:1px solid #b52334;
	padding: 0 0 5% 0;
	margin: 5%;
}
.card__desc h3 span{
	display: inline-block;
	padding:5px 10px;
	margin: 0.5em 0 0 0;
	border:1px solid #fff;
	font-size: 15px;
	color: #fff;
}
.card__two.card__two--type2 {
	max-width: 1000px;;
}
.card__two .card__img {
  padding: 20px 20px 0;
}


.card__two::before, .card__two::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 0.38s ease-in-out, transform 0.35s ease-in-out;
  content: "";
  opacity: 0;
  pointer-events: none;
}
.card__two::before {
  transform: scale3d(0, 1, 1);
  transform-origin: left top;
  border-top: 1px solid #b52334;
  border-bottom: 1px solid #b52334;
}
.card__two::after {
  transform: scale3d(1, 0, 1);
  transform-origin: right top;
  border-right: 1px solid #b52334;
  border-left: 1px solid #b52334;
}
.card__two:hover::before, .card__two:hover::after, .card__two:focus::before, .card__two:focus::after {
  transform: scale3d(1, 1, 1);
  opacity: 1;
}

.detail .card__two::before, .detail .card__two::after,
.detail .card__two:hover::before, .detail .card__two:hover::after, .detail .card__two:focus::before, .detail .card__two:focus::after {
	position: static;
	opacity: 0;
}

.navigation {
  font-family: 'Antonio', sans-serif;
  font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.01em;
}

.menu {
  display: flex;
  justify-content: center;
  max-width: 1150px;
  margin: 0 auto;
  padding-left: 0;
}

.menu__item {
  display: inline-block;
  white-space: nowrap;
}
@media screen and (max-width: 480px) {
  .menu__item:nth-child(n+3) {
    display: none;
  }
  .menu__item:nth-child(2) .menu__link {
    border-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .menu__item:nth-child(n+4) {
    display: none;
  }
  .menu__item:nth-child(3) .menu__link {
    border-right: 0;
  }
}
@media screen and (max-width: 992px) {
  .menu__item:nth-child(n+5) {
    display: none;
  }
  .menu__item:nth-child(4) .menu__link {
    border-right: 0;
  }
}
.menu__item:last-child .menu__link {
  border-right: 0;
}

.menu__link {
  display: block;
  padding: 6px 30px 3px;
}
.menu__link:hover .menu__first-word, .menu__link:focus .menu__first-word {
  transform: translate3d(0, -105%, 0);
}
.menu__link:hover .menu__second-word, .menu__link:focus .menu__second-word {
  transform: translate3d(0, 105%, 0);
}
@media screen and (min-width: 768px) {
  .menu__link {
    padding: 6px 40px 3px;
  }
}

.menu__title {
  display: inline-block;
  overflow: hidden;
	border-bottom: 1px solid #fff;
}

.menu__first-word,
.menu__second-word {
  display: inline-block;
  position: relative;
  transition: transform 0.3s;
}
.menu__first-word::before,
.menu__second-word::before {
  position: absolute;
  content: attr(data-hover);
}

.menu__first-word {
  color: #b52334;
}
.menu__first-word::before {
  top: 105%;
  color: #fff;
}

.menu__second-word {
}
.menu__second-word::before {
  bottom: 105%;
  color: #b52334;
}
.outline-outward {
  display: inline-block;
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.outline-outward:before {
  content: "";
  position: absolute;
  border: #ececec solid 1px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 0.3s;
  /* transition-property: top right bottom left; */
}
.outline-outward:hover:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}
.button {
  margin: 0.4em;
  padding: 1em;
  cursor: pointer;
  background: #ececec;
  text-decoration: none;
  color: #000;
}

.outline-outward2 {
  display: inline-block;
  position: relative;
  -webkit-tap-highlight-color: #000;
  transform: translateZ(0);
  box-shadow: 0 0 1px #333;
	border: 0.5px solid #333;
	width: 300px;
}
.outline-outward2:before {
  content: "";
  position: absolute;
  border: #fff solid 0.5px;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-duration: 0.3s;
  /* transition-property: top right bottom left; */
}
/* .outline-outward2:hover {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
} */
.outline-outward2:hover:before {
	border: #b52334 solid 0.5px;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
}
.button {
  margin: 0.4em;
  padding: 0.5em 1em;
  cursor: pointer;
  background: #000;
	border: #fff solid 0.5px;
  text-decoration: none;
  color: #fff;
	font-size: 1.8rem;
}
.button:hover {
	background: #b52334;
	border: #b52334 solid 0.5px;
}

@media screen and (max-width: 850px) {
	.menu__link {
		padding: 6px 20px 3px;
	}
}

@media screen and (max-width: 480px) {
	.btn-box{
		display:grid;
	}
		.outline-outward2{
			width: 65%;
		}
	#page-top{
		position: fixed;
		right: -25px;
		bottom: 45px;
		height: 50px;
		text-decoration: none;
		font-weight: 500;
		transform: rotate(90deg);
		font-size: 1em;
		line-height: 3.5rem;
		padding: 0 0 0 35px;
		border-top: solid 1px;
		letter-spacing: 4px;
		font-family: 'Noto Serif JP', serif;
	}
}
@media screen and (max-width: 300px) {
		.outline-outward2{
			width: 90%;
		}
}
.sideways{
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
position: fixed;
left: -10px;
bottom: 20em;
font-weight: 700;
font-size: 10px;
line-height: 1.9;
letter-spacing: 4px;
color: #b52334;
font-family: 'Noto Serif JP', serif;
}

/*****************
  SNSbtn
************************/
/* アイコン周り全体 */
.flowbtn16{
font-family:'Georgia',sans-serif;/* 好きなフォントに変えてね */
display:inline-block;
width: 61px;
height: 57px;
font-size:25px;
transition:.5s;
text-decoration:none;
background: transparent;
color: #000;
}
.flowbtn16:hover{
text-decoration:none;
}
/* Twitterマウスホバー時 */
.flowbtn16.fl_tw2:hover{
background:#000;
color:#fff;
}
/* Instagramマウスホバー時 */
.flowbtn16.insta_btn2:hover{
background:#000;
color:#fff;
}
/* Facebookマウスホバー時 */
.flowbtn16.fl_fb2:hover{
background:#000;
color:#fff;
}

/* ボタン内テキスト調整 */
.flowbtn16 div{
font-size:9px;
letter-spacing:0;
font-weight:bold;
position:relative;
bottom:16px;
}
/* ulタグの内側余白を０にする */
ul.snsbtniti{
padding: 3rem 0 0;
}
/* アイコンボタンの位置調整 */
.snsbtniti{
display:flex;
justify-content: center;
}
/* アイコンボタン同士の余白調整 */
.snsbtniti li{
flex:0 0 7%;
text-align:center!important;
}

@media screen and (max-width: 580px) {
	/*****************
	  SNSbtn
	************************/
	/* アイコン周り全体 */
	.flowbtn16{
	height: 50px;
	}
	/* ボタン内テキスト調整 */
	.flowbtn16 div{
	bottom:8px;
	}
	/* アイコンボタン同士の余白調整 */
	.snsbtniti li{
	flex:0 0 22%;
	}
}


/* swiper */
.wrap {
	width: 55%;
  margin: 0 auto;
  padding: 16px 16px 0 0;
}
@-webkit-keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
      -webkit-transform: scale(1);
      transform: scale(1);
  }
  100% {
      -webkit-transform: scale(1.15);
      transform: scale(1.15);
  }
}
.swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
    -webkit-animation: zoomUp 12s linear 0s;
    animation: zoomUp 12s linear 0s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.slide-img {
    background-size: cover;
    background-position: center center;
    height: 500px;
}
@media screen and (max-width:767px){
	#contents section {
	    padding: 56px 0 50px;
	}

	.slide-img {
	    background-size: cover;
	    background-position: center center;
	    height: 400px;
		width: 60vw;
	}
}
@media screen and (max-width:640px){
	.no-top #contents section .container {
    display: block;
	}
	.wrap {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 25px;
	}
  .swiper-container {
    width: 100%;
  }
	.slide-img {
		width: 100%;
    background-size: cover;
    background-position: center center;
    height: 300px;
	}
}
/* swiper__END */



#work_txt .inner ul.nodeco li {
	list-style: disc;
}
#work_txt .inner > ul{
	background-image: url(../img/work_back.jpg);
background-repeat: no-repeat;
background-size: cover;
}
#work_txt .inner > ul > li{
	padding: 90px 111px 70px 93px;
color: #FFFFFF;
display: flex;
-moz-transition-duration: 0.6s;
-o-transition-duration: 0.6s;
-webkit-transition-duration: 0.6s;
transition-duration: 0.6s;
animation-name: fadein;
animation-duration: 2s;
margin-bottom:0;
}
#work_txt .inner > ul > li:hover{
}
#work_txt .inner > ul > li>div{
	width: 100%;
	padding: 0 20px;
	margin-bottom: 30px;
	animation-name: fadein;
	animation-duration: 2s;
}
#work_txt .inner > ul > li .vctitle{
	display: flex;
	align-items: center;
	margin-bottom: 30px;
}
#work_txt .inner > ul > li .vctitle .vctitleno{
font-family: 'Antonio', sans-serif;
font-size: 40px;
font-weight: 500;
letter-spacing: 0.01em;
margin-right: 20px;
}
#work_txt .inner > ul > li .vctitle .vctitletxt{
	display: flex;
align-items: center;
flex-wrap: wrap;
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.06em;
line-height: 1.3;
}
#work_txt .inner > ul > li .vstext{
line-height: 1.7;
margin-bottom: 38px;
}
#work_txt .inner > ul > li .vstext .vstext-time {
	color: #b52334;
	font-weight: 700;
	display: inline-block;
	border-bottom: 1px solid #b52334;
	padding: 0 0 0.4em 0;
	margin: 0 0 0.6em 0;
}
#work_txt .inner > ul > li .vstext .fa-caret-down:before {
	margin-left: 1.5em;
  content: "\f0d7";
}
#work_txt .inner > ul > li .vsusre{
	font-size: 14px;
line-height: 17px;
text-align: right;
}
#work_txt .inner > ul > li:after{
	clear: both;
content: '';
display: block;
}
#work_txt .inner > ul > li:nth-child(2n){
	display: block;
background-color: rgba(0, 0, 0, 0.7);
}
#work_txt .inner > ul > li:nth-child(2n) .vcright{
	opacity: 1;
float: right;
display: inline-block;
width: 50%;
}
#work_txt .inner > ul > li:nth-child(2n) .vcleft{
	opacity: 1;
width: 50%;
}
@media screen and (max-width: 780px) {
#work_txt .inner{
	margin-left: 0;
	width: 100%;
}
#work_txt .inner > ul{
	padding-top: 25px;
}
#work_txt .inner > ul > li{
	display: block;
padding: 25px 18px;
}
#work_txt .inner > ul > li .vcleft{
	margin-bottom: 20px;
}
#work_txt .inner > ul > li .vctitle{
	margin-bottom: 25px;
}
#work_txt .inner > ul > li .vctitle .vctitleno{
	font-size: 37px;
line-height: 1;
margin-right: 18px;
}
#work_txt .inner > ul > li .vctitle .vctitletxt{
	font-size: 18px;
line-height: 22px;
}
#work_txt .inner > ul > li .vstext{
	margin-bottom: 15px;
}
#work_txt .inner > ul > li .vsusre{
	font-size: 14px;
line-height: 17px;
text-align: right;
}
#work_txt .inner > ul > li .vcleft, #work_txt .inner > ul > li .vcright{
	padding: 0;
}
#work_txt .inner > ul > li .vcimg{
	width: 100%;
}
#work_txt .inner > ul > li .vcimg img{
	width: 100%;
}
#work_txt .inner > ul > li:nth-child(2n) .vcleft{
	width: 100%;
}
#work_txt .inner > ul > li:nth-child(2n) .vcright{
	float: none;
display: block;
width: 100%;
margin-bottom: 20px;
}
.swiper-wrapper .swiper-slide p{
	position: absolute;
	bottom: 0.1em;
	right: 3em;
	width: 100px;
	text-align: center;
	color: #000;
	background:#fff;
	font-size:13px;
	padding:5px 10px;
}
}
/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:1%;
	right:50%;
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	position: absolute;
	left:-20px;
	bottom:-10px;
    /*テキストの形状*/
	font-size: 2rem;
	text-shadow:0 0 5px #333;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
	content: "";
	position: absolute;
	bottom: -20px;
	right: -20px;
	width: 1px;
	height: 20px;
	background: #fff;
	transform: skewX(-31deg);
}

.scrolldown4:after{
	content: "";
	position: absolute;
	bottom: -20px;
	right: -14px;
	width: 1px;
	height: 85px;
	background: #fff;
}





  /*
 * privacy policy
 */

 .detail_privacy {
	width: 100% !important;
  max-width: 1020px;
	border: 1px solid #100201;
	height: 500px;
	overflow: auto;
	overflow-y: scroll !important;
	background-color: #fff;
	font-size: 1.4rem;
	margin: 4rem auto 0rem;
  padding: 20px;
  }
  .detail_privacy .sp2 {
  display: none;
  }
  .detail_privacy p {
	color: #000;
	padding: 0 0 20px;
  /* padding: 0; */
	font-weight: normal;
  }
  .detail_privacy span {
	font-weight: bold;
  }
  .detail_privacy .p_head {
	padding-bottom: 0px;
  margin-bottom: 0.8em;
  }
  .detail_privacy ul {
	font-weight: normal;
	list-style: disc !important;
	padding-left: 2em;
	padding-bottom: 1em;
	color: #000;
  }
  .detail_privacy ul li {
	font-weight: normal;
	list-style: disc !important;
  }
  
  p.detail_privacy_notes {
	max-width: 1020px;
	margin: 6rem auto 0;
	padding: 0px 0 0px;
	padding-left: 1em;
	text-indent: -1em;
	font-weight: normal;
	font-size: 1.6rem;
  }
  
  @media screen and (max-width: 767px) {
  .detail_privacy {
	width: calc(100% - 20px) !important;
	width: 100% !important;
	height: 500px;
	margin: 4rem auto 0rem;
	font-size: 1.4rem;
	}
	.detail_privacy .sp2 {
	display: initial;
  }
  p.detail_privacy_notes {
	font-size: 1.5rem;
  }

  }
