@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700&Gothic+A1:wght@500;800&family=Noto+Sans+JP:wght@400;500;700&family=Prompt:wght@500;600&display=swap');

/*
font-family: 'EB Garamond', serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Prompt', sans-serif;
*/

/*################ リセットcss #################*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
 
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    /*font-size:100%;*/
    vertical-align:baseline;
    background:transparent;
}
 
body {
    line-height:1.5;
    letter-spacing: 1.5px;
	position: relative;
	width:100%;
    overflow-x: hidden;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
 
ol, ul {
    list-style:none;
}
 
blockquote, q {
    quotes:none;
}
 
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
 
a {
    color: #000000;
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

 
/* change colours to suit your needs */

del {
    text-decoration: line-through;
}
 
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
 
table {
    border-collapse:collapse;
    border-spacing:0;
}


img {
	display: block;
	width:100%;
	vertical-align:bottom;
	image-rendering: -webkit-optimize-contrast;
}

img[src$=".svg"] {
    width: 100%;
}

*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  font-family:'Noto Sans JP','Gothic A1','Prompt',"ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


html {
	width:100%;
	font-size: 62.5%;
    overflow-x: hidden;
	background-color: #ffffff;
}

body, form {
	font-family:'Noto Sans JP','Gothic A1','Prompt',"ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
	-webkit-text-size-adjust: 100%;
	color:#000000;
}

html.bg-fixed, html.bg-fixed body {
    overflow: hidden;
}

a {
	-webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

main {
	position: relative;
    padding-top: 71px;/*ヘッダーの高さ分*/
}


main:before {
	position: absolute;
    content: "";
    display: block;
    top: 71px;/*ヘッダーの高さ分*/
    right: 1035px;
    width: calc(100% - 160px);
    height: 1750px;
    background-color: #0099ff;
    z-index: -5;
    transform: skewX(-45deg);
}


#number main:before,
#recruit main:before,
#faq main:before {
    left: -400px;
    right: auto;
    width: calc(54% - 160px);
    height: 600px;
}

#recruit main:before {
    background-color: #F1F1F1;
}

#faq main:before,
#number main:before {
    background-color: #ffffff;
    z-index: 0;
}











.inner {
    max-width: 1050px;
    width: 90%;
    margin: 0 auto;
}


.fl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: flex-start;
    align-items: center;
}


.f_prompt {
    font-family:'Prompt','Noto Sans JP', sans-serif;
    font-weight: 500;
}

.f_garamond {
    font-family:'EB Garamond', serif;
    font-weight: 700;
}



/* header */
header {
    position: absolute;
    width: 100%;
	z-index: 999;
}

header .inner {
    width:100%;
    margin:0;
    max-width: 100%;
}

header .logo {
	margin-left: 2.5%;
	width: 380px;
}

header .logo img {
	width: 180px;
}

header .logo p {
	width: 180px;
    font-size: 12px;
}



header #global-menu {
    max-width: 780px;
    width: calc(90% - 380px);
}

header #global-menu .menu_wrap {
    width: calc(100% - 180px);
}

header #global-menu .menu_wrap ul li {
    padding:23px 0px 7px;
}

header #global-menu .menu_wrap ul li a {
	position: relative;
    display: inline-block;
    padding: 10px 0px;
	font-weight: 500;
	cursor: pointer;
}

header #global-menu .menu_wrap ul li a:after {
	position: absolute;
    content: '';
    left: 0;
    bottom:3px;
    width: 100%;
    height: 2px;
    background: #0099FF;
    transform: scale(0, 1);
    transform-origin: right top;
    transition:transform 0.3s;
}

header #global-menu .menu_wrap ul li a:hover::after {
	transform: scale(1, 1);
    transform-origin: left top;
}

header #global-menu .menu_wrap ul li .sub_menu {
    position: absolute;
    top: 71px;
    right: 0;
    width: 100%;
	height: 0px;
    padding: 30px 0px;
    background-color:#ffffff;
    visibility: hidden;
    opacity: 0;
	-webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
    z-index: 5;
}

header #global-menu .menu_wrap ul li:hover .sub_menu {
    visibility: visible;
    opacity: 1;
    height: 230px;
}

