@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Hebrew:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Teko:wght@500;600&display=swap');

* {
padding: 0;
margin: 0;
}
body {
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
color: #404040;
line-height: 1.8;
font-weight:300;
background-color: FFF;
}
/*
a:link {color:#FF0033; text-decoration:none;}
a:visited {color:#FF3333; text-decoration:none;}
a:hover {color:#FF6666; text-decoration:underline;}
.weare a:link {color:#1F1813; text-decoration:none; padding:0 8px;}
.weare a:visited {color:#1F1813; text-decoration:none; padding:0 8px;}
.weare a:hover {color:#4A392D; text-decoration:none; background-color:#BFFA70; padding:0 8px;}
*/
a {text-decoration:none;}
a:hover { opacity: 0.8; }
img a:hover { opacity: 0.8; }

header,footer,article,section,aside,div,p,a,ul,li{
box-sizing:border-box;
}
.pc { display: block !important; }
.sp { display: none !important; }
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
.hissuRed{
color: #E11414;
}
/* ヘッダー
----------------------------------------------------*/
header {
top: -100px;
position: fixed;
width: 100%;
margin: 100px auto 0;
line-height: 1;
z-index: 999;
text-decoration: none;
background:rgba(255,255,255,0.5);
}
header .header {
width: 1100px;
margin: 0 auto;
padding: 10px 0;
display:flex;
justify-content: flex-end;
}
header .header:after {
content: "";
clear: both;
display: block;
}
header .header .logo {
margin: 0 ;
font-family: 'IBM Plex Sans Hebrew', sans-serif;
font-size: 36px;
color: #FFF;
margin-right: auto;
display: block;
}
nav ul {
list-style: none;
font-size: 20px;
margin-right: 10px;
display: flex;
align-items: center;
}
nav ul li{
font-family: 'Teko', sans-serif;
display: flex;
align-items: center;
}
nav ul li a {
margin: 10px 0 0 ;
padding: 0 5px 0;
color: #FFF;
}
nav ul li a.contact_btn {
margin: 0;
padding: 10px 20px!important;
font-family: 'Noto Sans JP', sans-serif;
font-size: 14px;
color: #ffffff;
text-align: center;
font-weight: 500;
line-height:1.0;
background: #04B2C9;
border-radius: 50px;
transition: 0.3s;
display: flex;
justify-content: center;
align-items: center;
}
@media only screen and (max-width: 768px) {
nav ul {
splay: block;
rgin-right: 0px;
}
nav ul li a {
margin: 15px 0 0 ;
padding: 0 5px 0;
color: #CCC;
}
}
nav ul li {
padding: 0 10px;
}
nav ul li:last-child {
border-right: none;
}
@media only screen and (max-width: 768px) {
nav ul li {
border-right: none;
}
}
/* Fixed */
header.fixed {
margin-top: 0;
top: 0;
position: fixed;
transition: top 0.65s ease-in;
-webkit-transition: top 0.65s ease-in;
-moz-transition: top 0.65s ease-in;
z-index: 99;
background:rgba(255,255,255,0.9);
}
header.fixed .logo {
font-size: 36px;
color: #04B2C9;
}
header.fixed nav ul li a {
color: #04B2C9;
}
header.fixed nav ul li a.contact_btn {
color: #FFF;
font-weight: 500;
}
/* Toggle Button */
#nav-toggle {
display: none;
position: absolute;
right: 12px;
top: 10px;
width: 34px;
height: 36px;
cursor: pointer;
z-index: 101;
}
#nav-toggle div {
position: relative;
}
#mobile-head .logo_sp {
display: none;
}
@media only screen and (max-width: 768px) {
header {
top: 0;
position: fixed;
margin-top: 0;
width: 100%;
padding: 0;
/* Fixed reset */
}
header .header {
width: 100%;
padding: 0;
}
header .fixed {
padding-top: 0;
background: transparent;
}
#mobile-head {
background: rgba(255, 255, 255);
width: 100%;
height: 45px;
z-index: 999;
position: relative;
display: flex;
align-items: center;
}
#mobile-head .logo_sp {
margin: 0 0 0 20px;
font-family: 'IBM Plex Sans Hebrew', sans-serif;
font-size: 26px;
color: #04B2C9;
display: block;
z-index: 1000;
}
header.fixed .header .logo,
header .header .logo{
display: none;
}
nav {
position: absolute;
/* 開いてないときは画面外に配置 */
top: -520px;
background: rgba(255, 255, 255, 0.8);
width: 100%;
padding: 0 0 30px;
text-align: center;
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}
nav ul {
list-style: none;
position: static;
right: 0;
bottom: 0;
font-size: 20px;
margin: 20px 0 0 0;
display: block;
}
nav ul li {
float: none;
position: static;
}
header nav ul li a,
header.fixed nav ul li a {
width: 100%;
display: block;
padding: 5px 0;
color: #04B2C9;
}
header.fixed nav ul li a.contact_btn {
width: 85%;
display: block;
padding: 5px 0;
}
nav ul li a.contact_btn {
width: 85%;
margin: 23px auto 0;
padding: 15px 0!important;
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
color: #FFF;
text-align: center;
line-height:1.0;
background: #04B2C9;
border-radius: 50px;
transition: 0.3s;
display: flex;
justify-content: center;
align-items: center;
}
#nav-toggle {
display: block;
}
/* #nav-toggle 切り替えアニメーション */
#nav-toggle span {
display: block;
position: absolute;
height: 1px;
width: 100%;
background: #666;
left: 0;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
top: 0;
}
#nav-toggle span:nth-child(2) {
top: 11px;
}
#nav-toggle span:nth-child(3) {
top: 22px;
}
.open #nav-toggle span:nth-child(1) {
top: 11px;
-webkit-transform: rotate(315deg);
-moz-transform: rotate(315deg);
transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav-toggle span:nth-child(3) {
top: 11px;
-webkit-transform: rotate(-315deg);
-moz-transform: rotate(-315deg);
transform: rotate(-315deg);
}
/* nav スライドアニメーション */
.open nav {
/* nav top + #mobile-head height */
-moz-transform: translateY(556px);
-webkit-transform: translateY(556px);
transform: translateY(556px);
}
}
/* メイン動画部分
----------------------------------------------------*/
#videoWrapper{
width: 100%;
height: auto;
background-color: #FFF;
display: block;
}
.main_video {
width: 100%;
height: auto;
min-height: auto;
min-width: auto;
margin: 0;
z-index: 1;
}
@media only screen and (max-width: 768px) {
#videoWrapper{
width: 100%;
height: auto;
background-color: #FFF;
display: block;
}
.video_area{
position: static;
}
.main_video {
width: 100%;
height: auto;
min-height: auto;
min-width: auto;
margin: 45px 0 0 0;
z-index: 1;
}
}
/* コンテンツ共通パーツ
----------------------------------------------------*/
article{
margin: 0;
padding: 0;
}
.others_flex{
width: 1100px;
margin: 0 auto;
display:flex;
justify-content: space-between;
}
@media only screen and (max-width: 768px) {
.others_flex{
width: 95%;
margin: 0 auto;
display:block;
}
}
/* アバウト
----------------------------------------------------*/
.about_area{
width: 1100px;
margin: 50px auto;
padding: 0;
display:flex;
justify-content: space-between;
}
.about_area img{
width: 48%;
display: block;
}
.about_area .aboutTxt_area{
width: 48%;
}
@media only screen and (max-width: 768px) {
.about_area{
width: 95%;
margin: 20px auto;
padding: 0;
display:block;
}
.about_area img{
display: none;
}
.about_area .aboutTxt_area{
width: 100%;
}
}
.about_area .aboutTxt_area .enTitle{
width: 50%;
font-family: 'Teko', sans-serif;
color:rgba(4,178,201,0.5);
}
.about_area .aboutTxt_area h2{
margin: 5px 0 20px;
font-size: 28px;
font-weight: 500;
line-height: 1.3;
}
@media only screen and (max-width: 768px) {
.about_area .aboutTxt_area .enTitle{
width: 100%;
font-family: 'Teko', sans-serif;
color:rgba(4,178,201,0.5);
}
.about_area .aboutTxt_area h2{
margin: 5px 0 20px;
font-size: 22px;
font-weight: 500;
line-height: 1.3;
}
}

