@charset "utf-8";
@import url(https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@400;500&display=swap);



/*** 基本指定 ***/
html,body {height:100%;}
.wrap {width:1510px; max-width:92%; margin:0 auto;}
* {letter-spacing:.05em;}
body,select,textarea,input {font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-size:14px; font-weight:500; line-height:1.7em; letter-spacing:0.05em; color: #111111;}
@media (max-width:767px) {.flex {flex-wrap: wrap;}}



/*** header ***/
header {background: #ffffff; position: fixed; width: 100%; left: 0; top: 0; z-index: 1000; display: flex;}
header h1 {}
header .head_menu {margin-left: auto;}
header .head_menu_inner {display: flex; height: 100%;}
.modalWrapper {height: 100%;}

@media (max-width:768px) {
	header h1 {display: flex;}
	header h1 > a {width: 50%;}
	header h1 > span {width: 50%; background:#01b1a4;}
}


/*** header：メニュー ***/
header .head_menu nav ul {display:flex; margin-right: 2em; height: 100%;}
header .head_menu nav ul li {height: 100%;}
header .head_menu nav ul a {display: block; padding: 1.3em 2.5em 0; text-align: center; font-weight: bold; position: relative; height: 100%;}
header .head_menu nav ul a b {display: block; color: #01b1a4; font-size: 18px; font-style: italic;}
header .head_menu nav ul a span {display: block; color: #000000; font-size: 10px;}
header .head_menu nav ul a:hover {background: #EFEFEF;}
.sp_menu,
header .closeModal {display: none;}

@media (max-width:1280px) {
	header .head_menu nav ul {margin-right: 1em;}
	header .head_menu nav ul a {padding: 1.3em 1.5em 0;}
}
@media (max-width:1140px) {
	header .head_menu nav ul {margin-right:.5em;}
	header .head_menu nav ul a {padding: 1.3em 1em 0;}
	header .head_menu nav ul a b {font-size: 16px;}
}
@media (max-width:1023px) {
	header .sp_menu {display: block;}
	#modalArea {display: none;}
	header #openModal {text-align: center; cursor: pointer; display: block; padding:1.8em 20px 0; background: #01b1a4; z-index: 100; height: 100%;}
	header #openModal img {vertical-align: text-bottom;}
	.modalArea {display: none; position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; height: 100%;}
	.modalBg {width: 100%; height: 100%; background-color: rgba(1,33,90,0.9);}
	.modalWrapper {position: absolute; top: 50%; left: 50%; transform:translate(-50%,-50%); width:84%;}
	header .closeModal {position: absolute; top: .5em; right: .5em; cursor: pointer; color: #fff; font-size: 2em; display: block;}
	header nav li + li a::after {display: none;}
	header nav ul {flex-wrap: wrap; border: none; background: none; border-top: 1px solid #5e769c;}
	.modalWrapper li {display: block; width: 100%; border-right: 0; border-bottom: 1px solid #5e769c;}
	header .head_menu nav ul {margin-right:0;}
	header .head_menu nav ul a {display: block; padding:1.3em 0 .9em; text-align: center; letter-spacing: .15em; transition: .5s; font-weight: 500;}
	header .head_menu nav ul a b {font-size:20px;}
	header .head_menu nav ul a span {color: #fff; font-size: 13px;}
	header .head_menu nav ul a:hover {background: rgba(1,33,90,0.9);}
	
	.modalWrapper,
	header .head_menu nav ul,
	header .head_menu nav ul li {height: auto;}
}
@media (max-width:767px) {
	header #openModal {padding:.5em 10px 0; width: 3em;}
}
@media (max-width:320px) {
	header #openModal {padding:.3em 10px .5em;}
}







/*** header：メニュー：アクティブ ***/
.head_menu nav li a::before {height: 4px; width:60%; position: absolute; top: 0; right: 0; left: 0; margin: auto; background:#01b1a4; transition:.5s; content:""; opacity: 0;}
.fp-viewing-001 .head_menu nav li:nth-child(1) a::before {opacity: 1;}
.fp-viewing-002 .head_menu nav li:nth-child(2) a::before {opacity: 1;}
.fp-viewing-003 .head_menu nav li:nth-child(3) a::before {opacity: 1;}
.fp-viewing-004 .head_menu nav li:nth-child(4) a::before {opacity: 1;}








/*** header：言語メニュー ***/
header .lang_menu {display: flex; height: 100%;}
header .lang_menu li {height: 100%;}
header .lang_menu a {display: block; color: #FFFFFF; background: #808080; height: 100%; padding: 1.5em 0 0 0; font-size: 18px; font-weight: bold; font-style: italic; min-width: 77px; text-align: center;}
header .lang_menu a:hover {background:#777777;}
header .lang_menu a.now,
header .lang_menu a.now:hover {background:#015998; pointer-events: none; cursor: auto;}

@media (max-width:1140px) {
	header .lang_menu a {font-size: 17px; min-width:64px;}
}
@media (max-width:767px) {
	header .lang_menu a {padding:.75em 0 0 0; font-size: 12px; min-width:3.5em;}
}
@media (max-width:320px) {
	header .lang_menu a {padding:.6em 0 .2em;}
}






/*** 各コンテンツ：背景 ***/
.section01bg {background: url("../images/01_bg.jpg") no-repeat center; background-size: cover;}
.section02bg {background: url("../images/02_bg.jpg") no-repeat center; background-size: cover;}
.section03bg {background: url("../images/03_bg.jpg") no-repeat center; background-size: cover;}
.section04bg {background: url("../images/04_bg.jpg") no-repeat center; background-size: cover;}

@media (max-width:767px) {
	.section01bg {background: url("../images/01_bg_sp.jpg") no-repeat center; background-size: cover;}
	.section02bg {background: url("../images/02_bg_sp.jpg") no-repeat center; background-size: cover;}
	.section03bg {background: url("../images/03_bg_sp.jpg") no-repeat center; background-size: cover;}
	.section04bg {background: url("../images/04_bg_sp.jpg") no-repeat center; background-size: cover;}
}





/*** 各コンテンツ：共通 ***/
.contents {width: 1200px; margin: 0 auto; max-width: 90%;}
.title {text-align: center; padding-bottom: 15px;}
.title * {color: #ffffff; display: block; line-height: 1.2em;}
.title strong {font-family: 'Oswald', sans-serif; font-size: 70px; display: block;}
.title span {font-weight: bold; font-size: 18px;}
.bg_w {background: rgba(255, 255, 255, .85); box-shadow: 0 0 20px rgba(0,0,0,.15);}

@media (max-width:1024px) {
	.title strong {font-size:50px;}
}
@media (max-width:767px) {
	.title strong {font-size:35px;}
	.title span {font-size:16px;}
}





/*** 表紙 ***/
.section01 {position: relative;}
.section01 .main {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; padding-top: 70px;}
.section01 .main figure {padding-bottom:15px;}
.section01 .main h2 {padding: .3em 0; border-top: 1px solid #fff; border-bottom: 1px solid #fff; color: #FFFFFF; font-size: 16px; font-weight: normal; margin-bottom: 50px;}
.section01 .main h2 br {display: none;}

@media (max-width:767px) {
	.section01 .main {width: 60%; padding-top:40px;}
	.section01 .main h2 br {display: inline;}
}





/*** メッセージ ***/
.section02 .contents {padding: 150px 0;}
.message_wrap {padding:60px 55px 60px 95px;}
.message_wrap .flex > figure {width: 38%;}
.message_wrap .flex > .message_text {width:62%; padding-left: 1.5em; font-weight: bold; line-height: 1.46em;}
.message_wrap .flex > .message_text span {display: block; text-align: right; padding-top: 1em;}

@media (max-width:1024px) {
	.message_wrap {padding:50px 55px 50px 55px;}
	.message_wrap .flex > .message_text {padding-left:2em;}
}
@media (max-width:768px) {
	.message_wrap {padding:40px 55px;}
	.message_wrap .flex {flex-wrap: wrap;}
	.message_wrap .flex > figure {margin: 0 auto 1.5em;}
	.message_wrap .flex > .message_text {width:100%; padding-left:0;}
}
@media (max-width:767px) {
	.section02 .contents {padding:80px 0;}
	.message_wrap .flex > figure {width:55%;}
	.message_wrap {padding:30px 25px;}
	.message_wrap .flex > .message_text span {padding-left: 30%;}
}







/*** 理念 ***/
.rinen_wrap {margin-top: 50px; background: url("../images/02_bg_rinen.png") no-repeat; background-size: cover; padding:70px 55px; text-align: center; box-shadow: 0 0 20px rgba(0,0,0,.15);}
.rinen_wrap strong {display: block; font-size: 30px; padding-bottom: .5em; line-height: 1.3em;}
.rinen_wrap p {font-size: 20px; line-height: 2.4em; font-family: "Yu Mincho", "YuMincho";}

@media (max-width:1024px) {
	.rinen_wrap p {font-size:18px; line-height: 2.2em;}
}
@media (max-width:768px) {
	.rinen_wrap {padding:40px 30px;}
	.rinen_wrap strong {padding-bottom: .3em;}
	.rinen_wrap p {font-size:16px; line-height: 1.9em;}
}
@media (max-width:767px) {
	.rinen_wrap {margin-top: 30px; background: url("../images/02_bg_rinen_sp.png") no-repeat right bottom; background-size: cover; padding:30px 15px 80px;}
	.rinen_wrap strong {font-size:24px; padding-bottom: .6em;}
	.rinen_wrap p {font-size:14px; line-height:2em; letter-spacing: 0;}
}






/*** コンセプト ***/
.section03 .contents {padding: 150px 0;}

.concept_wrap {display: flex; margin: 0 -2%;}
.concept_wrap .concept_box {width: 29.33%; margin: 2%; border-radius:.5em; padding: 30px 0 50px;}
.concept_title {padding:20px 10px 15px; text-align: center; color: #FFFFFF; font-weight: bold;}
.concept_title strong {display: block; padding-bottom: .3em;}

.concept_title01 {background: url("../images/03_01bg.gif");}
.concept_title02 {background: url("../images/03_02bg.gif");}
.concept_title03 {background: url("../images/03_03bg.gif");}

.concept_text {padding: 55px 35px 0; font-weight: bold;}
.concept_text > em {display: block; font-size: 26px; line-height:1.7em; font-weight: bold; text-align: center; padding-bottom:1em;}
.concept_text li {border-top: 1px dashed #999795; padding:13px 0; text-align: center; font-size: 16px; letter-spacing: 0;}
.concept_text li:last-child {border-bottom:1px dashed #999795;}
.concept_text li span {color: #00aea2;}

.concept_text .shimei {font-size: 18px; line-height:2.8em; text-align: center; letter-spacing: 0;}

.concept_text .vision li {border: 1px solid #939393; padding:25px 13px; font-size: 24px; line-height: 1.6em;}
.concept_text .vision li p {letter-spacing: 0;}
.concept_text .vision li span {font-size: 36px;}
.concept_text .vision li + li {margin-top: 20px;}
.concept_text .vision li span.tx_black {color: #000000;}


@media (max-width:1024px) {
	.concept_wrap {display: flex; margin: 0 -1.5%;}
	.concept_wrap .concept_box {width: 30.33%; margin:2% 1.5%; border-radius:.5em; padding: 20px 0 30px;}
	.concept_title {padding:20px 15px 15px;}
	.concept_text {padding:30px 25px 0;}
	.concept_text > em {font-size:22px; line-height:1.6em;}
	.concept_text li {padding:7px 0; font-size: 14.5px;}
	.concept_text .shimei {font-size: 16px; line-height:2.4em;}
	.concept_text .vision li {padding:20px 10px; font-size: 20px; line-height: 1.5em;}
	.concept_text .vision li span {font-size:26px;}
}
@media (max-width:768px) {
	.concept_wrap {margin: 0 -1%; flex-wrap: wrap;}
	.concept_wrap .concept_box {width:48%; margin: 2% 1%; padding: 20px 0 30px;}
	.concept_wrap .concept_box_end {margin: 2% auto;}
}
@media (max-width:767px) {
	.section03 .contents {padding: 80px 0;}
	.concept_wrap {margin: 0;}
	.concept_wrap .concept_box {width:90%; margin: 2% auto; padding:15px 0 20px;}
	.concept_title {padding:20px 10% 15px;}
	.concept_text {padding:25px 20px 15px;}
	.concept_text > em {font-size:17px; padding-bottom:.7em;}
	.concept_text li {padding:3px 0; font-size: 13px;}
	.concept_text .shimei {font-size: 15px; line-height:2em;}
	.concept_text .vision li {padding:13px 5px; font-size:18px;}
	.concept_text .vision li span {font-size:24px;}
	.concept_text .vision li + li {margin-top:10px;}
}





/*** ヒストリー ***/
.section04 .contents {padding: 150px 0 200px;}
.section04 .title {padding-bottom:20px;}
.history_wrap {position: relative; min-height: 1000px; padding:0 0 150px; width: 1100px; max-width:100%; margin: 0 auto;}
.history_wrap::before {content:""; width: 7px; height: 100%; top: 0; left: 0; right: 0; margin: auto; background: #FFFFFF; box-shadow:0 0 15px #fff; position: absolute; z-index: -1;}
.history_nen {background: url("../images/04_maru_l.png") no-repeat center; height: 166px; color: #FFFFFF; font-size:50px; padding:73px 0 0 0; display: block; text-align: center; font-family: 'Rubik', sans-serif; margin: 18px 0; font-weight: 500;}

@media (max-width:768px) {
	.history_nen {font-size:40px;}
}
@media (max-width:767px) {
	.section04 .contents {padding:80px 0 120px;}
	.history_wrap {padding: 0 0 80px 0;}
	.history_wrap::before {width: 5px;}
	
	.history_nen {background: url("../images/04_maru_l.png") no-repeat center; height: 130px; background-size: contain; padding:55px 0 0 0; font-size:35px;}
}



/*** ヒストリー：リスト ***/
.history_list > li {width: 38%; background: rgba(255, 255, 255, .9); box-shadow:0 0 15px rgba(255, 255, 255,1),0 0 10px rgba(255, 255, 255,1); border-radius: .5em; padding:1.5em 1.3em 1em 1.5em; min-height: 150px; position: relative;}
.history_list_r > li:nth-child(even) {margin-right: auto; margin-left: 0 !important;}
.history_list > li::before {content:""; height: 4px; top: 70px; position: absolute; width:31.5%; left:100%; box-shadow: 0 0 14px rgba(255, 255, 255,.8); background: #FFFFFF;}
.history_list > li::after  {content:""; height: 26px; top: 59px; left:128.5%; width: 26px; position: absolute; background: url("../images/04_maru_s.png") no-repeat; background-size:100% auto;}
.history_list_r > li,
.history_list > li:nth-child(even) {margin-left: auto;}
.history_list_r > li::before,
.history_list > li:nth-child(even)::before {position: absolute; width:31.5%; left:auto; right: 100%;}
.history_list_r > li::after,
.history_list > li:nth-child(even)::after  {left:auto; right:128.5%;}
.history_list > li+li {margin-top: -58px;}
.history_list_r > li:nth-child(even)::before {left: 100%;}
.history_list_r > li:nth-child(even)::after {left:128.5%;}
.history_nen_s {font-family: 'Rubik', sans-serif; font-size:42px; letter-spacing: 0; color: #01b1a4; display: block; padding-bottom:.2em; font-weight: 400; line-height: 1em; white-space: nowrap; text-align: left !important;}
.history_list > li p {font-size: 16px; line-height: 1.7em; font-weight: bold; letter-spacing: 0;}

@media (max-width:1024px) {
	.history_nen_s {font-size:35px;}
	.history_list > li p {font-size: 13px; line-height: 1.6em; word-break: keep-all;}
}

@media (max-width:768px) {
	.history_nen_s {font-size:30px;}
	.history_list > li::after {left:126.5%;}
	.history_list_r > li::after,
	.history_list > li:nth-child(even)::after  {left:auto; right:126.5%;}
	.history_list_r > li:nth-child(even)::after {left:126.5%;}
}
@media (max-width:767px) {
	.history_list > li {width:90%; box-shadow:0 0 10px rgba(255, 255, 255,1),0 0 5px rgba(255, 255, 255,1); background: rgba(255, 255, 255, .95); padding:1.2em 1.2em 1em 1.3em; min-height:auto; margin: 0 auto;}
	.history_list > li::before,
	.history_list > li::after {display: none !important;}
	.history_list > li+li {margin-top:20px !important;}
	.history_list > li p {font-size:.9em;}
	.history_list_r > li:nth-child(even) {margin-left:auto !important;}
}




/*** ヒストリー：リスト：余白調整 ***/
.history_list .m2003 {margin-top: -220px;}
.history_list .m2005 {margin-top: -120px;}
.history_list .m2011 {margin-top: -120px;}
.history_list .m2012 {margin-top: -200px;}
.history_list .m2015 {margin-top: -140px;}
.history_list .m2016 {margin-top: -130px;}
.history_list .m2018 {margin-top: -210px;}
.history_list .m2019 {margin-top: -100px;}


@media (max-width:1024px) {
	.history_list .m2003 {margin-top: -150px;}
	.history_list .m2011 {margin-top: -100px;}
	.history_list .m2012 {margin-top: -170px;}
	.history_list .m2015 {margin-top: -110px;}
	.history_list .m2016 {margin-top: -90px;}
	.history_list .m2018 {margin-top: -130px;}
	.history_list .m2019 {margin-top: -120px;}
}

@media (max-width:768px) {
	.history_list .m2003 {margin-top: -120px;}
	.history_list .m2004 {margin-top: -110px;}
	.history_list .m2005 {margin-top: -90px;}
	.history_list .m2012 {margin-top: -100px;}
	.history_list .m2015 {margin-top: -100px;}
	.history_list .m2016 {margin-top: -70px;}
	.history_list .m2018 {margin-top: -80px;}
	.history_list .m2019 {margin-top: -110px;}
}





/*** ヒストリー：リスト：中身 ***/
.history_layout {display: flex;}
.history_layout .history_text {flex-grow: 1; text-align: right;}
.history_layout figure {text-align: right;}
.history_layout figure img {max-width:inherit; padding: 0 .6em;}
.history_layout + .history_layout {align-items:center; margin-top: .5em;}
.history_layout + .history_layout figure {text-align:left;}
.history_layout + .history_layout .history_text {order: 2; text-align: left;}
.history_layout + .history_layout + .history_layout figure {text-align:right;}
.history_layout + .history_layout + .history_layout .history_text {order:1; text-align: right;}
.history_layout + .history_layout + .history_layout figure {order: 2;}
.history_layout + .history_layout + .history_layout + .history_layout .history_text {order:2; text-align: left;}
.history_layout + .history_layout + .history_layout + .history_layout figure {order:1; text-align: left;}
.history_layout + .history_layout + .history_layout + .history_layout + .history_layout .history_text {order:1; text-align: right;}
.history_layout + .history_layout + .history_layout + .history_layout + .history_layout figure {order: 2;}

@media (max-width:1024px) {
	.history_layout figure {width:40%; text-align: center;}
	.history_layout figure img {max-width:100%;}
	.history_layout .history_text {width:60%;}
}

@media (max-width:767px) {
	.history_layout figure {width:50%;}
}






/*** ヒストリー：結論 ***/
.history_end {box-shadow:0 0 15px rgba(255, 255, 255,1),0 0 10px rgba(255, 255, 255,1); background: rgba(8, 25, 113, .8); width:78%; padding:40px 50px; border-radius: 30px; margin: 0 auto;}
.history_end p {line-height: 2.5em; color: #FFFFFF; font-size: 18px; letter-spacing: 0;}

@media (max-width:1024px) {
	.history_end {width:82%; margin: 0 auto; padding:30px 35px;}
	.history_end p {line-height: 2.2em; font-size: 16px;}
}
@media (max-width:767px) {
	.history_end {width:90%; padding:15px 15px; border-radius:20px;}
	.history_end p {line-height: 2em; font-size: 14px;}
}



/*** ヒストリー：微調整 ***/
.history_list .m10 {margin-top: -1em;}
.history_list .m15 {margin-top: -1.5em;}
.history_list .m20 {margin-top: -2em;}
.history_list .m25 {margin-top: -2.5em;}

@media (max-width:768px) {
	.history_list .m10,
	.history_list .m15 {margin-top:0;}
	.history_list .m20,
	.history_list .m25 {margin-top:-1em;}
}








/*** フッター ***/
footer {background: #FFFFFF;}
footer .foot_link {background: #000000; color: #FFFFFF; padding:18px 10px; text-align: center; position: relative;}
footer .foot_link a {color: #FFFFFF;}
footer .foot_link a:hover {text-decoration: underline;}
footer .foot_link .pagetop {position: absolute; padding: 1em 0 0 0; width:60px; background: #01b1a4; right: 0; top: 0; bottom: 0;}
footer .foot_link .pagetop:hover {background:#00c4b5;}
footer > p {font-size: 12px; text-align: center; padding: 10px;}



@media (max-width:767px) {
	footer .foot_link {padding: 12px 10px;}
	footer .foot_link a {font-size: 12px; letter-spacing: 0;}
	footer > p {font-size: 10.5px; word-break: normal; line-height: 1.5em; padding: 15px 10px;}
	footer .foot_link .pagetop { padding: .4em 0 0 0; width:40px;}
}






/*** アニメーション指定： ***/
.ani_b {opacity: 0;}
.ani_05 {animation-delay:.5s;}
.ani_10 {animation-delay:1s;}
.ani_15 {animation-delay:1.5s;}

.fadeInB{
	animation-name: fadeUp;
	animation-duration: 1s;
	animation-fill-mode: forwards;
}

@keyframes fadeUp {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


body {
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


.cam_bn {margin: 60px auto 0 auto; text-align: center;}

@media .cam_bn {margin: 60px 50px 0 100px; text-align: center;}