header #global-menu .menu_wrap ul li .sub_menu .inner {
	max-width: 950px;
    width: 85%;
    margin: 0 auto;
}

header #global-menu .menu_wrap ul li .sub_menu .fl {
	justify-content: space-around;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box {
    width: 30%;
}

header #global-menu .menu_wrap ul li:hover .sub_menu .link_zoom_box {
	animation: menufadein 1s both;
	-webkit-animation: menufadein 1s both;
}

@keyframes menufadein {
0% {
	opacity: 0;
	margin-top: 50px;
}
	
50% {
	opacity: 0;
	margin-top: 50px;
}
	
100% {
    opacity: 1;
	margin-top: 0px;
}
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box:nth-of-type(2) {
	animation-delay: 0.1s;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box:nth-of-type(3) {
	animation-delay: 0.2s;
}



header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a {
    display: block;
    padding: 0px;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a:after {
	content: none;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name {
	display: inline-block;
    margin-top: 5px;
}

header #global-menu .menu_wrap ul .menu1 .sub_menu .link_zoom_box:nth-of-type(3) a .sub_menu_name {
    position: relative;
	padding-right: 25px;
}

header #global-menu .menu_wrap ul .menu1 .sub_menu .link_zoom_box:nth-of-type(3) a .sub_menu_name:after {
    position: absolute;
    content: "";
    background-image: url(../img/common/icon_tb_blue.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    width: 17px;
    height: 15px;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 2;
}


header #global-menu .entry_btn {
	position: absolute;
    top: 0;
    right: 0;
    overflow: hidden;
    width: 160px;
}

header #global-menu .entry_btn a,
header #global-menu .entry_btn .clip {
	position: relative;
    max-width: 160px;
    width: 100%;
    height: 71px;
}

header #global-menu .entry_btn a {
	display: block;
    text-align: right;
    color: #ffffff;
    background-color: #0099ff;
    font-size: 16px;
    clip-path: polygon(0% 100%, 45% 0%, 100% 0%, 100% 100%);
}

header #global-menu .entry_btn a span {
    position: absolute;
    color: #ffffff;
    padding-right: 20px;
    top: 60%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 2;
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

header #global-menu .entry_btn a span:after {
	position: absolute;
	content:" ";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    top: 45%;
    right: 3px;
    transform: translateY(-50%) translateX(-50%) rotate(45deg);
    -webkit-transform: translateY(-50%) translateX(-50%) rotate(45deg);
}

header #global-menu .entry_btn a:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

header #global-menu .entry_btn a:hover:after {
    transform: scale(1, 1);
}

header #global-menu .sp_gm_heaad,
header #global-menu .gm_entry_btn {
	display: none;
}



/* トグル下準備 */
header #global-menu .toggle {
    display: none;
    position: absolute;
    width: 25px;
    height: 30px;
    z-index: 99;
}
 
header #global-menu .toggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 2px #000000;
	-webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
    right: 0px;
}
 
header #global-menu .toggle span:nth-child(1) {
    top: 13px;
}
 
header #global-menu .toggle span:nth-child(2) {
    width: 20px;
    bottom: 13px;
}



/* 黒背景下準備 */
header .menu_bg {
    position: fixed;
    left: -100%;
    top: 0;
    width: 100%;
    height: 100vh;
    z-index: 0;
    background-color: #000000;
    opacity: 0;
    visibility: hidden;
}





/* ヘッダー固定時 */
.h_fixed {
    position: fixed;
	background-color: #ffffff;
}





/*ホバーで画像拡大+オーバーレイ解除*/

.link_zoom_box .zoom_wrap {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding-top: 50%;
    width: 100%;
    -webkit-transition: all .5s;
    -ms-transition: all .5s;
    transition: all .5s;
	overflow: hidden;
}

.link_zoom_box .link_wrap {
    position: relative;
    overflow: hidden;
}

.link_zoom_box a:hover .zoom_wrap {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}



