@charset "UTF-8";
/*
Theme Name: 株式会社Full Bet Group採用サイト
Template: twentynineteen
Author: 株式会社Full Bet Group採用サイト
Author URI: 
Description:
Version: 1.0
Updated: 2022-07-21
*/

/* Color Scheme
-----------------------------------------------------

	=THEME COLOR = #d3373e

-----------------------------------------------------
*/

@import url(reset.css);
@import url(wordpress.css);
@import url(ownedmedia.css);

@font-face {
font-family: 'Boston';
font-style: normal;
font-weight: normal;
src: local('Boston'), url('assets/fonts/BostonRegular.woff') format('woff');
}

/*@font-face {
font-family: 'Boston Thin';
font-style: normal;
font-weight: normal;
src: local('Boston Thin'), url('assets/fonts/BostonThin.woff') format('woff');
}

@font-face {
font-family: 'Boston ExtraLight';
font-style: normal;
font-weight: normal;
src: local('Boston ExtraLight'), url('assets/fonts/BostonExtraLight.woff') format('woff');
}

@font-face {
font-family: 'Boston Light';
font-style: normal;
font-weight: normal;
src: local('Boston Light'), url('assets/fonts/BostonLight.woff') format('woff');
}
*/
@font-face {
font-family: 'Boston SemiBold';
font-style: normal;
font-weight: normal;
src: local('Boston SemiBold'), url('assets/fonts/BostonSemiBold.woff') format('woff');
}

@font-face {
font-family: 'Boston Bold';
font-style: normal;
font-weight: normal;
src: local('Boston Bold'), url('assets/fonts/BostonBold.woff') format('woff');
}

@font-face {
font-family: 'Boston Black';
font-style: normal;
font-weight: normal;
src: local('Boston Black'), url('assets/fonts/BostonBlack.woff') format('woff');
}

/*@font-face {
font-family: 'Boston Heavy';
font-style: normal;
font-weight: normal;
src: local('Boston Heavy'), url('assets/fonts/BostonHeavy.woff') format('woff');
}*/


/*
-----------------------------------------------------

 	=GLOBAL LAYOUT

-----------------------------------------------------
*/

* {
	margin: 0; padding: 0;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: #333;
	font-size: 10px;
	font-weight: normal;
	line-height: 1.8;
	word-wrap: break-word;
	letter-spacing: 0.00em;
}
/* Firefox
@-moz-document url-prefix() {
	html {
		font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	}
} */
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, html {
  font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
}

body{
	background-color: #fff;
	font-size: 1.6rem;
}
h1, h2, h3, h4, h5, h6, p, pre, dt, dd, li {
	line-height: 2.0;
}
p, ul, ol, dl, table {
	margin-bottom: 2em;
}
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {
	margin-bottom: 0;
}
table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.8;
	text-align: left;
}
th, td {
	padding: 1em 1.5em;
	vertical-align: top;
	border: none;
}
th {
	font-weight: bold;
	text-align: justify;
}
tr {
	border-bottom: solid 1px rgba(0,0,0,0.1);
}

hr {
	clear: both;
	border: none;
}
img {
	display: inline-block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a img {
	border: none;
}
a {
	color: #d3373e;
	text-decoration: underline;
}
a,
a img {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
a:hover {
	opacity: 0.5;
	text-decoration: none;
}
/*::selection {
	background-color: rgba(0,0,0,0.25);
}*/

em {}

ol{
	counter-reset: number;
	list-style: none;
}
ol li {
	position: relative;
	padding-left: 2.5em;
}
ol li:not( :last-child ) {
	margin-bottom: 1.5em;
}
ol li::before {
	position: absolute;
	left: 0;
	counter-increment: number;
	content: "("counter(number)")";
	margin: 0 1.0em 0 0;
}
ol li ol:last-child { margin-bottom: 2em; }
ol li ol li::before {
	content: "("counter(number,lower-roman)")";
}
ol li ol li:not( :last-child ) {
	margin-bottom: .5em;
}


strong { font-weight: bold; }
iframe { display: block; max-width: 100%;}
form {}
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea {
	padding: 5px;
	font-size: 16px;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select {
	background-color: #eee;
	color: #555;
	border: 1px solid #eee;
	line-height: 1;
	vertical-align: middle;
	max-width: 100%;
	border-radius: 5px;
}
textarea {}
input[type=text] { margin-bottom: 0.5em; }
input[type=text]:last-child { margin-bottom: 0; }
input[type=email] {}
input[type=submit] { cursor: pointer;}
input[type=text]:focus,
textarea:focus {
	color: #555;
}
form ul { margin: 0 !important; padding: 0 !important; border: none !important;}
form ul li { display: inline-block !important;}
form label { margin-right: 1.4em;}
form input[type*="submit"] {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 20px;
	padding: 1em 2em;
	border: none;
	background-color: #e45539;
	color: #fff;
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	cursor: pointer;
	-webkit-transform: translate3d(0,0,0);
	   -moz-transform: translate3d(0,0,0);
	    -ms-transform: translate3d(0,0,0);
	        transform: translate3d(0,0,0);
	-webkit-transition: all ease-out 0.1s;
	   -moz-transition: all ease-out 0.1s;
	    -ms-transition: all ease-out 0.1s;
	        transition: all ease-out 0.1s;
}
form input[type*="submit"]:hover {
	opacity: 0.7;
}
::placeholder {
	color: #ddd;
}



/*
-----------------------------------------------------

 	=GLOBAL STYLE

-----------------------------------------------------
*/

#container {
	overflow: hidden;
}

.wrapper {
	width: 1200px;
	max-width: 100%;
	margin: auto;
}
.wrapper-min { width: 800px;}
.wrapper-1120 { width: 1120px;}
.wrapper-1000 { width: 1000px;}
.wrapper-960 { width: 960px;}
.wrapper-800 { width: 800px;}
.wrapper-720 { width: 720px;}

#cont {}
#main {}
#main main {}


/*
-----------------------------------------------------

	=MEDIA QUERIES RESPONSIVE STRUCTURE

-----------------------------------------------------
*/

/* DESKTOP
----------------------------------------------------- */
@media screen and (min-width: 600px) {
	.sp { display: none !important; }

	body {
		min-width: 1200px;
	}
}

/* SMARTPHONE
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 599px) {
	.pc { display: none !important;}

	html { 
		font-size: 10px; 
	}
	body { 
		font-size: 1.2rem; 
		letter-spacing: 0;
	}

	/* APPERANCE
	--------------------------------------------------*/
	input[type="button"],
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="submit"],
	select {
		-webkit-appearance: none;
		border-radius: 0;
	}

	iframe {
		width: 100%; 
		max-height: 240px;
	}
	th, td {
		font-size: 1.2rem;
		padding: 1em 0.5em;
	}

	/* =GLOBAL STYLE
	-------------------------------------------------- */
	.wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}
}


/*
-----------------------------------------------------

 	=PRELOADER (imagesloaded.pkgd.min.js)

-----------------------------------------------------
*/

.js-imageloaded {}
.js-imageloaded.loaded {}

#progress,
#progress * {}
#progress{
    position:fixed;
    top:0;
    bottom:0;
    left:0;
    width:100%;
    height:100vh;
    padding:0;
    display:block;
    overflow:hidden;
    z-index:999999;
}
#progress .progress-start {
    background-color:#000;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:block;
    z-index:999999
	-webkit-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 1.2s;
	   -moz-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 1.2s;
	    -ms-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 1.2s;
	        transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 1.2s;
}
#progress.complete10 .progress-start { left: -100%; }
#progress .progress-loading {
    background-color: #d3373e;
    background-color: #fff;
    top:0;
    left:0;
    width:100%;
    height:100%;
    display:block;
    z-index:999999;
}
#progress .progress-loading img {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    -moz-transform:translate(-50%, -50%);
    -ms-transform:translate(-50%, -50%);
    -o-transform:translate(-50%, -50%);
	-webkit-transition: all cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.8s;
	   -moz-transition: all cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.8s;
	    -ms-transition: all cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.8s;
	        transition: all cubic-bezier(0.190, 1.000, 0.220, 1.000) 0.8s;

    width: 308px;
    width: 240px;
    height: auto;
}
#progress,
#progress .progress-loading {
	-webkit-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
	   -moz-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
	    -ms-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
	        transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
}
#progress.complete100,
#progress.complete100 .progress-loading {
	left: -120%;
}
#progress.complete99 .progress-loading img {
	opacity: 0;
	top: 48%;
}