/* 可能性
----------------------------------------------------*/
.others_area{
width: 100%;
margin: 70px auto;
padding: 50px 0 0 0;
background: url("../img/wave_line.svg") center top no-repeat;
}
@media only screen and (max-width: 768px) {
.others_area{
width: 100%;
margin: 30px auto;
padding: 30px 0 0 0;
background: url("../img/wave_line.svg") center top no-repeat;
background-size: 40px auto;
}
}
.others_enTitle{
font-family: 'Teko', sans-serif;
color:rgba(4,178,201,0.5);
text-align: center;
}
h2.others_jpTitle{
margin: 5px 0 40px;
font-size: 28px;
font-weight: 500;
line-height: 1.3;
text-align: center;
}
.objectives_box{
width: 32%;
padding: 0;
display: block;
-webkit-box-shadow: 0 0 6px 0 rgb(0 0 0 / 20%);
-moz-box-shadow: 0 0 6px 0 rgba(0,0,0,0.2);
box-shadow: 0 0 6px 0 rgb(0 0 0 / 20%);
}
@media only screen and (max-width: 768px) {
h2.others_jpTitle{
margin: 5px 0 15px;
font-size: 22px;
font-weight: 500;
line-height: 1.3;
text-align: center;
}
.objectives_box{
width: 100%;
}
}
.objectives_box img{
width: 100%;
margin: 0 0 15px 0;
}
.objectives_box sup{
font-size: 70%;
vertical-align: top;
position: relative;
top: -0.1em;
font-weight: 400;
color: #E11414;
display: inline-block;
margin: 0 5px 0 0;
}
.objectives_note{
width: 1100px;
margin: 20px auto;
font-size: 14px;
}
@media only screen and (max-width: 768px) {
.objectives_note{
width: 95%;
margin: 20px auto;
font-size: 12px;
}
}
.objectives_note sup{
font-size: 80%;
vertical-align: top;
position: relative;
top: 0.2em;
font-weight: 400;
color: #E11414;
display: inline-block;
margin: 0 5px 0 0;
}
h2.objectives {
position: relative;
margin: 0 0 40px 0;
font-size: 24px;
font-weight: 500;
text-align: center;
}
h2.objectives:before {
content: '';
position: absolute;
left: 50%;
bottom: -15px;
display: inline-block;
width: 60px;
height: 1px;
-moz-transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
transform: translate(-50%);
background-color: #04C1C9;
}
.objectives_box p{
width: 100%;
padding: 0 30px 30px;
}
@media only screen and (max-width: 768px) {
h2.objectives {
margin: 0 0 30px 0;
font-size: 20px;
}
h2.objectives:before {
bottom: -10px;
}
.objectives_box p{
width: 100%;
margin: 0 0 15px 0;
padding: 0 15px 15px;
}
}