header #global-menu .menu_wrap ul li .link_zoom_box .menu_img1 {
	background-image: url("../img/common/menu_img1.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img2 {
	background-image: url("../img/common/menu_img2.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img3 {
	background-image: url("../img/common/menu_img3.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img4 {
	background-image: url("../img/common/menu_img4.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img5 {
	background-image: url("../img/common/menu_img5.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img6 {
	background-image: url("../img/common/menu_img6.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img7 {
	background-image: url("../img/common/menu_img7.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img8 {
	background-image: url("../img/common/menu_img8.jpg");
}

header #global-menu .menu_wrap ul li .link_zoom_box .menu_img9 {
	background-image: url("../img/common/menu_img9.jpg");
}





.btn_wrap,
.btn_wrap .clip {
	position: relative;
    max-width: 400px;
    width: 100%;
    height: 65px;
}

.btn_wrap {
    display: block;
    margin-top: 30px;
	background-color:#0099ff;
	clip-path:polygon(0% 100%, 0% 0%, 100% 0%, 84% 100%);
}

.btn_wrap .clip {
	background-color: #ffffff;
	clip-path:polygon(2px calc(100% - 2px),2px 2px,calc(100% - 5px) 2px,calc(84% - 1px) calc(100% - 2px));
}

.btn_wrap span {
	position: absolute;
    color: #000000;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 2;
	-webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

.btn_wrap:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 60%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 2;
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

.btn_wrap:after {
	position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #0099FF;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.btn_wrap:hover:after {
    transform: scale(1, 1);
}

.btn_wrap:hover:before,
.btn_wrap:hover span {
    color: #ffffff;
}




/*viewmore*/

.btn_wrap .more {
	position: absolute;
    width: 90px;
    height: 20px;
    overflow: hidden;
    left: 60%;
}

.btn_wrap .more:before,
.btn_wrap .more:after {
	position: absolute;
	display: block;
    content: "View more";
    font-family: 'Prompt','Noto Sans JP', sans-serif;
    font-weight: 600;
    width: 100%;
    height: 20px;
    color: #0099FF;
    z-index: 2;
}

.btn_wrap .more:after {
	opacity: 0;
    transform: translate(0%, -100%);
    -webkit-transform: translate(0%, -100%);
    -ms-transform: translate(0%, -100%);
}

.btn_wrap:hover .more:before {
    color: #ffffff;
	animation: morebefore 1s infinite;
}

.btn_wrap:hover .more:after {
    color: #ffffff;
	animation: moreafter 1s infinite;
}

@keyframes morebefore {
  100% {
	transform: translate(0%, 100%);
    -webkit-transform: translate(0%, 100%);
    -ms-transform: translate(0%, 100%);
    opacity: 0;
  }
}

@keyframes moreafter {
  99% {
    transform:translate(0%, 0%);
    -webkit-transform:translate(0%, 0%);
    -ms-transform:translate(0%, 0%);
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}




/*別窓表示ボタンの場合*/
.btn_wrap.tb:before {
    content: "";
	background-image: url("../img/common/icon_tb_blue.svg");
	background-repeat: no-repeat;
    background-position: center;
    background-size: auto;
    width: 20px;
	height: 15px;
}

.btn_wrap.tb:hover:before {
	background-image: url("../img/common/icon_tb_white.svg");
}


/*ボタンがおいてあるコンテンツ背景があり、枠線(.clip)がいらない場合*/
.btn_wrap.btn_type1 {
    background-color: #ffffff;
}


/*ボタンがおいてあるコンテンツ背景があり、枠線(.clip)がいらない、ホバー時に黒になる場合*/
.btn_wrap.btn_type2 {
    background-color: #ffffff;
}

.btn_wrap.btn_type2:after {
    background-color: #000000;
}

.btn_wrap.btn_type2:hover span {
	color:#ffffff;
}


/*ボタンがおいてあるコンテンツ背景があり、枠線(.clip)がいらない、ホバー時に白になる大きい黒いボタンの場合*/
.btn_wrap.btn_type3 {
    max-width: 480px;
    height: 130px;
	background-color:#000000;
    clip-path:polygon(0% 100%, 0% 0%, 86% 0%, 100% 50%, 86% 100%);
}

.btn_wrap.btn_type3 span,
.btn_wrap.btn_type3 .more:before {
	color:#ffffff;
}

.btn_wrap.btn_type3:after {
    background-color: #ffffff;
}

.btn_wrap.btn_type3:hover span,
.btn_wrap.btn_type3:hover .more:before,
.btn_wrap.btn_type3:hover .more:after {
	color:#000000;
}


/*ボタンがおいてあるコンテンツ背景が白系、枠線(.clip)がいらない、ホバー時に黒になる場合*/
.btn_wrap.btn_type4 {
    background-color: #0099ff;
	color: #ffffff;
}

.btn_wrap.btn_type4 span,
.btn_wrap.btn_type4 .more:before,
.btn_wrap.btn_type4 .more:after {
	color: #ffffff;
}

.btn_wrap.btn_type4:after {
    background-color: #000000;
}






/*sub_mainview1*/

.sub_mainview1 {
	position: relative;
	padding: 100px 0px;
}

.sub_mainview1 .inner { 
	max-width: 1150px;
}

.sub_mainview1 .page_info_box {
	width: 38%;
	color: #ffffff;
}

.sub_mainview1 .page_info_box .category {
	font-size: 18px;
}

.sub_mainview1 .page_info_box .category span {
	display: inline-block;
	margin-left: 20px;
	font-size: 16px;
}

.sub_mainview1 .page_info_box .main_title {
	font-size: 42px;
	margin: 50px 0px 100px;
}

.sub_mainview1 .page_info_box .lead_text {
	font-size: 15px;
	line-height: 2;
}

.sub_mainview1 .bg_img {
	position: absolute;
    top: 100px;
    right: 0px;
    width: 56%;
    height: 480px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 10px 0px 0px 10px;
	z-index: -3;
}


.sub_mainview1 .bottom-fadein.active {
	animation-delay: 1.25s;
}






/*黒い帯*/

.black_label {
}

.black_label p {
	display: inline-block;
    width: 100%;
}

.black_label p span {
    font-size: 2vw;
    white-space: nowrap;
    font-weight: 500;
    color: #ffffff;
    background-color: #000000;
    padding: 3px 8px 5px 13%;
}


/*見出し*/

.caption {
	margin-bottom: 30px;
}

.caption h2 {
	font-size: 57px;
}

.caption h2 span {
	display: inline-block;
	font-family: 'Noto Sans JP','Gothic A1','Prompt',"ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 500;
	font-size: 16px;
	margin-left: 30px;
	color: #0099FF;
}




/*一部ページの背景三角*/


#about main:after,
#story main:after,
#environment main:after {
    position: absolute;
    content: "";
    display: block;
    bottom: 0;
    right: -1120px;
    width: 100%;
    height: 2000px;
    background-color: #0099ff;
    z-index: -5;
    transform: skewX(-45deg);
}



/* フッター */

footer .f_menu {
	background-color: #EDEDED;
	padding: 80px 0px;
}

footer .f_menu .inner {
	max-width:85%;
}

footer .f_menu .f_menu_list {
    align-items: flex-start;
}

footer .f_menu .f_menu_list .block {
	width: 19%;
}

footer .f_menu .f_menu_list .block p {
	font-size: 20px;
	font-weight: 700;
}

footer .f_menu .f_menu_list .block p span {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color:#0099FF;
}

footer .f_menu .f_menu_list .block ul {
	margin-top: 20px;
}

footer .f_menu .f_menu_list .block ul li:not(:first-child) {
	margin-top: 10px;
}


footer a {
	position: relative;
	display: inline-block;
	font-size: 12px;
    padding-left: 25px;
}

footer a .line {
	position: absolute;
    display: block;
    width: 20px;
    height: 1px;
    top: 9px;
    left: 0;
}

footer a .line:before,
footer a .line:after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform 0.3s;
    background-color: #000000;
}

footer a .line:after {
    width: 0%;
    transform: scale(0, 1);
    transform-origin: left top;
}

footer a:hover .line:before {
	animation: line-before 1s infinite;
}

footer a:hover .line:after {
	animation: line-after 1s infinite;
}

@keyframes line-before {
  50% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(0, 1);
  }
}

@keyframes line-after {
  50% {
    width: 0%;
    transform: scale(0, 1);
  }
  100% {
	width: 100%;
    transform: scale(1, 1);
  }
}


footer a:hover {
	opacity: 0.6;
}

footer a:hover:before {
	opacity: 0.6;
}





footer .f_footer {
	padding: 40px 0px;
}

footer .f_footer .inner {
	max-width:90%;
	width:90%;
}

footer .f_footer .logo {
	max-width: 640px;
    width: 75%;
}

footer .f_footer .logo img {
	max-width: 180px;
    width: 30%;
}

footer .f_footer .logo .sub_logo {
	margin-left: auto;
    max-width: 340px;
    width: 55%;
}


footer .f_footer .logo p {
	font-size: 12px;
	margin-left:auto;
}

footer .f_footer .copyright {
	width: 100%;
	margin-top: 40px;
    text-align: center;
    color: #9B9B9B;
    font-size: 10px;
    font-weight: 400;
}





@media screen and (max-width: 1200px) {	

main {
    padding-top: 60px;
}

main:before {
    top: 60px;
}



header {
	padding: 10px 0px;
}

header .inner {
    width: 95%;
    margin: auto;
    max-width: 95%;
}

header .logo {
    margin-left: 0%;
}

header #global-menu {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
}

header #global-menu .toggle {
    display: block;
    right:0;
    top: 0;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

header #global-menu .menu_wrap {
    position: fixed;
    z-index: 99;
    top: 0;
    right: -351px;
    background-color: #0099ff;
    width: 350px;
    height: 100vh;
    padding-top: 60px;
    align-content: center;
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

header #global-menu .menu_wrap .menu_inner {
    padding: 40px 0px;
    height: 100%;
    overflow-y: auto;
}

header #global-menu .menu_wrap ul {
	display: block;
    width: 100%;
}

header #global-menu .menu_wrap ul li {
    padding: 0px 0px;
}

header #global-menu .menu_wrap ul li a {
	display: block;
    width: 100%;
    padding: 15px 30px;
    font-size: 15px;
    color: #ffffff;
}