@media screen and (min-width: 0px) and (max-width: 599px) {

	@supports (-webkit-touch-callout: none) {
	  #progress {
	    height: -webkit-fill-available;
	  }
	}
	#progress .progress-loading img  {
		width: 150px;
	}
}



/* =ANIMATION (jquery.inview.js)
----------------------------------------------------- */
.js-inview {
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -webkit-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -moz-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -ms-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -o-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
}

.js-inview.inview-zoom {
    transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -webkit-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -moz-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -ms-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -o-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;

    opacity: 0;
    transform: scale(0.9);
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    -ms-transform: scale(0.9);
    -o-transform: scale(0.9);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
}
.js-inview.inview-zoom.is-show {
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
}

.js-inview.inview-blur {
    opacity: 0;
    filter: blur(100px);
    -webkit-filter: blur(100px);
    -moz-filter: blur(100px);
    -ms-filter: blur(100px);
    -o-filter: blur(100px);
}
.js-inview.inview-blur.is-show {
    opacity: 1;
    filter: blur(0);
    -webkit-filter: blur(0);
    -moz-filter: blur(0);
    -ms-filter: blur(0);
    -o-filter: blur(0);
}

.js-inview.inview-floatup {
    transition: 3s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -webkit-transition: 3s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -moz-transition: 3s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -ms-transition: 3s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
    -o-transition: 3s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;

    opacity: 0;
    transform: translate3d(0px, 200px, 0px);
    -webkit-transform: translate3d(0px, 200px, 0px);
    -moz-transform: translate3d(0px, 200px, 0px);
    -ms-transform: translate3d(0px, 200px, 0px);
    -o-transform: translate3d(0px, 200px, 0px);
}
.js-inview.inview-floatup.is-show {
    opacity: 1;
    transform: translate3d(0px, 0, 0px);
    -webkit-transform: translate3d(0px, 0, 0px);
    -moz-transform: translate3d(0px, 0, 0px);
    -ms-transform: translate3d(0px, 0, 0px);
    -o-transform: translate3d(0px, 0, 0px);
}
.js-inview.inview-floatintoright {
    transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -webkit-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -moz-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -ms-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -o-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;

    opacity: 0;
    transform: translate3d(-40px, 0px, 0px);
    -webkit-transform: translate3d(-40px, 0px, 0px);
    -moz-transform: translate3d(-40px, 0px, 0px);
    -ms-transform: translate3d(-40px, 0px, 0px);
    -o-transform: translate3d(-40px, 0px, 0px);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
}
.js-inview.inview-floatintoright.is-show {
    opacity: 1;
    transform: translate3d(0px, 0, 0px);
    -webkit-transform: translate3d(0px, 0, 0px);
    -moz-transform: translate3d(0px, 0, 0px);
    -ms-transform: translate3d(0px, 0, 0px);
    -o-transform: translate3d(0px, 0, 0px);
}
.js-inview.inview-floatintoleft {
    transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -webkit-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -moz-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -ms-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
    -o-transition: 2s cubic-bezier(0.19, 1, 0.22, 1) 0.8s;

    opacity: 0;
    transform: translate3d(40px, 0px, 0px);
    -webkit-transform: translate3d(40px, 0px, 0px);
    -moz-transform: translate3d(40px, 0px, 0px);
    -ms-transform: translate3d(40px, 0px, 0px);
    -o-transform: translate3d(40px, 0px, 0px);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
}
.js-inview.inview-floatintoleft.is-show {
    opacity: 1;
    transform: translate3d(0px, 0, 0px);
    -webkit-transform: translate3d(0px, 0, 0px);
    -moz-transform: translate3d(0px, 0, 0px);
    -ms-transform: translate3d(0px, 0, 0px);
    -o-transform: translate3d(0px, 0, 0px);
}



.js-inview.inview-slideintoright {
	display: block;
    width: 1%;
}
.js-inview.inview-slideintoright.is-show {
    width: 100%;
}

.js-inview.inview-grayscale {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
.js-inview.inview-grayscale.is-show {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}

.inview-slidein-wrap {
    overflow: hidden;
    display: inline-block;
}
.js-inview.inview-slidein {
	transform: translateX(-100%);
}
.js-inview.inview-slidein.is-show {
	animation-name: animationSlideText;
	animation-duration: 0.6s;
	animation-fill-mode:forwards;

}

@keyframes animationSlideText {
	0%{
		transform: translateX(-100%);
	}
	50%{
		transform: translateX(-100%);
	}
	100%{
		transform: translateX(0);
	}
}
.js-inview.inview-slideinreverse {
	transform: translateX(100%);
}
.js-inview.inview-slideinreverse.is-show {
	animation-name: animationSlideTextReverse;
	animation-duration: 0.6s;
	animation-fill-mode:forwards;
}

@keyframes animationSlideTextReverse {
	0%{
		transform: translateX(100%);
	}
	50%{
		transform: translateX(100%);
	}
	100%{
		transform: translateX(0);
	}
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.inview-slidein-wrap {
		width: 100%;
	}
}
/*
-----------------------------------------------------

 	=HEADER

-----------------------------------------------------
*/

/* =HEADER
----------------------------------------------------- */

#cont {
	padding-top: 0;
}
.header-global {
	position: fixed;
	z-index: 9999;
	top: 32px;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	width: calc(100% - 90px);
	height: auto;
	border-radius: 60px;
	background-color: #fff;
	box-shadow: 7.5px 12.99px 30px 0px rgba(0, 0, 0, 0.06);
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
.header-global>.inner {
	padding: 17px;
	padding-left: 45px;
	align-items: center;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
.header-global>.inner .header-left {}
.header-global>.inner .header-right {}
.header-global>.inner .header-left {}
.header-global>.inner .header-left .logo {
	display: inline-block;
	vertical-align: top;
	width: 207px;
	max-width: 100%;
}
.header-global>.inner .header-right .nav-pc {}
.header-global>.inner .header-right .nav-sp {}

.header-global>.inner .header-left .logo {}
.header-global>.inner .header-left .logo img {}
.header-global>.inner .header-right .nav-pc ul.nav-main li a {}
.header-global>.inner .header-right .nav-pc ul.nav-main li a:hover {}
.header-global>.inner .header-right .nav-pc ul.nav-main li.entry a {}
.header-global>.inner .header-right .nav-pc ul.nav-main li.entry a:hover {
	background-color: #d3373e;
	color: #fff;
}
	
	/* 画面スクロール時 */
	.scrolled .header-global {}
	.scrolled .header-global>.inner .header-left .logo img {}
	.scrolled .header-global>.inner .header-right .nav-pc ul.nav-main li a {}
	.scrolled .header-global>.inner .header-right .nav-pc ul.nav-main li.entry a {}
	.scrolled .header-global>.inner .header-right .nav-pc ul.nav-main li.entry a:hover {}


@media screen and (min-width: 600px) {
	.header-global {
		min-width: 1200px;
	}
	.scrolled .header-global {
		height: auto;
		top: 0;
		width: 100%;
		border-radius: 0;
	}
	.scrolled .header-global>.inner {}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	#cont {
		padding-top: 0;
	}
	.top #cont {
		padding-top: 90px;
	}
	.header-global {
		width: calc(100% - 40px);
		top: 20px;
	}
	.header-global>.inner {
		padding: 10px 21px;
	}
	.header-global>.inner .header-left {
		width: 100%;
		padding: 0;
	}
	.header-global>.inner .header-right {}

	.header-global>.inner .header-left .logo {
		width: 121px;
		max-width: 100%;
	}
}



