/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}
audio,
canvas,
video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
[hidden],
template {
    display: none;
}

/* ==========================================================================
   Base
   ========================================================================== */
html {
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
}
body {
    margin: 0;
}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,table,pre {
   margin-top: 0;
}
ul{
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}
h1{
    margin-bottom: 0px;
}
/* ==========================================================================
   Links
   ========================================================================== */
a {
    background: transparent;
}
a:focus {
    outline: thin dotted;
}
a:active,
a:hover {
    outline: 0;
}

/* ==========================================================================
   Typography
   ========================================================================== */
html {
   font-size: 100%;
}
p,li,dt,dd,th,td,pre {
   -ms-line-break: strict;
   line-break: strict;
   -ms-word-break: break-strict;
   word-break: break-strict;
}
abbr[title] {
    border-bottom: 1px dotted;
}
b,
strong {
    font-weight: bold;
}
dfn {
    font-style: italic;
}
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}
mark {
    background: #ff0;
    color: #000;
}
code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}
pre {
    white-space: pre-wrap;
}
q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}
small {
    font-size: 80%;
}
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* ==========================================================================
   Embedded content
   ========================================================================== */
img {
    border: 0;
    max-width: 100%;
    vertical-align: middle;
}
svg:not(:root) {
    overflow: hidden;
}
/* .ie8 img {
   width: auto;
   height: auto;
} */
/* ==========================================================================
   Figures
   ========================================================================== */
figure {
    margin: 0;
}

/* ==========================================================================
   Forms
   ========================================================================== */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}
legend {
    border: 0; /* 1 */
    padding: 0; /* 2 */
}
button,
input,
select,
textarea {
    font-family: inherit; /* 1 */
    font-size: 100%; /* 2 */
    margin: 0; /* 3 */
}
button,
input {
    line-height: normal;
}
button,
select {
    text-transform: none;
}
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button; /* 2 */
    cursor: pointer; /* 3 */
}
button[disabled],
html input[disabled] {
    cursor: default;
}
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
}
input[type="search"] {
    -webkit-appearance: textfield; /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 2 */
    box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}
textarea {
    overflow: auto; /* 1 */
    vertical-align: top; /* 2 */
}

/* ==========================================================================
   Tables
   ========================================================================== */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*
---------------------------------------
clear
---------------------------------------
*/

.clearfix:after{
	content: " ";
	display: block;
	height: 0;
	font-size:0;
		clear: both;
	visibility:hidden;
}

.clearfix{
	min-height:1px;
}

* html .clearfix{
	height:1px;
}

.clear,
.both{
clear:both;
}

*:first-child+html .clearfix{ zoom: 1; } /* IE7 */


/* ==========================================================================
   common
   ========================================================================== */
::selection {
  color: #e92429; /* WebKit/Blink Browsers */
}
::-moz-selection {
  color: #e92429; /* Gecko Browsers */
}

* {
    margin: 0px;
    padding: 0px;
}
html, body {
    position:relative;
    visibility: visible;
}

#wpadminbar{
    display: none;
}

a{
    text-decoration: none; 
}
a img{
    -moz-transition: opacity .5s ease;
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: 1;
}
a img:hover{
    opacity: 0.8;
}

img{
    max-width: 100%;
    display: block;
}

h1,h2,h3,h4{
    margin: 0px;
    padding: 0px;
}

ul li{
    list-style-type: none;
}

picture{
    max-width: 100%;
    display: block;
}

.page{
    overflow-x: hidden;
}

.page:not(.home) #content{
    padding-bottom: 0px;
}