/* シナジー
----------------------------------------------------*/
.synergy_area {
width: 100%;
padding: 90px 0 0 0;
background: -moz-linear-gradient(top, #9ae0e9, #FFF);
background: -webkit-linear-gradient(top, #9ae0e9, #FFF);
background: linear-gradient(to bottom, #9ae0e9, #FFF);
}
.synergy_area > .inner{
width: 850px;
margin: 0 auto;
}
.synergy_area > .inner img{
width: 80%;
margin: 0 auto 35px;
display: block;
}
@media only screen and (max-width: 768px) {
.synergy_area {
width: 100%;
padding: 40px 0 0 0;
}
.synergy_area > .inner{
width: 95%;
margin: 0 auto;
}
.synergy_area > .inner img{
margin: 0 auto 15px;
}
}

/* アドバンテージ
----------------------------------------------------*/
.promoVideo{
width: 600px;
margin: 0 auto 50px;
display: block;
}
.advantageBox{
width: 49%;
background: #D8F3F6;
padding: 40px 50px;
}
.advantageBox h3{
margin: 0 0 40px;
font-size: 28px;
font-weight: 500;
color: #089DB1;
text-align: center;
line-height: 1.3;
}
@media only screen and (max-width: 768px) {
.promoVideo{
width: 80%;
margin: 0 auto 20px;
}
.advantageBox{
width: 100%;
margin: 0 auto 15px;
padding: 20px;
}
.advantageBox h3{
margin: 0 0 20px;
font-size: 22px;
font-weight: 500;
}
}
.advantageBox ul{
}
.advantageBox ul li {
position: relative;
padding: .1em .5em;
margin: 0 0 5px;
list-style: none;
}
.advantageBox ul li:before {
content: '';
position: absolute;
top: .85em;
left: -.5em;
width: 8px;
height: 8px;
background-color: #04B2C9;
border-radius: 50%;
}
.advantageBox ul li h4{
color: #04B2C9;
font-size: 17px;
font-weight: 500;
display: block;
}

/* ビジネススキーム
----------------------------------------------------*/
.scheme_h3Area{
width: 1100px;
margin:60px auto 30px;
padding: 0;
display: flex;
align-items: center;
}
h3.scheme {
font-size: 24px;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
}
h3.scheme:before {
width: 50px;
margin: 0 5px 0 0;
border-top: 1px solid #04B2C9;
content: "";
}
@media only screen and (max-width: 768px) {
.scheme_h3Area{
width: 95%;
margin:30px auto 0;
padding: 0;
display: block;
}
h3.scheme {
font-size: 20px;
font-weight: 500;
display: flex;
align-items: center;
justify-content:flex-start;
}
h3.scheme:before {
width: 20px;
margin: 0 5px 0 0;
border-top: 1px solid #04B2C9;
content: "";
}
}
.scheme_h3Area a{
margin: 0 0 0 20px;
color: #04B2C9;
display: block;
}
.scheme_txt{
width: 1100px;
margin:30px auto;
}
@media only screen and (max-width: 768px) {
.scheme_h3Area a{
margin: 0;
font-size: 14px;
}
.scheme_txt{
width: 95%;
margin:15px auto;
}
}
ul.other_scheme{
  display: flex;
  flex-wrap: wrap;
}
ul.other_scheme li{
  position: relative;
  width: 25%;
  list-style-type: none;
}
/*ul.other_scheme li a{
cursor: zoom-in;
}*/
ul.other_scheme li:before{
  content: "";
  display: block;
  padding-top: 100%;
}
ul.other_scheme img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}
@media only screen and (max-width: 768px) {
ul.other_scheme li{
  width: 50%;
}
}
/* お問合せページ
----------------------------------------------------*/
.contact_wrapper{
width: 100%;
padding: 50px 0;
background: #F4F4F4;
}
.form_area{
width: 700px;
margin: 50px auto 0 auto;
}
@media only screen and (max-width: 768px) {
.contact_wrapper{
width: 100%;
padding: 20px 0;
background: #F4F4F4;
}
}
.form_area_txtBox{
width: 780px;
margin: 20px auto 0 auto;
}
.form_area_txtBox > h2{
margin: 0 0 20px 0;
font-weight: 500;
font-size: 20px;
text-align: center;
}
@media screen and (max-width: 768px){
.form_area_txtBox{
width: 95%;
margin: 20px auto 0 auto;
}
.form_area{
width: 95%;
margin: 40px auto 0 auto;
}
}
.form_area .txt{
margin: 20px 0 5px 0;
padding: 3px 10px 3px 0;
font-weight: 500;
background: #F4F4F4;
}
.form_area .txt2{
margin: 20px 0 5px 0;
padding: 3px 10px;
font-weight: 500;
background: #F4F4F4;
}
.form_area .txt span{
margin: 0 0 0 14px;
padding: 2px 5px;
color: #FFF;
font-size: 12px;
background: #E11414;
border-radius: 2px;
}
.form_area .kakunin{
padding: 0 10px;
margin: 0 0 30px 0;
font-size: 90%;
}
.form_area .soushin_ok{
margin: 0 0 30px 0;
text-align: center;
}
.form_area .soushin_ok a{
color: #04B2C9;
}
.m-form-text {
height: 2.4em;
width: 100%;
margin: 0;
padding: 25px 20px;
background: #FCFCFC;
border: none;
box-shadow: 0 0 0 1px #C2C2C2 inset;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
box-sizing: border-box;
}
.m-form-text:focus {
outline: 0;
box-shadow: 0 0 0 2px #04B2C9 inset;
}
.m-form-text::placeholder {
color: #C2C2C2;
}
@media screen and (max-width: 768px){
.m-form-text {
width: 100%;
padding: 20px;
box-sizing: border-box;
}
}
textarea{
font-weight: 300;
}
.m-form-textarea {
display: block;
width: 100%;
height: 170px;
margin: 0 0 40px 0;
padding: 25px 20px;
font-weight: 300;
background: #FCFCFC;
border: none;
box-shadow: 0 0 0 1px #C2C2C2 inset;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
resize: vertical;
box-sizing: border-box;
}
.m-form-textarea:focus {
outline: 0;
box-shadow: 0 0 0 2px #04B2C9 inset;
}
.m-form-textarea::placeholder {
color: #C2C2C2;
}
@media screen and (max-width: 768px){
.m-form-textarea {
display: block;
width: 100%;
height: 130px;
margin: 0 0 25px 0;
padding: 20px;
box-sizing: border-box;
}
}
/*ラジオボタン*/
.input_radio {
display: inline-block;
margin: 0 15px 5px 0;
}
.input_radio input[type="radio"] {
display: none
}
.input_radio label {
width: auto;
box-sizing: border-box;
cursor: pointer;
display: inline-block;
padding: 0 0 0 25px;
position: relative;
font-size: 90%;
}
.input_radio label::before {
content: "";
display: block;
border: 1px solid #c2c2c2;
border-radius: 1000px;
width: 16px;
height: 16px;
position: absolute;
left: 0;
top: 50%;
margin-top: -8px;
background: #FFF;
}
.input_radio label::after {
content: "";
display: block;
background: #04B2C9;
border-radius: 1000px;
width: 10px;
height: 10px;
opacity: 0;
position: absolute;
left: 4px;
top: 50%;
margin-top: -4px
}
.input_radio input[type=radio]:checked+label::after {
opacity: 1
}
/*チェックボックス*/
.input_checkbox {
display: inline-block;
margin: 0 15px 5px 0;
}
.input_checkbox input[type=checkbox] {
display: none
}
.input_checkbox label {
width: auto;
box-sizing: border-box;
cursor: pointer;
display: inline-block;
padding: 0 0 0 25px;
position: relative;
font-size: 90%;
}
.input_checkbox label::before {
content: "";
display: block;
background: #fff;
border: 1px solid #c2c2c2;
width: 15px;
height: 15px;
position: absolute;
left: 0;
top: 46%;
margin-top: -6px
}
.input_checkbox label::after {
content: "";
display: block;
border-right: 3px solid #04B2C9;
border-bottom: 3px solid #04B2C9;
width: 5px;
height: 9px;
position: absolute;
left: 5px;
top: 46%;
margin-top: -6px;
opacity: 0;
transform: rotate(45deg)
}
.input_checkbox input[type=checkbox]:checked+label::after {
opacity: 1
}
a.form_p_link{
color: #E11414;
text-decoration: underline;
}
.submit{
margin: 20px 0 0 0;
text-align: center;
}
a.hBack{
color: #04B2C9;
text-decoration: underline;
}
.submit input.submit{
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: button;
appearance: none;
border-radius: 50px;
cursor:pointer;
border:none;
display: block;
width:300px;
background:#04B2C9;
color: #FFF;
margin:20px auto 5px;
padding: 20px 15px;
}
.submit input.submit2{
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: button;
appearance: none;
border-radius: 50px;
cursor:pointer;
border:none;
display: block;
width:300px;
background:#04B2C9;
color: #FFF;
margin:0 auto 20px;
padding: 20px 15px;
}
@media screen and (max-width: 768px){
.submit input.submit{
width:250px;
padding: 15px 10px;
font-size: 16px;
}
.submit input{
width:250px;
}
.submit input.submit2{
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: button;
appearance: none;
border-radius: 50px;
cursor:pointer;
border:none;
display: block;
width:250px;
background:#04B2C9;
color: #FFF;
margin:0 auto 20px;
padding: 20px 15px;
}
}
.form_err{
width: 100%;
margin: 0 auto 50px;
color: #E11414;
font-weight: 500;
text-align: center;
}
.form_err a{
color: #404040;
}
a.p_link{
color: #04B2C9;
text-align: center;
}
small{
width: 100%;
padding: 10px 0;
color: #FFF;
text-align: center;
background: #404040;
display: block;
}
.contactKv_area{
position: relative;
height:260px;
margin: 0;
padding: 0;
background: url("../img/contact_kv.jpg") no-repeat center;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 768px){
.contactKv_area{
width: 100%;
height:150px;
display: inline-flex;
margin: 40px 0 0 0;
}
}
h1.content_title {
width: 100%;
font-size: 28px;
font-weight: 600;
text-align: center;
z-index: 100;
color: #FFF;
}
p.content_titleEn {
width: 100%;
font-size: 15px;
text-align: center;
z-index: 100;
color: #FFF;
}
@media screen and (max-width: 768px){
h1.content_title {
font-size: 22px;
}
}
.thanksPage{
display: flex;
flex-direction: column;
min-height: 100vh;
}
.thanksPage small{
margin-top: auto;
}
/* テーブル
----------------------------------------------------*/
table.tb01{
width: 900px;
margin: 0 auto;
border-collapse: collapse;
}
.tb01 tr{
border-top: 1px solid #000;
border-bottom: 1px solid #000;
}
.tb01 th,
.tb01 td{
padding: 15px 30px;
box-sizing:border-box;
}
.tb01 th a,
.tb01 td a{
color: #04B2C9;
}
.tb01 th {
width: 20%;
background: #F5F5F5;
font-weight: 400;
text-align: left;
}
@media only screen and (max-width: 768px) {
table.tb01 {
width: 95%;
}
.tb01 tr{
border: 1px solid #000;
}
table.tb01 th,
table.tb01 td {
display: block;
width: 100%;
padding: 10px 15px;
border-bottom:none;
}
table.tb01 td {
border-top:none;
}
.tb01 tr:last-child{
border-bottom: solid 1px #000;
}
}