/*
-----------------------------------------------------

	=NAVIGATION - PC

-----------------------------------------------------
*/

@media screen and (min-width: 600px) {

	/* =NAVIGATION - PC
	----------------------------------------------------- */
	.nav-pc {}
	.nav-pc ul.nav-main {
		letter-spacing: 0;
		font-size: 0;
	}
	.nav-pc ul.nav-main li {
		display: inline-block;
		vertical-align: middle;
		font-family: 'Boston Bold';
		font-size: 1.8rem;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
	.nav-pc ul.nav-main li:not( :last-child ) {
		margin: 0 1.0em 0 0;
	}
	.nav-pc ul.nav-main li a {
		position: relative;
		display: block;
		color: #000;
		line-height: 1;
		text-decoration: none;
		padding: 0 0.5em;
	}
	.nav-pc ul.nav-main li a:hover {
		opacity: 0.25;
	}
	.nav-pc ul.nav-main li.entry {}
	.nav-pc ul.nav-main li.entry a {
		display: block;
		background-color: #d3373e;
		color: #fff;
		padding: 0.85em 2em;
		border-radius: 2em;
	}

	/**/
	.nav-pc ul.nav-main li {
		position: relative;
	}
	.nav-pc ul.nav-main li ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		padding-top: 1em;
	}
	.scrolled .nav-pc ul.nav-main li ul {
		background-color: #fff;
	}
	.nav-pc ul.nav-main li:hover ul {
		display: block;
	}
	.nav-pc ul.nav-main li ul li {
		display: block;
		padding: 0.75em 0;
		font-size: 100%;
		text-align: left;
	}
	.nav-pc ul.nav-main ul li a .ja {
		text-align: left;
		left: 1.0em;
		width: 20em;
	}
 	
}

@media screen and (min-width: 0px) and (max-width: 1199px) {

	.nav-pc ul.nav-main li {
		font-size: 1.6rem;
	}
	.nav-pc ul.nav-main li:not( :last-child ) {
		margin: 0 1.75em 0 0;
	}
}

/*
-----------------------------------------------------

	=NAVIGATION - SP

-----------------------------------------------------
*/

@media screen and (min-width: 0px) and (max-width: 599px) {

	/* =NAVIGATION - SP
	----------------------------------------------------- */
	.nav-sp {
		position: fixed;
		z-index: 9992;
		top: 0;
		left: 0;
		bottom: auto;
		width: 100vw;
		height: 100vh;
		padding: 0;
		border-radius: 0;
		background-color: transparent;
		background-color: rgba(255,255,255,1);
		overflow-y:scroll;
		-webkit-overflow-scrolling:touch;
		-webkit-transform:translate3d(-100%,0,0);
			 -moz-transform:translate3d(-100%,0,0);
				-ms-transform:translate3d(-100%,0,0);
						transform:translate3d(-100%,0,0);
		-webkit-transition: opacity ease-out 0.25s;
			 -moz-transition: opacity ease-out 0.25s;
				-ms-transition: opacity ease-out 0.25s;
						transition: opacity ease-out 0.25s;
		opacity: 0;
	}

	.nav-sp.on {
		opacity: 1;
		-webkit-transform:translate3d(0,0,0);
		   -moz-transform:translate3d(0,0,0);
		    -ms-transform:translate3d(0,0,0);
		        transform:translate3d(0,0,0);
	}
	.nav-sp.on .inner {}

	.nav-sp .inner {
		padding: 6.25vw;
	}
	.nav-sp .inner .logo {
		margin: 0 0 6.25vw;
	}
	.nav-sp ul.nav-main {
		margin: 0 0 3.5em 0;
	}
	.nav-sp ul.nav-main li:not( :last-child ) {
		margin: 0 0 1.5em 0;
	}
	.nav-sp ul.nav-main li {
		display: block;
		font-size: 1.4rem;
		font-family: 'Boston Bold', sans-serif;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}
	.nav-sp ul.nav-main li a {
		display: block;
		color: #333;
		line-height: 1;
		text-decoration: none;
	}
	.nav-sp ul.nav-main li a:hover {
		opacity: 0.25;
	}
	.nav-sp ul.nav-main ul {
		margin: 1.5em 0 0 0;
	}
	.nav-sp ul.nav-main ul li {
		margin: 1.5em 0 0 0;

		position: relative;
		padding-left: 1.0em;
	}
	.nav-sp ul.nav-main ul li:before {
		position: absolute;
		left: 0.25em;
		top: -0.5em;
		content: "-";
	}
	/*.nav-sp ul.nav-main li.external a {
		padding-right: 1.5em;
		background: url(assets/images/icon-external.png) no-repeat right center;
		background-size: 13px auto;
	}*/


	.nav-sp ul.nav-main li.entry {
		display: block;
	}
	.nav-sp ul.nav-main li.entry a {
		position: relative;
		background-color: #d3373e;
		height: auto;
		padding: 2.0rem 2.5rem;
		border-radius: 4em;
		font-size: 1.4rem;
		text-align: center;
		color: #fff;
	}
	.nav-sp ul.nav-main li.entry a:hover {
		opacity: 1;
	}
	.nav-sp ul.nav-main li.entry a span {
		position: relative;
		z-index: 2;
	}
	.nav-sp ul.nav-main li.entry a span {
		background: url(assets/images/icon-arrow-right-white.png) no-repeat right center;
		background-size: 4px auto;
		padding-right: 1em;
	}


	/* =TOGGLER
	----------------------------------------------------- */
	ul.nav-icon {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		margin: 0;
		padding: 0;

		text-align: right;
		font-size: 0;
		letter-spacing: 0;
	}

	ul.nav-icon li {
		display: inline-block;
		vertical-align: top;
		z-index: 9999;
		top: 0;
		right: 20px;
		margin: 20px;
		width: 80px;
		height: 45px;
		border-radius: 0;
		background-color: #f0f5f2;
		text-align: center;
		-webkit-transition: all ease-out 0.4s;
			 -moz-transition: all ease-out 0.4s;
				-ms-transition: all ease-out 0.4s;
						transition: all ease-out 0.4s;
		cursor: pointer;
	}
	ul.nav-icon li:not( :last-child ) {
		margin-right: 0;
	}
	ul.nav-icon li a {
		display: block;
	  text-decoration: none;
	}
	ul.nav-icon li.toggler {
		padding: 16px 0 0;
		background-color: #d3373e;
		background-color: transparent;
	}
	.scrolled ul.nav-icon li.toggler {}
	ul.nav-icon li.toggler a.trigger-bars {
		display: inline-block;
	}
	a.trigger-bars,
	a.trigger-bars span {
		box-sizing: border-box;
		display: inline-block;
		-webkit-transition: all ease-out 0.4s;
			 -moz-transition: all ease-out 0.4s;
				-ms-transition: all ease-out 0.4s;
						transition: all ease-out 0.4s;
	}
	a.trigger-bars {
		position: relative;
		z-index: 9999;
		width: 28px;
		height: 16px;
		color: #d3373e;
	}
	a.trigger-bars::after {
		position: absolute;
		width: 200%;
		left: -50%;
		top: 27px;
		display: block;
		letter-spacing: 0em;
		font-size: 1.0rem;
		font-weight: bold;
		text-transform: uppercase;
		line-height: 1;
	}
	a.trigger-bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #d3373e;
		border-radius: 0;
		-webkit-transition: all ease-out 0.14s;
			 -moz-transition: all ease-out 0.14s;
				-ms-transition: all ease-out 0.14s;
						transition: all ease-out 0.14s;
	}
	a.trigger-bars span:nth-of-type(1) { top: 0;}
	a.trigger-bars span:nth-of-type(2) { top: 7px;}
	a.trigger-bars span:nth-of-type(3) { bottom: 0;}

	/*ul.nav-icon li.toggler.active { background-color: #fff;}
	.active a.trigger-bars { color: #d3373e;}
	.active a.trigger-bars span { background-color: #d3373e; }*/

	.active a.trigger-bars span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-45deg);
		        transform: translateY(7px) rotate(-45deg);
	}
	.active a.trigger-bars span:nth-of-type(2) {
		opacity: 0;
	}
	.active a.trigger-bars span:nth-of-type(3) {
		-webkit-transform: translateY(-7px) rotate(45deg);
		        transform: translateY(-7px) rotate(45deg);
	}

	/* TOGGLER NAVIGATION - CONTACT
	ul.nav-icon li.contact {
		padding: 13px 12px;
		background-color: #d7000f;
	}
	ul.nav-icon li.contact a {
		position: relative;
		color: #fff;
	}
	ul.nav-icon li.contact a i.icon-envelope {
		display: inline-block;
		vertical-align: baseline;
		width: 22px;
		height: 22px;
	}
	ul.nav-icon li.contact a::after {
		content: "お問合せ";
		display: block;
		position: absolute;
		width: 200%;
		left: -50%;
		top: 27px;
		letter-spacing: 0em;
		font-size: 1.0rem;
	  font-weight: bold;
	  text-transform: uppercase;
	  line-height: 1;
	} */
}