header #global-menu .menu_wrap ul li a:after {
	content: none;
}

header #global-menu .menu_wrap ul li > a:hover {
	background-color: #007ACC;
}


header #global-menu .menu_wrap ul li .no_index {
	position: relative;
}	

header #global-menu .menu_wrap ul li a:hover::after {
    transform: scale(1, 1) translateY(-50%);
    -webkit-transform: scale(1, 1) translateY(-50%);
    transform-origin: center;
}

header #global-menu .menu_wrap ul li .no_index:before,
header #global-menu .menu_wrap ul li .no_index:after {
    position: absolute;
    content: "";
    top: 50%;
    bottom: auto;
    left: auto;
    right: 30px;
    width: 20px;
    height: 2px;
    background-color: #ffffff;
    transform: scale(1, 1) translateY(-50%);
    -webkit-transform: scale(1, 1) translateY(-50%);
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
    transform-origin: center;
} 

header #global-menu .menu_wrap ul li .no_index:before {
    transform: scale(1, 1) rotate(-90deg);
    -webkit-transform: scale(1, 1) rotate(-90deg);
}

header #global-menu .menu_wrap ul li .no_index.selected:before {  
    transform: scale(1, 1) rotate(0deg);
    -webkit-transform: scale(1, 1) rotate(0deg);
}