.menu_font{
    font-weight: 400;
    letter-spacing: 1px;
    color: #050505;
}
h1,h2,h3,h4,.ttl_font{
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    font-weight: 300;
    font-style: normal;
    letter-spacing: 1px;
    color: #e94980;
}
.font-ryumin{
    font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;
    font-style: normal;
}
.font-poppins-regular{
    font-family: poppins, sans-serif;
    font-weight: 400;
    font-style: normal;
}
.font-poppins-semibold{
    font-family: poppins, sans-serif;
    font-weight: 600;
    font-style: normal;
}
.font-yugothic{
    font-family: 游ゴシック, "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}
.font-hira2{
    font-family: 'ヒラギノ角ゴ Pro W2', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira3{
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira4{
    font-family: 'ヒラギノ角ゴ Pro W4', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira5{
    font-family: 'ヒラギノ角ゴ Pro W5', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira6{
    font-family: 'ヒラギノ角ゴ Pro W6', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
.font-hira7{
    font-family: 'ヒラギノ角ゴ Pro W7', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

.font-ryogothic{
    font-family: ryo-gothic-plusn, sans-serif;
    font-style: normal;
}

.font-bebas{
    font-family: bebas-neue, sans-serif;
    font-style: normal;
}

p{
    letter-spacing:0;
    margin-bottom:0;
    color: #0b0b0b;
}


/* ==========================================================================
   lp common
   ========================================================================== */
body{
    overflow-x: hidden;
} 
  
.lp_part_area{
	position: relative;
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
    background: #fff;
}

.lp_part_area a{
    text-decoration: none; 
}
.lp_part_area a img{
    -moz-transition: opacity .5s ease;
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease;
    opacity: 1;
}
.lp_part_area a img:hover{
    opacity: 0.8;
}

.lp_part_area img{
    max-width: 100%;
    display: block;
}

.lp_part_area h1, .lp_part_area h2, .lp_part_area h3, .lp_part_area h4{
    margin: 0px;
    padding: 0px;
}

.lp_part_area ul li{
    list-style-type: none;
}

.lp_part_area picture{
    max-width: 100%;
    display: block;
}

.content_box{
    max-width: 710px;
    margin: 0 auto;
    display: block;
    width: 95%;
    font-family: 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    position: relative;
}

.lp_part_area p{
    letter-spacing:0;
    margin-bottom:0;
    color: #0b0b0b;
	font-weight: normal;
}

.lp_part_area p{font-size:20px;font-size:2.67vw;line-height:1.9em}
.lp_part_area .s_12{font-size:15px;font-size:1.6vw;line-height:1.9em}
.lp_part_area .s_15{font-size:15px;font-size:2vw;line-height:1.9em}
.lp_part_area .s_16{font-size:16px;font-size:2.14vw;line-height:1.9em}
.lp_part_area .s_18{font-size:18px;font-size:2.4vw;line-height:1.9em}
.lp_part_area .s_20{font-size:20px;font-size:2.67vw;line-height:1.9em}
.lp_part_area .s_22{font-size:22px;font-size:2.94vw;line-height:1.9em}
.lp_part_area .s_24{font-size:24px;font-size:3.1vw;line-height:1.9em}
.lp_part_area .s_26{font-size:26px;font-size:3.47vw;line-height:1.9em}
.lp_part_area .s_28{font-size:28px;font-size:3.74vw;line-height:1em}
.lp_part_area .s_30{font-size:30px;font-size:4vw;line-height:1em}
.lp_part_area .s_32{font-size:32px;font-size:4.27vw;line-height:1em}
.lp_part_area .s_34{font-size:34px;font-size:4.54vw;line-height:1em}
.lp_part_area .s_35{font-size:35px;font-size:4.7vw;line-height:1em}
.lp_part_area .s_36{font-size:36px;font-size:4.8vw;line-height:1em}
.lp_part_area .s_38{font-size:38px;font-size:5.07vw;line-height:1em}
.lp_part_area .s_40{font-size:40px;font-size:5.4vw;line-height:1em}
.lp_part_area .s_42{font-size:42px;font-size:5.6vw;line-height:1em}
.lp_part_area .s_44{font-size:44px;font-size:5.8vw;line-height:1em}
.lp_part_area .s_50{font-size:50px;font-size:6.67vw;line-height:1em}
.lp_part_area .s_60{font-size:60px;font-size:8vw;line-height:1em}
.lp_part_area .s_70{font-size:70px;font-size:9.4vw;line-height:1em}
.lp_part_area .s_85{font-size: 85px;font-size: 11.2vw;line-height: 1em;}
.lp_part_area .s_90{font-size: 90px;font-size: 11.9vw;line-height: 1em;}
.lp_part_area .s_160{font-size:160px;font-size:10.67vw;line-height:1em}

@media screen and (min-width: 751px) {
    .lp_part_area p{font-size:16px;}
	.lp_part_area .p_14{font-size:14px;}
    .lp_part_area .p_15{font-size:15px;}
    .lp_part_area .p_16{font-size:16px;}
	.lp_part_area .p_18{font-size:18px;}
    .lp_part_area .p_20{font-size:20px;}
}

.lp_part_area .lp_sp{
    display: none;
}
.lp_part_area .lp_pc{
    display: block;
}

@media screen and (max-width: 750px) {
    .lp_part_area .lp_sp{
        display: block!important;
    }
    .lp_part_area .lp_pc{
        display: none!important;
    }
}

@media screen and (min-width: 751px) {
	.lp_part_area{
		width: 540px;
	}
}


/* ==========================================================================
   header
   ========================================================================== */
header{}
header .header_content{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 98%;
    margin: 0 auto;
    padding: 3.4% 0%;
}
header .header_content .logo{
	width: 30.2%;
}
header .header_content h1{
    color: #0f0f0f;
    font-weight: bold;
}
header .header_content .menu_btn{
	width: 5.9%;
}

@media screen and (min-width: 900px) {
	header .header_content .menu_btn .btn{
		display: none;
	}
}

/* ==========================================================================
   menu
   ========================================================================== */
#menu{
    position: fixed;
    right: -100vw;
    top: 0;
    width: 37.1%;
	max-width: 278px;
    background: #000;
    z-index: 110;
    -moz-transition: right .5s ease;
    -webkit-transition: right .5s ease;
    transition: right .5s ease;
    overflow-y: auto;
    border-bottom-left-radius: 2em;
}
#menu.active{
	right: 0;
}
#menu .inner{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    padding-left: 13.3%;
    padding-top: 12.2%;
    padding-right: 7.2%;
    padding-bottom: 22.3%;
}
#menu .btn_close{
    width: 100%;
    display: flex;
    flex-direction: row-reverse;
}
#menu .btn_close .btn{
    width: 17.2%;
    padding-right: 6.8%;
    padding-left: 6.8%;
}
#menu ul{
    width: 100%;
}
#menu ul li{
    width: 100%;
    margin-top: 20%;
}
#menu .line_btn{
    margin-top: 20%;
    width: 90%;
    padding-left: 3%;
}