/*
-----------------------------------------------------

	=FOOTER

-----------------------------------------------------
*/

.footer-global {
	position: relative;
	z-index: 9990;
	background-color: #000;
	color: #fff;
}
.footer-global a {
	color: #fff;
	text-decoration: none;
}
.footer-global hr:not([class])  {
	height: 2em;
}

.footer-global .footer-area {
	padding: 3.125vw 0;
}
.footer-global .footer-area > .inner {
	position: relative;
}
.footer-global .footer-area .footer-left { width: 32%; }
.footer-global .footer-area .footer-right { width: 68%; padding-top: 1em; }

.footer-global .footer-area .footer-left {}
.footer-global .footer-area .footer-left > *:not( :last-child ) {}
.footer-global .footer-area .logo {
	margin-bottom: 2em;
}
.footer-global .footer-area .address {
	font-size: 1em;
}

.footer-global .footer-area .nav-footer {}

.footer-global .footer-area .nav-footer ul {
	font-size: 0;
	letter-spacing: 0;
}
.footer-global .footer-area .nav-footer ul li {
	display: inline-block;
	vertical-align: top;
	font-size: 1.6rem;
	font-weight: bold;
}
.footer-global .footer-area .nav-footer ul li:not( :last-child ) {
	margin: 0 2em 0 0;
}
.footer-global .footer-area .nav-footer ul li a {}

/* 縦列ver.
.footer-global .footer-area .nav-footer>ul {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0 6em;
}
.footer-global .footer-area .nav-footer ul li {
	margin: 0 0 0.25em;
	font-size: 1.6rem;
}
.footer-global .footer-area .nav-footer ul li a {
	text-decoration: none;
}
.footer-global .footer-area .nav-footer ul li a:hover {}

.footer-global .footer-area .nav-footer ul ul {
	margin-top: 0.25em;
}
.footer-global .footer-area .nav-footer ul ul li {
	position: relative;
	padding-left: 1.0em;
}
.footer-global .footer-area .nav-footer ul ul li:before {
	position: absolute;
	left: 0.25em;
	content: "-";
}
*/
.footer-global .copyright-area {
}
.footer-global .copyright-area .copyright {
	border-top: solid 1px rgba(255,255,255,0.2);
	padding: 3.125vw 0;
	font-family: 'Boston Bold', sans-serif;
	letter-spacing: 0.10em;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
}
#button-pagetop {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 3.125vw;
}


@media screen and (min-width: 600px) {
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.footer-global {
		font-size: 1.0rem;
	}
	.footer-global .footer-area,
	.footer-global .copyright-area {
		padding: 6.25vw 0;
		text-align: center;
	}
	.footer-global .copyright-area {
		padding-top: 0;
	}
	.footer-global .footer-area .flex-parent.responsive > .flex-child,
	.footer-global .copyright-area .flex-parent.responsive > .flex-child {
		width: 100%;
		margin: 0;
	}
	.footer-global .footer-area .footer-left,
	.footer-global .footer-area .footer-right { width: 100%; }
	.footer-global .footer-area .footer-right { display: none; }
	.footer-global .footer-area .logo {
		margin: 0 auto 3.125vw;
		width: 40%;
	}
	.footer-global .copyright-area .footer-right {
		display: block;
		text-align: center;
	}
	.footer-global .copyright-area .copyright {
		text-align: center;
		font-size: 9px;
	}
}




/*
-----------------------------------------------------

	=COMMON PARTS

-----------------------------------------------------
*/


/* =SECTION
----------------------------------------------------- */

.block:not( :last-child ) {
	margin-bottom: 50px;
}
.section {
	padding: 100px 0;
}

hr {
	clear: both;
	border: none;
	height: 50px;
}
hr.hr-border {
	margin: 2em 0;
	height: 1px;
	background-color: #dcdcdc;
}

.section-header {
	text-align: center;
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.block:not( :last-child ) {
		margin: 0 auto 8vw;
	}
	.section {
		padding: 8vw 0;
	}
	hr { height: 8vw; }
}