header #global-menu .menu_wrap ul li .no_index.selected:after {
    transform: scale(1, 1) rotate(90deg);
    -webkit-transform: scale(1, 1) rotate(90deg);
	opacity: 0;
}





header #global-menu .menu_wrap ul li .sub_menu {
	display: none;
    position:relative;
    top: 0;
    height: auto;
    padding: 0px 0px;
    background-color: #ffffff;
    visibility: visible;
    opacity: 1;
	-webkit-transition: none;
    -ms-transition: none;
    transition: none;
}

header #global-menu .menu_wrap ul li .sub_menu .inner {
    max-width: 100%;
    width: 100%;
}

header #global-menu .menu_wrap ul li:hover .sub_menu {
    height: auto;
}

header #global-menu .menu_wrap ul li:hover .sub_menu .link_zoom_box {
    animation: none;
}


header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box {
    width: 100%;
    border-bottom: solid 1px #cccccc;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box:last-of-type {
    border-bottom:none;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .link_wrap {
    display: none;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name {
	position: relative;
	display: block;
    margin-top: 0px;
    color: #000000;
    padding: 15px 30px;
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name:after {
	content:"";
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 1px #000000;
    border-right: solid 1px #000000;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 35px;
    margin-top: -5px;
    -webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}


header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name:hover {
    opacity: 0.5;
}

header #global-menu .menu_wrap ul .menu1 .sub_menu .link_zoom_box:nth-of-type(3) a .sub_menu_name:after {
	border-top: none;
    border-right: none;
    width: 20px;
    right: 30px;
    margin-top: 0px;
}



header #global-menu .entry_btn {
    display: none;
}
	

header #global-menu .gm_entry_btn {
    display: block;
    width: 90%;
    margin: 20px auto 0px;
}