@media screen and (min-width: 900px) {
	#menu{
        width: 170px;
		top: 140px;
        right: auto;
        left: calc( 50% + ( 540px / 2 ));
		border-bottom-left-radius: 0px;
        border-bottom-right-radius: 1.5em;
        border-top-right-radius: 1.5em;
	}
	#menu .inner{
        padding-left: 0px;
        padding-top: 5.9%;
        padding-right: 9.2%;
        padding-bottom: 23%;
	}
	#menu .btn_close{
		display: none;
	}
	#menu .btn_close .btn{}
	#menu ul{}
	#menu ul li{}
	#menu ul li a{}
	#menu .line_btn{
        width: 76%;
        margin-left: 13%;
	}
}



/* ==========================================================================
   page
   ========================================================================== */
#pc_bg{
    background: url(../images/pc_bg.png) center center no-repeat;
    background-size: cover;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
#hero{
    background: url(../images/hero_bg.png) center center no-repeat;
    background-size: cover;
    padding-bottom: 7.5%;
}
#hero .banner_line{
    width: 28.1%;
    display: block;
    position: absolute;
    top: 2%;
    right: 1%;
}
#hero .ttl{
    padding-top: 65.5%;
    width: 90.5%;
    margin: 0 auto;
    padding-bottom: 5.7%;
}
#hero .bnt_line{
    width: 79.8%;
    display: block;
    margin: 0 auto;
}
#about{
    padding-bottom: 15%;
}
#about .ttl{
    width: 53.7%;
    margin: 0 auto;
    padding-top: 8.1%;
    padding-bottom: 5.7%;
}
#about .ttl_youtube{
    margin: 0 auto;
    width: 96.2%;
    padding-bottom: 4.3%;
}
#about .video{
    margin: 0 auto;
    width: 88.1%;
}
#about .movie-box{
    position: relative;
    display: block;
    height: 0px;
    width: 100%;
    padding-top: 56.4%;
    margin: 0 auto;
    margin-bottom: 3%;
}
#about .movie-box .movie{
    position: absolute;
    top: 0px;
    width: 100%;
    height: 100%;
}
#about .movie-box .movie iframe{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#about .text{
    width: 90%;
    margin: 0 auto;
    padding-top: 3%;
    padding-bottom: 0%;
}
#about .photo_list{
    width: 94.4%;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#about .photo_list li{
    margin-top: 5%;
    width: 47.9%;
}
#about .bnt_line{
    width: 79.8%;
    display: block;
    margin: 0 auto;
    margin-top: 7%;
}
#recruit{
	background: url(../images/recruit_bg.png) center center no-repeat;
	background-size: cover;
    padding-top: 12.6%;
    padding-bottom: 12%;
}
#recruit .ttl{
    width: 62.6%;
    margin: 0 auto;
}
#recruit .photo{
    padding-top: 7%;
    padding-bottom: 7%;
    width: 90.3%;
    margin: 0 auto;
}
#recruit .details{}
#recruit .details .subttl{
    width: 88.9%;
    margin: 0 auto;
    padding-bottom: 6.2%;
}
#recruit .details .text{
	color: #fff;
    margin: 0 auto;
    width: 90%;
}
#recruit .details .detail_item{
    margin: 0 auto;
    width: 90%;
    padding-top: 7%;
}
#recruit .details .detail_item h4{
    color: #000;
    background: #fff;
    display: inline-block;
    font-weight: bold;
    padding: 0.6em 1.2em;
    padding-top: 0.7em;
    border-radius: 5em;
}
#recruit .details .detail_item ul{
    padding-top: 3.3%;
}
#recruit .details .detail_item ul li{
    color: #fff;
    line-height: 2.3em;
}
#recruit .bnt_line{
    margin: 0 auto;
    width: 79.8%;
    display: block;
    margin-top: 8%;
}
#faq{
    padding-top: 12.6%;
    padding-bottom: 10%;
}
#faq .ttl{
    width: 39.6%;
    margin: 0 auto;
    padding-bottom: 5%;
}
#faq dl{
    width: 86.6%;
    margin: 0 auto;
}
#faq dl dt{
    font-weight: 500;
    margin: 0px;
    padding: 0% 2.5%;
    margin-top: 8%;
    padding-right: 0px;
}
#faq dl dt span{
    display: block;
    line-height: 1.4em;
    position: relative;
    color: #000;
    font-weight: bold;
    letter-spacing: 0.06em;
    padding-left: 8%;
}
#faq dl dt span::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%, -50%);
    height: 0px;
    background: url(../images/q.png) center center no-repeat;
    background-size: contain;
    width: 9.2%;
    max-width: 60px;
    padding-top: 60px;
}
#faq dl dd{
    margin: 0px;
    border-bottom: 1px solid #e6e6e6;
    padding: 5% 2.5%;
    padding-bottom: 8%;
    padding-right: 0px;
}
#faq dl dd:nth-last-of-type(1){
	border-bottom: none;
}
#faq dl dd span{
    border-radius: 0.7em;
    background: #f6f6f6;
    display: block;
    position: relative;
    color: #000;
    letter-spacing: 0.06em;
    padding: 4.6%;
    padding-left: 8%;
    padding-right: 5%;
}
#faq dl dd span::after{
    content: "";
    display: block;
    position: absolute;
    left: 0%;
    transform: translate(-50%, -50%);
    height: 0px;
    background: url(../images/a.png) center center no-repeat;
    background-size: contain;
    width: 9.2%;
    max-width: 60px;
    padding-top: 60px;
    top: 2.2em;
}
#contact{
    background: url(../images/contact_bg.png) center center no-repeat;
    background-size: cover;
    padding-top: 10%;
    padding-bottom: 10.7%;
}
#contact .ttl{
    margin: 0 auto;
    width: 84.1%;
    padding-bottom: 8.4%;
}
#contact .text{
    color: #fff;
    text-align: center;
    padding-bottom: 3.6%;
}
#contact .bnt_line{
    display: block;
    margin: 0 auto;
    width: 79.8%;
}

@media screen and (min-width: 751px) {
	#pc_bg{}
	#hero{}
	#hero .ttl{}
	#hero .bnt_line{}
	#about{}
	#about .ttl{}
	#about .ttl_youtube{}
	#about .video{}
	#about .text{}
	#about .photo_list{}
	#about .photo_list li{}
	#about .bnt_line{}
	#recruit{}
	#recruit .ttl{}
	#recruit .photo{}
	#recruit .details{}
	#recruit .details .subttl{}
	#recruit .details .text{}
	#recruit .details .detail_item{}
	#recruit .details .detail_item h4{}
	#recruit .details .detail_item ul{}
	#recruit .details .detail_item ul li{}
	#recruit .bnt_line{}
	#faq{}
	#faq .ttl{}
	#faq dl{}
	#faq dl dd{}
    #faq dl dd span{}
    #faq dl dt{}
    #faq dl dt span{}
    #faq dl dt span::after{}
    #faq dl dd span::after{}
	#contact{}
	#contact .ttl{}
	#contact .text{}
	#contact .bnt_line{}
}



/* ==========================================================================
   footer
   ========================================================================== */
footer{
    background: #000;
}
footer .copy{
    color: #fff;
    text-align: center;
    padding: 0.6em 0em;
}