/* =DECORATION
----------------------------------------------------- */
.bg-white { background-color: #fff; }
.bg-gray { background-color: #f6f6f6; }

.frame {
	padding: 2.0em;
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.frame {
		padding: 6.25vw;
	}
}


/* =HEADING
----------------------------------------------------- */
.title-section {
	margin: 0 0 1.5em;
	font-size: 2.0rem;
	line-height: 1.5;
}
.title-section .english,
.title-section .japanese {
	display: block;
}
.title-section .japanese {
	margin: 0 0 0.5em;
	font-weight: bold;
}
.title-section .english {
	color: #d3373e;
	font-size: 6.0rem;
	font-family: 'Boston Bold', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.title-section.fc-white,
.title-section.fc-white>* { color: #fff; }


@media screen and (min-width: 600px) {}


@media screen and (min-width: 0px) and (max-width: 599px) {
	.title-section {
		margin: 0 0 1.5em;
		font-size: 1.4em;
	}
	.title-section .english {
		font-size: 3.0rem;
	}
	.title-section .japanese {
		font-size: 1.2rem;
	}
}


/* =BUTTON
----------------------------------------------------- */
.button-more {
	position: relative;
	display: inline-block;
	width: auto;
	min-width: 300px;
	line-height: 1.5;
	padding: 0.85em 1.5em;
	padding-right: 80px;
	color: #000;
	font-size: 2.0rem;
	font-weight: normal;
	border: solid 1px #000;
	letter-spacing: 0.10em;
	text-decoration: none;
	text-align: left;
	background: url(assets/images/icon-arrow-right-black.png) no-repeat right 1.5em center;
	background-size: 7px auto;
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
}
.button-more::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 95%;
	width: 120px;
	height: 2px;
	background-color: #d3373e;
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
}
.button-more:hover {
	opacity: 1;
	border-color: #d3373e;
	color: #d3373e;
	background-image: url(assets/images/icon-arrow-right-red.png);
	background-position: right 1.0em center;
}
.button-more:hover::before {
	right: 100%;
	width: 0;
}

	.button-more.white {
		color: #fff;
		border-color: #fff;
		background-image: url(assets/images/icon-arrow-right-white.png);
	}
	.button-more.white::before {
		background-color: #fff;
	}
	.button-more.white:hover {
		background-color: rgba(255,255,255,.25);
	}
	.button-more.red {
		color: #fff;
		border-color: transparent;
		background-color: #d3373e;
		background-image: url(assets/images/icon-arrow-right-white.png);
	}
	.button-more.red::before {
		background-color: #fff;
	}
	.button-more.red:hover {
		background-color: #ad3238;
	}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.button-more {
		font-size: 1.7rem;
	}
	.button-more::before {}
}


.button-viewmore {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 100%;
	padding: 1.4em 2em;
	background: url(assets/images/icon-arrow-right-white.png) no-repeat right 2em center;
	background-size: 7px auto;
	background-color: #d3373e;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.25;
	text-decoration: none;
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
}
.button-viewmore:hover {
	background-color: #ad3238;
}
	.button-viewmore.large {
		width: 800px;
		font-size: 1.2em;
	}
	.button-viewmore.white {
		background-color: #fff;
		color: #d3373e;
		background-image: url(assets/images/icon-arrow-right-red.png);
	}


ul.list-button {
	font-size: 0;
	letter-spacing: 0;
	text-align: center;
}
ul.list-button li {
	display: inline-block;
	margin: 0 10px 10px;
	margin-bottom: 10px;
	font-size: 1.6rem;
}
ul.list-button li .button-more {}


@media screen and (min-width: 0px) and (max-width: 599px) {
	ul.list-button li {
		display: block;
	}
}


/* =LIST
----------------------------------------------------- */

/*ul.list-circle li {
	margin: 0 0 0.00em;
	position: relative;
	padding-left: 1.2em;
	color: #d3373e;
	line-height: 1.8;
}
ul.list-circle li::before {
	content: "● ";
	position: absolute;
	left: 0;
	top: 0.5em;
	display: inline-block;
	vertical-align: middle;
	margin: 0 1.25em 0 0;
	color: #d3373e;
	font-size: 0.9rem;
}*/

/*
ul.list-inline {
	font-size: 0;
	letter-spacing: 0;
}
ul.list-inline li {
	display: inline-block;
	margin: 0 10px 10px 0;
	margin-bottom: 10px;
	font-size: 1.6rem;
}*/


ul.list-share {
	font-size: 0;
	letter-spacing: 0;
	text-align: center;
}
ul.list-share li {
	display: inline-block;
	margin: 0 5px 10px;
	margin-bottom: 10px;
	font-size: 1.6rem;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
}



/* =OTHER
----------------------------------------------------- */


/*
-----------------------------------------------------

	=FRONTPAGE (TOP)

-----------------------------------------------------
*/

/* =TOP - FIRSTVIEW (SLIDER)
----------------------------------------------------- */
.top-fv {
	position: relative;
	overflow: hidden;
	z-index: 1;
	width: 100%;
	height: 100vh;
}
.top-fv::before {}


.top-fv .video {}

/* VIDEO */
.top-fv .video {
	position: absolute;
	overflow: hidden;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 100%;
	height: 100vh;
}
.top-fv .video video,
.top-fv .video img {
	object-fit: cover;
	width: 101%;
	height: 101%;
	mix-blend-mode: overlay;
}
.top-fv .video > video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	min-width: 100%;
	min-height: 100%;

	margin-top: -1px; 
	margin-bottom: -1px;
}


/* FIRSTVIEW - SCROLL */
.top-fv .scroll {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 45px;
	width: 100%;
	height: 100%;
}
.top-fv .scroll .scroll-text {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 1px;
	height: 200px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.top-fv .scroll .scroll-text::before {
	position: absolute;
	top: -8em;
	left: -0.5em;
	content: "SCROLL";
	color: #fff;
	font-family: 'Boston Bold', sans-serif;
	font-size: 1.2rem;
	letter-spacing: 0.4em;
	line-height: 1;
}
.top-fv .scroll .scroll-text::after {
	position: absolute;
	left: 0;
	content: "";
	width: 1px;
	height: 0;
	background-color: #fff;
    -webkit-animation: scrollEffect 6s infinite;
    animation: scrollEffect 6s infinite;
}
@keyframes scrollEffect {
  20% {
    height: 0%;
  }
  35% {
    height: 100%;
  }
  85% {
    height: 100%;
  }
  100% {
    height: 0%;
  }
}

@media screen and (min-width: 600px) {

}
@media screen and (min-width: 0px) and (max-width: 599px) {
	
	/*
	@supports (-webkit-touch-callout: none) {
	  .top-fv {
	    height: -webkit-fill-available;
	  }
	} */
	
	.top-fv {
		width: auto;
		height: auto;
		overflow: hidden;
	}
	/*.top-fv .image {
		z-index: -1;
		height: 100vh;
	}
	.top-fv .flexslider .slides img,
	.top-fv .image img {
		object-fit: cover;
		height: 100%;
	}*/

	.top-fv .video {
		z-index: 3;
		position: static;
		height: auto;
	}
	.top-fv .video > video {
		position: static;
		height: auto;
		transform: inherit;
	}
	.top-fv .scroll {
		right: 25px;
	}
	.top-fv .scroll .scroll-text {
		height: 70px;
	}
	.top-fv .scroll .scroll-text::before {
		font-size: 9px;
	}
}




/* =TOP - COMMON PARTS
----------------------------------------------------- */
.anchor {
	visibility: hidden;
	height: 0;
    display: block;
    padding-top: 160px;
    margin-top: -160px;
}
.grayscale {
	-webkit-transition: all ease-out 0.4s;
	   -moz-transition: all ease-out 0.4s;
	    -ms-transition: all ease-out 0.4s;
	        transition: all ease-out 0.4s;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}
.grayscale:hover {
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}



/* =TOP - MISSION
----------------------------------------------------- */
.top-mission {
	position: relative;
	z-index: 2;
}

.top-mission::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: 0;
	top: 0;
	width: 33.33vw;
	height: 0%;
	background-color: #d3373e;
		-webkit-transition: all ease-out 1.2s;
		   -moz-transition: all ease-out 1.2s;
		    -ms-transition: all ease-out 1.2s;
		        transition: all ease-out 1.2s;
}
.top-mission.is-show::before {
	height: 80%;
}

.title-22 {
	margin: 0 0 1.8em;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.8;
}

.top-mission .group01 {
	position: relative;
	z-index: 2;
}
.top-mission .group02 {
	position: relative;
	z-index: 3;
}
.top-mission .group02 .wrapper {
	width: 1440px;
}
.top-mission .group02 .gallery {}
.top-mission .group02 .gallery .image {
	position: relative;
	padding: 15px;
}
.top-mission .group02 .gallery .image01 {
	top: 40px;
	width: 25%;
}
.top-mission .group02 .gallery .image02 {
	top: 0;
	width: 45%;
}
.top-mission .group02 .gallery .image03 {
	top: -80px;
	width: 30%;
}

@media screen and (min-width: 600px) {
	.top-mission .group01 .image-content>.image {width: 720px; margin: -30px -120px -120px 0; }
	.top-mission .group01 .image-content>.content {width: 50%; }

}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-mission .group02 {
		margin: -20vw 0 0;
	}
	.top-mission .group02 .wrapper {
		margin: 0 -10vw;
		padding: 0;
	}
	.top-mission .group02 .wrapper,
	.top-mission .group02 .gallery {
		width: calc(100% + 20vw);
	}
	.top-mission .group02 .gallery .image {
		padding: 5px;
	}

	.title-22 {
		font-size: 1.9rem;
	}
}



/* =TOP - MESSAGE
----------------------------------------------------- */
.top-message {
	position: relative;
	z-index: 1;
}
.top-message::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0%;
	width: 33.33vw;
	height: 0%;
	background-color: #d3373e;
		-webkit-transition: all ease-out 1.2s;
		   -moz-transition: all ease-out 1.2s;
		    -ms-transition: all ease-out 1.2s;
		        transition: all ease-out 1.2s;
}
.top-message.is-show::after {
	height: 70%;
}