header #global-menu .gm_entry_btn a {
	display: block;
    max-width: 100%;
	width: 100%;
    margin-top: 0;
}

header #global-menu .gm_entry_btn a span {
    left: 0;
    right: 0;
    margin: auto;
    width: 70px;
}

header #global-menu .gm_entry_btn a span:after {
    position: absolute;
    content: " ";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
    top: 40%;
    right: 10px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
}

header #global-menu .gm_entry_btn a:hover span:after {
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
}





	
/*メニューオープン時*/
header #global-menu .menu_wrap.active {
    right: 0;
}

header #global-menu .toggle.active span:nth-child(1) {
    top: 19px;
    right: 5px;
    border-bottom: solid 2px #ffffff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

header #global-menu .toggle.active span:nth-child(2) {
    width: 30px;
    bottom: 19px;
    right: 5px;
    border-bottom: solid 2px #ffffff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

header .menu_bg.active {
    opacity: .6;
	left: 0%;
    visibility: visible;
	-webkit-transition: all .3s;
    -ms-transition: all .3s;
    transition: all .3s;
}








}


@media screen and (max-width: 1024px) {	

main:before {
    top: 60px;
    right: auto;
    left: -1140px;
    width: 130%;
}


#number main:before,
#recruit main:before,
#faq main:before {
    width: 47%;
}



footer .f_menu .inner {
    max-width: 90%;
}

footer .f_menu .f_menu_list .block p {
    font-size: 16px;
}

footer a {
    font-size: 11px;
	letter-spacing: 1px;
}




}



@media screen and (max-width: 768px) {



main:before {
    left: -550px;
    height: 990px;
}



#number main:before,
#recruit main:before,
#faq main:before {
    width: 70%;
}


#about main:after,
#story main:after,
#environment main:after {
    right: -980px;
    height: 1800px;
}





.sub_mainview1 .page_info_box .main_title {
    font-size: 35px;
    margin: 50px 0px 50px;
}


.sub_mainview1 .page_info_box .lead_text br {
	display: none;
}



.btn_wrap, .btn_wrap .clip,
.btn_wrap.btn_type3 {
    max-width:100%;
    width: 100%;
}

.btn_wrap {
    clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 90.5% 100%);
}

.btn_wrap .clip {
    clip-path: polygon(2px calc(100% - 2px),2px 2px,calc(100% - 6px) 2px,calc(90.5% - 1px) calc(100% - 2px));
}

.btn_wrap.btn_type3 {
    clip-path: polygon(0% 100%, 0% 0%, 90.5% 0%, 100% 50%, 90.5% 100%);
}


.black_label p span {
    padding: 3px 8px 5px 5%;
}





footer .f_menu {
    padding: 80px 0px 30px;
}

footer .f_menu .f_menu_list {
	position: relative;
}

footer .f_menu .f_menu_list:after {
    display: block;
    content: "";
    width: 30%;
}

footer .f_menu .f_menu_list .block {
    width: 30%;
    margin-bottom: 50px;
}


footer .f_footer .logo {
    width: 65%;
}

footer .f_footer .logo img {
    width: 30%;
}

footer .f_footer .logo .sub_logo {
    width: 45%;
}



}