.top-message .bg-text {
	position: absolute;
	z-index: -1;
	display: grid;
	align-items: center;
	top: 0;
	bottom: 0;
	left: -5vw;
	right: 0;
	color: #d3373e;
	font-size: 378px;
	font-family: 'Boston Bold', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.25;
	opacity: 0.1;
	word-wrap: normal;
}

.heading-name {
	margin: 0 0 3em;
}
.heading-name>* {
	display: block;
}
.heading-name .job {
	color: #d3373e;
	font-size: 2.4rem;
	font-family: 'Boston Bold', sans-serif;
	letter-spacing: 0.06em;
}
.heading-name .name {
	margin: 0 0 10px;
	font-size: 3.2rem;
	font-weight: bold;
}
.heading-name .english {
	font-family: 'Boston Bold', sans-serif;
	letter-spacing: 0.06em;
	font-size: 2.0rem;
	opacity: 0.4;
}


@media screen and (min-width: 600px) {
	.top-message .wrapper { width: 1100px; }
	.top-message .image-content>.image {width: 528px; margin: -30px -120px -120px 0; }
	.top-message .image-content>.content {width: 480px; }

	.top-message .handwriting {
		margin: 0 0 2em -60px;
	}


}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-message::after {
		top: -30%;
	}
	.top-message .bg-text {
		font-size: 100px;
	}
	.top-message .image-content.responsive>.image {}
	.top-message .image-content.responsive>.image img {
		display: block;
		width: 80%;
		margin: auto;
	}

	.heading-name .job {
		font-size: 1.1em;
	}
	.heading-name .name {
		font-size: 2.4rem;
	}
	.heading-name .english {
		font-size: .8em;
	}
}


/* =TOP - LINK
----------------------------------------------------- */
.top-link {
	position: relative;
	z-index: 2;
}

/* 下層ページでも共通 */
.link-block {}
.link-block .image-content {
	align-items: center;
}
.link-block .image-content>.image { background-color: #000; }
/*.link-block .image-content>.image img {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}*/
.culture-link {
	background-color: #f6f6f6;
}
.office-link {
	background-color: #000;
	color: #fff;
}

@media screen and (min-width: 600px) {
	.link-block .wrapper { width: 1440px; }
	.link-block .image-content>.image { width: 860px; }
	.link-block .image-content>.content { width: 580px;}
	.link-block .image-content>.content .inner {
		padding: 40px 80px;
	}
	.link-block .image-content:not( .reverse )>.content .inner {
	}
	.link-block .image-content.reverse>.content .inner {
		padding-left: 5vw;
	}

}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.link-block .wrapper {
		padding: 0;
	}
	.link-block .image-content>.image {
		margin-bottom: 0;
	}
	.link-block .image-content>.content .inner {
		padding: 10vw 7vw 15vw;
	}
}



/* =TOP - COLUMN
----------------------------------------------------- */
.top-column {
	position: relative;
	z-index: 2;
}

/* ループ部分は owenedmedia.css 参照 */



/* =TOP - JOBLIST
----------------------------------------------------- */
.top-joblist {
	position: relative;
	z-index: 2;
}

/* 下層ページでも共通 */
.bg-joblist {
	background: url(assets/images/top-joblist-bg.jpg) no-repeat center;
	background-size: cover;
}

/* JOBLIST */
.joblist-lineup {}
.joblist-lineup .lineup {
	position: relative;
	background-color: #fff;
}
.joblist-lineup .lineup>* {}
.joblist-lineup .lineup a {
	text-decoration: none;
	color: inherit;
}
.joblist-lineup .lineup a:hover {
	opacity: 1;
}
.joblist-lineup .lineup .image {
	overflow: hidden;
	position: relative;
	padding-bottom: 66.66%;
}
.joblist-lineup .lineup .image img {
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.joblist-lineup .lineup a:hover .image img {
	opacity: 1;
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
}
.joblist-lineup .lineup .content {
	padding: 3em;
	font-size: 1.4rem;
}
.joblist-lineup .lineup .content>* {}
.joblist-lineup .lineup .content .meta {
	margin: 0 0 20px;
	color: #aaa;
	font-size: 1.4rem;
}
.joblist-lineup .lineup .content .meta>* {
	display: inline-block;
	vertical-align: top;
}
.joblist-lineup .lineup .content .location {
	float: right;
	padding-left: 20px;
	background: url(assets/images/icon-marker.png) no-repeat left center;
	background-size: 13px auto;
	line-height: 1.5;
}
.joblist-lineup .lineup .content .title {
	margin: 0 0 15px;
	font-size: 2.0rem;
	line-height: 1.25;
}

.joblist-lineup .lineup ul.list-tag {
	font-size: 0;
	letter-spacing: 0;
}
.joblist-lineup .lineup ul.list-tag li {
	display: inline-block;
	vertical-align: top;
	margin: 0 10px 0 0;
	line-height: 1.5;
	font-weight: bold;
	text-decoration: none;
}

.joblist-lineup .lineup .content .text {
	margin: 0 0 20px;
	font-size: .8em;
}

.joblist-lineup .lineup a:hover .button-viewmore {
	background-color: #ad3238;
}


@media screen and (min-width: 0px) and (max-width: 599px) {
	.joblist-lineup .lineup .content {
		padding: 6vw;
	}
	.joblist-lineup .lineup .content .meta {
		font-size: 1.2rem;
	}
	.joblist-lineup .lineup .content .title {
		font-size: 1.7rem;
	}
}


/* =TOP - ACTION - JOIN US [全ページ共通パーツ]
----------------------------------------------------- */
.action-joinus {
	position: relative;
	z-index: 2;
	background-color: #f6f6f6;
}
.action-joinus::before {
	content: "";
	position: absolute;
	z-index: -1;
	right: 0;
	top: 0;
	width: 33.33vw;
	height: 100%;
	background-color: #f6d7d8;
}

.action-joinus .image {
	position: relative;
}
.action-joinus .image img {
	width: 100%;
	height: auto;
}
.action-joinus .image .button {
	position: absolute;
	right: 80px;
	bottom: 80px;
}

@media screen and (min-width: 600px) {
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.action-joinus {
		padding-bottom: 30px;
	}
	.action-joinus .image .button {
		left: 0;
		right: 0;
		bottom: -30px;
		margin: 0 auto;
		text-align: center;
	}
}



/*
-----------------------------------------------------

	=SUBPAGES

-----------------------------------------------------
*/

/* =SUBPAGES - COMMON PARTS
----------------------------------------------------- */

.sub-fv {
	position: relative;
	overflow: hidden;
	z-index: 1;
	width: 100%;
	-webkit-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 0.9s;
	   -moz-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 0.9s;
	    -ms-transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 0.9s;
	        transition: all cubic-bezier(0.230, 1.000, 0.320, 1.000) 0.9s;
}
.sub-fv::before {}


/* FIRSTVIEW - VISUAL */
.sub-fv .visual {
	position: relative;
	z-index: 3;
	margin: 0 0 0 auto;
	width: 56vw;
}
.sub-fv .visual .image {
	position: relative;
	height: 600px;
}
.sub-fv .visual .image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	/* -webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%); */
}

/* BREADCRUMBS */
.sub-fv .visual #breadcrumbs {
	background-color: #d3373e;
}
#breadcrumbs {
	padding: 20px 6vw;
	line-height: 20px;
	font-weight: bold;
	text-align: right;
}
#breadcrumbs,
#breadcrumbs a {
	color: #fff;
}

#breadcrumbs .inner {}
#breadcrumbs a {
	text-decoration: none;
}
#breadcrumbs a:hover {
	text-decoration: underline;
}



/* FIRSTVIEW - CONTENT */
.sub-fv .content {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	align-items: center;
}
.sub-fv .wrapper {
	position: relative;
	height: 100%;
}

.sub-fv .content .tagline {
	z-index: 1;
	top: 0;
	height: 100%;
	display: flex;
	align-items: center;
}

/* FIRSTVIEW - SCROLL */
.sub-fv .content .scroll {
	position: absolute;
	z-index: 3;
	bottom: 0;
	left: 8px;
}
.sub-fv .content .scroll .scroll-text {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 1px;
	height: 140px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.sub-fv .content .scroll .scroll-text::before {
	position: absolute;
	top: -8em;
	left: -0.5em;
	content: "SCROLL";
	color: #d3373e;
	font-family: 'Boston Bold', sans-serif;
	font-size: 1.2rem;
	letter-spacing: 0.4em;
	line-height: 1;
}
.sub-fv .content .scroll .scroll-text::after {
	position: absolute;
	left: 0;
	content: "";
	width: 1px;
	height: 0;
	background-color: #d3373e;
    -webkit-animation: scrollEffect 6s infinite;
    animation: scrollEffect 6s infinite;
}


@media screen and (min-width: 600px) {

	.sub-fv.message .visual .image::before {
		content: "";
		position: absolute;
		z-index: 9;
		top: 60px;
		bottom: 0;
		left: -160px;
		right: 0;
		margin: auto 0;
		background: url(assets/images/sub-fv-message-handwriting.png) no-repeat center;
		background-size: 100% auto;
		width: 430px;
		height: 190px;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	
	/* 
	@supports (-webkit-touch-callout: none) {
	  .sub-fv {
	    height: -webkit-fill-available;
	  }
	}*/
	.sub-fv {
		height: auto;
	}
	.sub-fv .visual {
		width: 100%;
	}
	.sub-fv .visual .image {
		width: 79vw;
		height: 70vw;
		margin-left: auto;
	}
	#breadcrumbs {
		font-size: .9rem;
	}
	.sub-fv .content {
		z-index: 4;
		height: calc(100% - 90px);
	}
	.sub-fv .content .tagline {
		align-items: flex-end;
	}
	.sub-fv .content .scroll {
		left: 7vw;
		display: none;
	}
	.sub-fv .content .scroll .scroll-text::before {
		font-size: 9px;
	}
}

/* OTHER */
.title-japanese {
	margin: 0 0 1.5em;
	font-size: 4.0rem;
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.9;
}
.title-30 {
	margin: 0 0 1em;
	font-size: 3.0rem;
	font-weight: bold;
}


@media screen and (min-width: 600px) {}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.title-japanese {
		font-size: 2.0rem;
	}
	.title-30 {
		font-size: 1.6rem;
	}
}



/* =SUBPAGES - MESSAGE [代表からのメッセージ]
----------------------------------------------------- */
.sub-message {
	position: relative;
	z-index: 1;
}
.sub-message .bg-text {
	position: absolute;
	z-index: -1;
	display: grid;
	align-items: center;
	top: 0;
	bottom: 0;
	left: -5vw;
	right: 0;
	color: #d3373e;
	font-size: 378px;
	font-family: 'Boston Bold', sans-serif;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.25;
	opacity: 0.1;
	word-wrap: normal;
}


@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.sub-message .bg-text {
		font-size: 120px;
	}
}



/* =SUBPAGES - CULTURE [カルチャー]
----------------------------------------------------- */
.sub-culture {
	position: relative;
	z-index: 1;
}
.sub-culture .header-image {
	height: 300px;
}
.sub-culture .header-image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.culture-header {
	text-align: center;
}
.culture-header .numbering {
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 40px;
	color: #d3373e;
	font-size: 178px;
	font-family: 'Boston Black', sans-serif;
	line-height: 1;
}
.culture-header .numbering::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 1px;
	height: 40px;
	background-color: #d3373e;
}
.culture-header .title {
	color: #d3373e;
}

.culture-lineup .lineup {}
.culture-lineup .lineup .image {
	margin: 0 0 20px;
}
.culture-lineup .lineup .content {
	font-size: .9em;
}
.culture-lineup .lineup .content .title {
	margin: 0 0 10px;
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
}


@media screen and (min-width: 600px) {
	.sub-culture hr {
		height: 80px;
	}
	.sub-culture .culture-header {
		margin: 0 0 80px;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.sub-culture .header-image {
		height: 200px;
	}
	.culture-header .numbering {
		font-size: 110px;
	}
}



/* =SUBPAGES - OFFICE [オフィス紹介]
----------------------------------------------------- */
.sub-office {
	position: relative;
	z-index: 1;
}
.office-lineup {}
.office-lineup .lineup {
	position: relative;
	padding: 40px 0;
	margin: 0 0 200px;
}
.office-lineup .lineup .numbering {
	position: absolute;
	z-index: 3;
	top: -140px;
	color: transparent;
	font-size: 400px;
	font-family: 'Boston Black', sans-serif;
	line-height: 1;
	line-height: 1;
	-webkit-text-stroke: 1px #000;
	        text-stroke: 1px #000;
}
.office-lineup .lineup .image {}
.office-lineup .lineup .content {
	background-color: #d3373e;
	color: #fff;
}
.office-lineup .lineup .content .inner {
	padding: 100px 4em;
}

ul.office-gallery {}
ul.office-gallery li a {
	overflow: hidden;
	display: block;
	position: relative;
	height: 0;
	padding-bottom: 66.66%;
}
ul.office-gallery li a img {
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;
}


@media screen and (min-width: 600px) {
	.office-lineup .lineup .image {
		width: 72%;
	}
	.office-lineup .lineup .content {
		position: absolute;
		top: 140px;
		width: 45%;
	}
	.office-lineup .lineup:nth-of-type(odd) {}
	.office-lineup .lineup:nth-of-type(even) {}
	.office-lineup .lineup:nth-of-type(odd) .numbering { left: -120px; }
	.office-lineup .lineup:nth-of-type(even) .numbering { right: -120px; }
	.office-lineup .lineup:nth-of-type(odd) .image { margin-left: auto; }
	.office-lineup .lineup:nth-of-type(even) .image { margin-right: auto; }
	.office-lineup .lineup:nth-of-type(odd) .content { left: 0; }
	.office-lineup .lineup:nth-of-type(even) .content { right: 0; }
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.office-lineup {
		margin-top: 10vw;
	}
	.office-lineup .lineup {
		padding: 0 0;
		margin: 0 0 12vw;
	}
	.office-lineup .lineup:nth-of-type(odd) .numbering { left: -20px; }
	.office-lineup .lineup:nth-of-type(even) .numbering { right: -20px; }
	.office-lineup .lineup .numbering {
		font-size: 150px;
		top: -70px;
	}
	.office-lineup .lineup .content .inner {
		padding: 6vw
	}
}


/* =SUBPAGES - JOBLIST [募集要項一覧]
----------------------------------------------------- */
.sub-joblist {
	position: relative;
	z-index: 1;
}
.sub-joblist .joblist-lineup .lineup .content {
	background-color: #f6f6f6;
}


@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
}


/* =SUBPAGES - JOBLIST [募集要項一覧 - 詳細ページ]
----------------------------------------------------- */
.sub-joblist-detail {
	position: relative;
	z-index: 1;
}

/* 募集要項 */
.joblist-header {}
.joblist-header .image-content>.image {}
.joblist-header .image-content>.content {}
.joblist-header .content {}
.joblist-header .content>* {}
.joblist-header .content .meta {
	margin: 0 0 20px;
	color: #aaa;
	font-size: 1.4rem;
}
.joblist-header .content .meta>* {
	display: inline-block;
	vertical-align: top;
}
.joblist-header .content .meta>*:not( :last-child ) {
	margin: 0 20px 0 0;
}
.joblist-header .content .location {
	padding-left: 20px;
	background: url(assets/images/icon-marker.png) no-repeat left center;
	background-size: 13px auto;
	line-height: 1.5;
}
.joblist-header .content .title {
	margin: 0 0 1em;
	font-size: 2.0em;
	line-height: 1.5;
}