@media screen and (max-width:560px) {

body, form {
    font-size: 13px;
}

main {
    padding-top: 75px;
}

main:before {
    top: 75px;
    width: 200%;
}

#number main:before,
#recruit main:before,
#faq main:before {
    width: 115%;
    left: -400px;
    height: 550px;
}
	
	

#people main:before,
#person main:before,
#story main:before,
#create main:before {
    display: none;
}





header {
    height: 75px;
}

header .logo {
    max-width: 200px;
    width: 50%;
}

header .logo img {
    width: 165px;
}

header .logo p {
    width: 100%;
	margin-top: 5px;
    font-size: 10px;
	white-space: nowrap;
    letter-spacing: 0.5px;
}

header .logo p br {
	display: none;
}


header #global-menu .sp_gm_heaad {
	display: block;
    position: absolute;
    width: 100%;
    height: 75px;
    padding: 10px 2.5%;
    background-color: #ffffff;
    top: 0;
}

header #global-menu .sp_gm_heaad .logo {
	display: block;
}



header #global-menu .menu_wrap {
    right: -101%;
    width: 100%;
    padding-top: 75px;
}

header #global-menu .menu_wrap .menu_inner {
    padding: 0px 0px 80px;
}

header #global-menu .menu_wrap ul li a {
    padding: 15px 5%;
    font-size: 13px;
}

header #global-menu .menu_wrap ul li .no_index:before,
header #global-menu .menu_wrap ul li .no_index:after {
    right: 6.5%;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name {
    padding: 15px 5%;
}

header #global-menu .menu_wrap ul li .sub_menu .link_zoom_box a .sub_menu_name:after {
    width: 7px;
    height: 7px;
    right:  8.15%;
}

header #global-menu .menu_wrap ul .menu1 .sub_menu .link_zoom_box:nth-of-type(3) a .sub_menu_name:after {
    right: 7%;
}



header #global-menu .toggle.active span:nth-child(1),
header #global-menu .toggle.active span:nth-child(2) {
    border-bottom: solid 2px #000000;
}




.sub_mainview1 {
    padding: 50px 0px;
}

.sub_mainview1 .page_info_box {
    width: 100%;
}

.sub_mainview1 .page_info_box .category {
    font-size: 15px;
}

.sub_mainview1 .page_info_box .category span {
    display: block;
    margin: 5px 0px 0px 0px;
    font-size: 13px;
}

.sub_mainview1 .page_info_box .main_title {
    font-size: 6vw;
    margin: 50px 0px 30px;
}

.sub_mainview1 .page_info_box .lead_text {
    font-size: 14px; 
	margin: 20px 0px 30px;
    line-height: 1.7;
}


.sub_mainview1 .bg_img {
    top: 0px;
    width: 100%;
    height: calc(100vh - 75px);
    border-radius: 0px 0px 0px 0px;
}

.sub_mainview1 .bg_img:after {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.4;
    z-index: -1;
}



.btn_wrap {
    height: 55px;
}

.btn_wrap .clip {
    clip-path: polygon(2px calc(100% - 2px),2px 2px,calc(100% - 4px) 2px,calc(90.5% - 1px) calc(100% - 2px));
    height: 55px;
}

.btn_wrap.btn_type3 {
    height: 90px;
}



.btn_wrap span {
    left: 15px;
    font-size: 12px;
    letter-spacing: 1px;
}

.btn_wrap .more {
    width: 75px;
    left: 65%;
}

.btn_wrap:before {
    left: 72.5%;
}




.caption h2 {
    font-size: 38px;
	line-height: 1.2;
}

.caption h2 span {
    display: block;
    margin: 10px 0px 0px 0px;
    font-size: 14px;
}










footer .f_menu {
    display: none;
}


footer a .line {
    width: 15px;
    top: 8px;
}


footer .f_footer .logo {
    display: block;
	width: 100%;
    text-align: center;
}

footer .f_footer .logo img {
    max-width: 180px;
	width: 45%;
	margin: auto;
}

footer .f_footer .logo .sub_logo {
    width: 65%;
    margin: 10px auto;
}

footer .f_footer a {
	display: block;
	margin: 30px auto 0px;
    padding-left: 20px;
}





}