.joblist-header .content ul.list-tag {
	font-size: 0;
	letter-spacing: 0;
}
.joblist-header .content ul.list-tag li {
	display: inline-block;
	vertical-align: top;
	margin: 0 10px 0 0;
	line-height: 1.5;
	font-weight: bold;
	text-decoration: none;
}

.joblist-header .content .text {
	margin: 0 0 20px;
	font-size: .8em;
}

.joblist-main {}

hr.sep {
	background-color: #dcdcdc;
	height: 1px;
}
.title-simple {
	margin: 0 0 1em;
	font-size: 1.5em;
	font-weight: normal;
	line-height: 1.5;
}

.frame {
	padding: 3em;
}
.frame:not( :last-child ) {
	margin: 0 0 2.0em;
}
.frame-gray {
	background-color: #f6f6f6;
}

ul.list-circle li {
	position: relative;
	padding-left: 2.0em;
	background: url(assets/images/icon-list-circle.png) no-repeat left center;
	background-size: 15px auto;
	line-height: 1.8;
}
ul.list-circle li:not( :last-child ) {
	margin: 0 0 1.0em;
}

.title-red {
	margin: 0 0 1em;
	color: #d3373e;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.8;
}


table.table-joblist {}
table.table-joblist tr {
	border-bottom: solid 2px #fff;
}
table.table-joblist th,
table.table-joblist td {
	border: none;
	letter-spacing: 0;
	vertical-align: middle;
}
table.table-joblist th {
	background-color: #f6f6f6;
}


@media screen and (min-width: 600px) {
	.joblist-header .image-content>.image { width: 540px;}
	.joblist-header .image-content>.content { width: 580px; }
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.title-simple {
		font-size: 1.1em;
	}
	.title-red {
		font-size: 2.0rem;
	}
}



/* =SUBPAGES - ENTRY [エントリー]
----------------------------------------------------- */
.sub-contact {}

.contact-group {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
}
.contact-group .introduction {
	text-align: center;
}
.contact-group .introduction .title {
	margin: 0 0 1.5em;
	font-size: 120%;
	font-weight: bold;
}
	/* レイアウト強制 */
	.mw_wp_form .horizontal-item + .horizontal-item {
		margin-left: 0 !important;
	}
	.form-main label {
		margin-right: 0;
		display: block;
	    background-color: #eee;
	    color: #555;
	    padding: 1em;
	    border: 1px solid #eee;
	    line-height: 1;
	    vertical-align: middle;
	    max-width: 100%;
	    border-radius: 0;
	}
	.form-main label:hover {
		border-color: #f90;
	}
	.form-main .horizontal>br {
		display: none !important;
	}
	@media screen and (min-width: 600px) {
		.form-main .horizontal {
			font-size: 0;
			letter-spacing: 0;
		}
		.form-main .horizontal>* {
			display: inline-block;
			vertical-align: text-top;
			width: 32.33%;
			margin: 0 1% 1% 0;

			font-size: 1.4rem;
		}
		.form-main label {
		    padding: 15px 20px;
		}
		.form-main .horizontal input {
			font-size: ;
		}
		/*.form-main .horizontal.youken>*:nth-child(2) {
			width: 65.66%;
		}*/

	}

	@media screen and (min-width: 0px) and (max-width: 599px) {
		.form-main .horizontal>* {
			display: inline-block;
			vertical-align: middle;
			width: 100%;
			margin: 0 0 1%;
		}
	}

.fc-theme {
	color: #d3373e;
}
/* プライバシーポリシー */
.frame-privacy {
	height: 20em;
	overflow: auto;
	border-radius: 5px;
	padding: 2em;
	background-color: #e2ecf7;
}
	
/* フォーム本体 */
.form-main {
	padding-top: 0;
}
.form-main * {
	line-height: 1.8;
}
.form-main table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.75;
	text-align: left;
}
.form-main tr,
.form-main th,
.form-main td {
	display: block;
	width: 100%;
	vertical-align: top;
	text-align: left;
	border: none;
	font-weight: 600;
}
.form-main tr {
	margin: 0 0 2em;
}
.form-main tr {}
.form-main th,
.form-main td {
	padding: 0.5em 0;
	font-weight: normal;
}
.form-main th {
	font-weight: bold;
}
.form-main input[type="text"],
.form-main input[type="email"],
.form-main input[type="tel"],
.form-main select,
.form-main textarea {
	width: 100%;
	padding: 1.005em;
	border-radius: 0;
}
.mwform-tel-field input[type="text"], 
.mwform-zip-field input[type="text"] {
	display: inline-block;
	vertical-align: unset;
}
/*.form-main .horizontal-item + .horizontal-item {
	margin-left: 0px;
	white-space: nowrap;
}*/
.form-main textarea {
	width: 100%;
}
.form-main select {
	max-width: 250px;
	font-size: inherit;
}
.form-main .vertical label {
	display: block;
}

.form-main input[type="submit"] {
	position: relative;
	display: block;
	width: 100%;
	max-width: 90%;
	padding: 1.2em 1.5em;
	border: solid 1px #d3373e;
	line-height: 1.5;
	border-radius: 0;
	background: url(assets/images/icon-arrow-right-white.png) no-repeat right 1.5em center;
	background-size: 7px auto;
	background-color: #d3373e;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0em;
	text-decoration: none;
	-webkit-transition: all ease-out 0.1s;
	   -moz-transition: all ease-out 0.1s;
	    -ms-transition: all ease-out 0.1s;
	        transition: all ease-out 0.1s;
}
.form-main input[type="submit"]:hover {
	opacity: 1;
	background-color: #fff;
	color: #d3373e;
	background-image: url(assets/images/icon-arrow-right-type2.png);
}
.form-main ::placeholder {
	color: #aaa;
}
.form-main em {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 1em;
	color: #d3373e;
}
.form-main .error {
	display: block;
	margin: .5em 0 0;
	padding: .5em 1em;
	border: solid 1px #F00;
	background-color: #fbf1f1;
	color: #f00;
	border-radius: 0;
}

/* confirm.php */
.form-confirm tr {
	display: table-row;
}
.form-confirm th,
.form-confirm td {
	display: table-cell;
	width: auto;
	vertical-align: middle;
	text-align: left;
	border: none;
}
.form-confirm td {
	font-weight: normal;
}


@media screen and (min-width: 0px) and (max-width: 599px) {
	/* MW WP Form */
	.form-main th,
	.form-main td { width: 100% !important; padding: 5px 0 !important; font-size: 1em !important; background-color: transparent; border: none !important;}

	.form-main input,
	.form-main input[type="text"],
	.form-main input[type="email"],
	.form-main textarea,
	.form-main select,
	.form-main input[type*="submit"] { font-size: 16px !important;}
	.form-main input[type="text"],
	.form-main input[type="email"],
	.form-main textarea { padding: 0.75em; width: 100%;}
	.form-main select { padding: 0.75em; width: auto;}
	.form-main input[type="radio"] { padding: 0 !important;}
	.form-main input[type*="submit"] { width: 100% !important;}
}
 
/* =SUBPAGES - THANKS [お問い合わせ完了]
----------------------------------------------------- */
.thanks-group {
	padding-bottom: 0;
	background-color: #eef3f8;
}

/* リアステージ追記
----------------------------------------------------- */
.box17{
    margin:2em 0;
    position: relative;
    padding: 2em;
    border-top: solid 2px black;
    border-bottom: solid 2px black;
}
.box17:before, .box17:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: black;
}
.box17:before {left: 10px;}
.box17:after {right: 10px;}
.box17 p {
    margin: 0; 
    padding: 0;
}