@charset "UTF-8";

/* 共通項
***************************************************************************************/
*{
	box-sizing: border-box;
}

body{
  margin: 0;
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
}
_:lang(x)::-ms-backdrop, body {
    font-family: "Segoe UI", Meiryo, sans-serif;
} 

img{
	vertical-align: top;
	border: none;
}


a:link,
a:active,
a:visited,
a:hover{
 text-decoration: none;
}

.dispPC {
	display: inital;
}
.dispSP {
	display: none;
}

.wrap{
	width: 1140px;
	margin: auto;
}
.inner{
 width: 868px;
 margin: auto;
}

.bg_blue{
	background-color: #0387b4;
}
.bg_darkblue{
	background-color: #0d2761;
}

.bg_lightgray{
	background-color: #f4f4f4;
}
.bg_gray{
	background-color: #a0a0a0;
}
.btn{
	display: flex;
	text-decoration: none;
	align-content: center;
	align-items: center;
	justify-content: center;
}
.btn_frame01{
	width: 222px;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1;
	padding: 22px 0;
}
.btn_frame02{
	width: 390px;
	border-radius: 4px;
	font-size: 24px;
	line-height: 1;
	padding: 39px 0 35px;
	font-weight: bold;
	position: relative;
}
.btn_frame02::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn_frame02::before{
    right: 30px;
	left: auto;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame02.materials::before{
    right: 30px;
	left: auto;
    width: 12px;
    height: 12px;
    border-top: 2px solid #E62200;
    border-right: 2px solid #E62200;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame03{
	background-color: #0387b4;
 color: #fff;
 padding: 22px 20px 22px 0;
	position: relative;
}
.btn_frame03::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn_frame03::before{
    right: 30px;
	left: auto;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
.btn_frame04{
	width: 436px;
	border-radius: 4px;
	height: 65px;
	line-height: 1;
	padding: 28px 0;
	position: relative;
}
.btn_frame04::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn_frame04::before{
    right: 40px;
	left: auto;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame04.materials::before{
    right: 37px;
	left: auto;
    width: 10px;
    height: 10px;
    border-top: 1px solid #E62200;
    border-right: 1px solid #E62200;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame04.materials{
	background: #fff;
	border: 3px solid #E62200;
	color: #E62200;
	height: 50px;
}
.btn_frame05{
	width: 316px;
	line-height: 1;
	padding: 28px 0;
	background-color: #192b57;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	position: relative;
	height: 74px;
}
.btn_frame05::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn_frame05::before{
    right: 20px;
	left: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame05.materials{
	width: 316px;
	line-height: 1;
	padding: 28px 0;
	background-color: #fff;
	border: 3px solid #192b57;
	color: #192b57;
	font-size: 18px;
	font-weight: bold;
	height: 72px;
	margin-top: 15px;
	position: relative;
}
.btn_frame05.materials::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.btn_frame05.materials::before{
    right: 20px;
	left: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #192b57;
    border-right: 2px solid #192b57;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn_frame06{
	width: 200px;
	border-radius: 4px;
	font-size: 16px;
	height: 50px;
	line-height: 1;
	padding: 20px 0;
	font-weight: bold;
}
.btn_frame06.materials{
	background: #fff;
	border: 3px solid #E62200;
	color: #E62200;
	height: 50px;
}

.btn_grad_org{
	background: #ffa000;
	background: -moz-linear-gradient(left,  #ffa000 0%, #ff6450 100%);
	background: -webkit-linear-gradient(left,  #ffa000 0%,#ff6450 100%);
	background: linear-gradient(to right,  #ffa000 0%,#ff6450 100%);
	color: #fff;
}
.under_line{
 background: linear-gradient(transparent 70%, #ff8373 70%);
}
.under_line_yellow{
 background: linear-gradient(transparent 50%, #ffe065 50%);
}

.txt_clr_blue{
	color: #0387b4;
}
.txt_clr_org{
	color: #ff6450;
}



/* ヘッダー
***************************************************************************************/
header{
	padding: 21px 0 24px;
}
header .wrap{
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
#logo{
	width: 200px;
	margin: 0;
}
.head_right{
	display: flex;
	align-items: center;
    gap: 20px;
}
.head_right div{
	margin: 0 37px 0 0;
}
.head_right div p{
	margin: 0;
	font-size: 11px;
	text-align: center;
}
.head_right div p + p{
	margin-top: 10px;
	font-weight: bold;
	line-height: 1;
}
.head_right .contact{
	margin: 0;
}

.head_right .contact a {
	height: 60px;
}

.head_right .contact.materials a {
	background: #fff;
	border: 3px solid #E62200;
	color: #E62200;
	height: 60px;
}


/* メイン
***************************************************************************************/
.top{
	background-image: url("../images/bg_top.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.top .wrap{
	background-image: url("../images/img_top01.png");
	background-position: right 68px top 26px;
	background-repeat: no-repeat;
	padding: 30px 2px 47px 53px;
}
.top .lead01{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
	margin: 0;
}
.top .lead02{
	font-size: 42px;
	font-weight: bold;
	margin: 26px 0 0;
	line-height: 1.3;
}
.top .lead03{
	font-weight: bold;
	font-size: 92px;
	line-height: 1;
	margin: 26px 0 0;
}

.top_btm{
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.top_btm p {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.top_btm ul {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: space-between;
}
.top_btm ul li {
	margin: 0 10px;
	width: 30%;
}
.top_btm ul li img {
  width: 98%;
}
.top_btm  .notes {
  font-size: 14px;
  font-weight: normal;
  margin: 10px 0 0;
  text-align: center;
  width: 100%;
}

.top_btm a {
	height: 50px;
}

.top_btm a.materials {
	background: #fff;
	border: 3px solid #E62200;
	color: #E62200;
	height: 50px;
}

.Scene{
	padding: 50px 0 45px;
	overflow: hidden;
}
.Scene .wrap{
 white-space: nowrap;
}
.Scene h2{
	margin: 0 0 40px;
	line-height: 1;
	font-size: 26px;
	color: #fff;
	text-align: center;
}
.Scene ul{
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 18px;
	color: #0d2761;
	line-height: 1;
	font-weight: bold;
	align-content: center;
	display: flex;
}
.Scene ul li{
	background-color: #fff;
	border: 1px solid #0387b4;
	width: 220px;
	text-align: center;
	padding: 22px 0 20px;
	align-items: center;
 margin: 0 17px 0 0;
}


.trouble{
	background-image: url("../images/bg_trouble.png");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100%;
	padding: 96px 0 90px;
}
.trouble h2{
	font-size: 40px;
	text-align: center;
	margin: 0;
	line-height: 1;
}
.trouble ul{
	list-style: none;
	margin: 80px auto 0;
	font-size: 24px;
	font-weight: bold;
	width: 68%;
}
.trouble ul li{
	background-image: url("../images/icon_trouble.png");
	background-repeat: no-repeat;
	background-position: left center;
	padding: 0 0 0 50px;
	margin: 36px 0;
}
.trouble .lead{
	font-size: 42px;
	text-align: center;
	line-height: 1.8;
	font-weight: bold;
	margin: 120px 0 0;
}
.trouble .lead .sizeA{
	font-size: 84.76px;
}
.trouble .lead .sizeB{
	font-size: 50px;
}

.feature{
 background-image: url("../images/bg_feature.png");
 background-size: 100%;
 padding: 60px;
}
.feature .wrap{
 background-color: #fff;
 padding: 53px 52px 90px 90px;
 box-shadow: 0px 0px 20px #aaa;
}
.feature h2{
 font-size: 30px;
 line-height: 1;
 margin: 0;
 text-align: center;
}
.feature h2 span{
 font-size: 45px;
}
.feature01{
 display: flex;
 justify-content: space-between;
 margin: 87px 0 0;
 background-image: url("../images/bg_feature01.png");
 background-repeat: no-repeat;
 background-position: right 90px top;
 padding: 12px 0 0;
}
.feature01 .txt_area{
 width: 490px;
}
.feature02{
 display: flex;
 justify-content: space-between;
 flex-direction: row-reverse;
 align-items: center;
 margin: 88px 0 0;
 background-image: url("../images/bg_feature02.png");
 background-repeat: no-repeat;
 background-position: top left 18px;
 padding: 17px 0 0;
}
.feature02 .txt_area{
 width: 516px;
 margin: 0 30px 0 0;
}
.feature03{
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 margin: 118px 0 0;
 background-image: url("../images/bg_feature03.png");
 background-repeat: no-repeat;
 background-position: top right 123px;
 padding: 12px 0 0;
}
.feature03 .txt_area{
 width: 490px;
}
.feature .title{
 display: flex;
}
.feature .title h3{
 font-size: 30px;
 margin: 0 0 0 20px;
 line-height: 1.7;
}
.feature p{
 font-size: 18px;
}
.feature .txt_area > :last-child{
 margin: 40px 0 0;
 width: 310px;
 font-weight: bold;
}

.function{
 padding: 100px 0;
}
.function h2{
 font-size: 40px;
 text-align: center;
 margin: 0;
 line-height: 1.8;
}
.function .list{
 display: flex;
 flex-wrap: wrap;
 padding: 0 48px;
 margin: 80px 0 0;
}
.function .list > div{
 width: 270px;
 margin: 0 39px 55px;
}
.function .list > div:last-of-type{
 margin-bottom: 0;
}
.function .list > div h3{
 color: #0387b4;
 font-size: 18px;
 line-height: 1;
 margin: 0;
}
.function .list .title{
 display: flex;
 align-items: center;
}
.function .list .title p{
 margin: 0 15px 0 0;
 width: 50px;
 text-align: center;
}
.function .list .title + p{
 line-height: 1.4;
}
.func_scene{
 background-image: url("../images/bg_function_scene.png");
 background-size: cover;
 background-repeat: no-repeat;
 text-align: center;
 padding: 56px 89px 60px;
 margin: 75px 0 0;
}
.func_scene h4{
 text-align: center;
 margin: 0 auto;
 font-size: 26px;
 line-height: 1.7;
 position: relative;
 padding: 0 45px;
 display: inline-block;
}
.func_scene h4::before, .func_scene h4::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: black;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.func_scene h4::before{
 -webkit-transform: rotate(60deg);
  transform: rotate(60deg);
}
.func_scene h4::before {
  left:0;
}
.func_scene h4::after {
  right: 0;
}
.func_scene ul{
 list-style: none;
 margin: 30px 0 0;
 font-size: 14px;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 padding: 0;
 line-height: 1;
}
.func_scene ul li{
 width: 181px;
 background-color: #fc8071;
 color: #fff;
 font-weight: bold;
 padding: 22px 0;
}
.func_scene ul li:nth-last-child(n+6){
 margin-bottom: 10px;
}


main > .bg_blue{
 padding: 16px;
}
.bg_blue .wrap{
 background-color: #fff;
 width: auto;
 padding: 50px;
}
.fukidashi_wrap{
 display: flex;
 justify-content: center;
}
.fukidashi_wrap p {
  position: relative;
  padding: 20px 30px;
  background-color: #fff;
  border: 3px solid #0387b4;
  border-radius: 6px;
 font-size: 20px;
 font-weight: bold;
 color: #0387b4;
 margin: 0 10px;
 line-height: 1;
 width: 420px;
 text-align: center;
}
.fukidashi_wrap p.right_fuki::before,
.fukidashi_wrap p.right_fuki::after {
  position: absolute;
  top: 100%;
  left: 30px;
  content: '';
  height: 0;
  width: 0;
  border: 10px solid transparent;
}
.fukidashi_wrap p.right_fuki::before {
  border-top: 10px solid #0387b4;
  border-left: 10px solid #0387b4;
}
.fukidashi_wrap p.right_fuki::after {
  margin-top: -4px;
 margin-left: 3px;
  border-top: 8px solid #fff;
  border-left: 8px solid #fff;
}
.fukidashi_wrap p.left_fuki::before,
.fukidashi_wrap p.left_fuki::after {
  position: absolute;
  top: 100%;
  right: 30px;
  content: '';
  height: 0;
  width: 0;
  border: 10px solid transparent;
}
.fukidashi_wrap p.left_fuki::before {
  border-top: 10px solid #0387b4;
  border-right: 10px solid #0387b4;
}
.fukidashi_wrap p.left_fuki::after {
  margin-top: -4px;
 margin-right: 3px;
  border-top: 8px solid #fff;
  border-right: 8px solid #fff;
}

.inner h3{
 color: #0387b4;
 text-align: center;
 font-size: 25px;
 margin: 40px 0 0;
 line-height: 1;
}
.inner h3 + p{
 font-size: 33px;
 text-align: center;
 font-weight: bold;
 line-height: 1.7;
 margin: 15px 0 0;
}
.consul_box{
 display: flex;
 justify-content: space-between;
 margin: 40px 0 0;
}
.consul_box > div{
 width: 458px;
}
.consul_box > div p{
 font-size: 17px;
}
.consul_box > div p .btn{
 font-size: 18px;
 font-weight: bold;
}

.member{
 padding: 90px 0 100px;
}
.member h2{
 text-align: center;
 font-size: 40px;
 line-height: 1.7;
 margin: 0;
}
.member h2 + p{
 margin: 40px 190px 0;
 font-size: 18px;
}
.mem_box{
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 padding: 0 40px;
 margin: 20px 0 0;
}
.mem_box > div{
 width: 270px;
 margin: 60px 40px 0;
}
.mem_box .title{
 display: flex;
 align-items: center;
}
.mem_box .title p{
 margin: 0 15px 0 0;
 line-height: 1;
}
.mem_box .title h3{
 font-size: 18px;
 color: #0387b4;
 margin: 0;
 line-height: 1.2;
}
.mem_box .title + p{
 font-size: 12px;
 margin: 16px 0 0;
 line-height: 1.6;
}


.custom{
 padding: 60px 0 80px;
}
.custom .wrap{
 background-color: #fff;
 padding: 70px 91px 75px;
}
.custom h2{
 text-align: center;
 font-size: 40px;
 line-height: 1.7;
 margin: 0;
}

.custom .in_box{
 display: flex;
 justify-content: space-between;
 margin: 95px 0 90px;
}
.custom .in_box > div{
 width: 268px;
}
.custom .in_box > div h4{
 color: #0387b4;
 text-align: center;
 margin: 26px 0 23px;
 line-height: 1.5;
}
.custom .in_box > div p{
 margin: 0;
 font-size: 14px;
 line-height: 1.4;
}
.custom h3{
 color: #222;
 font-size: 18px;
 text-align: center;
 border-bottom: 2px solid #222;
  padding: 0 0 10px;
 line-height: 1.6;
 margin: 0 0 45px;
}
.custom h3 + p{
 margin: 0 50px;
}
.custom h3 + p img{
 width: 100%;
}
.custom h3 + p + p{
 margin: 35px 140px 0;
 font-size: 14px;
 line-height: 1.4;
}

.flexible{
 
}
.flexible .wrap{
 padding: 156px 0 84px;
}
.flexible h2{
 position: relative;
 text-align: center;
 font-size: 40px;
 margin: 0;
}
.flexible h2 .tobi{
 text-align: center;
 margin: 0 auto;
 font-size: 40px;
 line-height: 1.7;
 position: absolute;
 padding: 0 45px;
 display: inline-block;
 color: #0387b4;
 transform: rotate(-15deg);
 left: -10px;
 top: -70px;
}
.flexible h2 .tobi::before, .flexible h2 .tobi::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #0387b4;
  -webkit-transform: rotate(-70deg);
  transform: rotate(-70deg);
}
.flexible h2 .tobi::before{
 -webkit-transform: rotate(70deg);
  transform: rotate(70deg);
}
.flexible h2 .tobi::before {
  left:0;
}
.flexible h2 .tobi::after {
  right: 0;
}
.flexible_box{
 display: flex;
 flex-wrap: wrap;
 width: 950px;
 margin:60px auto 0;
 justify-content: space-between;
}
.flexible_box > div{
 width: 420px;
 display: flex;
 align-items: center;
 margin: 0 0 50px;
}
.flexible_box > div > p{
 padding: 0 36px 0 0;
 text-align: center;
 flex: 0 0 110px;
}
.flexible_box > div h3{
 font-size: 18px;
 line-height: 1;
 margin: 0;
}
.flexible_box > div div p{
 font-size: 14px;
 margin: 20px 0 0;
 line-height: 1.6;
}



.api{
 padding: 60px 0 80px;
}
.api .wrap{
 background-color: #fff;
 padding: 70px 91px 75px;
}
.api h2{
 text-align: center;
 font-size: 40px;
 line-height: 1.7;
 margin: 0;
}
.api h2 + p{
 margin: 60px 100px 0;
}

.api h3{
 color: #222;
 font-size: 18px;
 text-align: center;
 border-bottom: 2px solid #222;
  padding: 0 0 10px;
 line-height: 1.6;
 margin: 120px 0 45px;
}
.api h3 + p{
 margin: 0 100px;
}
.api h3 + p img{
 width: 100%;
}

.inquiry{
 background-color: #0387b4;
}
.inquiry .wrap{
 width: 720px;
 padding: 80px 0;
}
.inquiry h2{
 color: #fff;
 text-align: center;
 font-size: 20px;
 margin: 0 0 28px;
 line-height: 1;
}
.inquiry h2 + p{
 color: #fff;
 text-align: center;
 font-size: 20px;
 margin: 0;
 line-height: 1;
}
.inquiry .in_box{
 background-color: #fff;
 padding: 40px;
 margin: 40px 0 0;
}
.inquiry .in_box p{
 margin: 0;
}
.inquiry .in_box .flex{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.inquiry .in_box .first{
 border-bottom: 2px solid #eaeaea;
 margin: 0 0 24px;
 padding: 0 0 20px;
}
.in_box .flex .flex p:first-of-type{
 width: 76px;
 text-align: center;
}
.in_box .flex .flex p{
 color: #192b57;
 font-weight: bold;
 line-height: 1;
}
.right_box{
 width: 316px;
 color: #192b57;
 line-height: 1.4;
}
.right_box b{
 font-size: 28px;
}

.appeal{
	text-align: center;
}
.appeal .wrap{
	padding: 95px 0;
}
.appeal h2{
 position: relative;
 text-align: center;
 font-size: 40px;
 margin: 20px 0 60px;
	line-height: 1;
}
.appeal .appeal_sub{
 text-align: center;
 margin: 0 auto;
 font-size: 24px;
 line-height: 1.7;
 padding: 0 45px;
 display: inline-block;
 color: #0387b4;
	position: relative;
	font-weight: bold;
}
.appeal .appeal_sub::before, .appeal .appeal_sub::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #0387b4;
  -webkit-transform: rotate(-70deg);
  transform: rotate(-70deg);
}
.appeal .appeal_sub::before{
 -webkit-transform: rotate(70deg);
  transform: rotate(70deg);
}
.appeal .appeal_sub::before {
  left:0;
}
.appeal .appeal_sub::after {
  right: 0;
}
.appeal .txt01{
	font-size: 18px;
	font-weight: bold;
}
.appeal .list01{
	list-style: none;
	margin: 40px 0 150px;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.appeal .list01 li{
	width: 169px;
	margin: 0 15px;
}
.appeal .list01 li img{
	width: 100%;
}
.appeal .desk{
	display: flex;
	width: 1068px;
	margin: 40px auto 140px;
	justify-content: space-between;
}
.appeal .desk > p{
	margin: 0;
}
.appeal .desk ul{
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: space-between;
	width: 600px;
}
.appeal .desk ul li{
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	align-items: center;
}
.appeal p img{
	width: 100%;
}

.case{
	
}
.case .wrap{
	padding: 100px 0;
}
.case h2{
	font-size: 31px;
	margin: 0;
	padding: 0;
	line-height: 1;
	text-align: center;
}
.case .title_eng{
	font-size: 17px;
	color: #0387b4;
	text-align: center;
	margin: 22px 0 55px;
	line-height: 1;
}
.case .title_eng + p{
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.7;
}
.case_list{
	display: flex;
	flex-direction: column;
	width: 965px;
	margin: 0 auto;
}
.case_detail{
	display: flex;
	margin: 80px 0 0;
}

.case_detail > p{
	margin: 0 35px 0 0;
}
.case_detail h3{
	margin: 0 0 20px;
	font-size: 22px;
	color: #0387b4;
	line-height: 1.6;
}
.case_detail div p{
	font-size: 14px;
	margin: 0;
	line-height: 1.6;
}
.case_detail div p + p{
	font-weight: bold;
	margin: 20px 0 0;
}

.company{
	margin: 0;
	padding: 100px 0;
}
.company p{
	margin: 0 auto 55px;
	width: 290px;
	text-align: center;
}
.company p img{
	width: 100%;
}
.company table{
	width: 677px;
	margin: 0 auto;
	border: none;
	font-size: 16px;
	border-spacing: 0;
}
.company table td,
.company table th{
	background: #f2f9fb;
	padding: 14px 16px;
}
.company table th{
	padding: 14px 22px 14px 60px;
	text-align: left;
	font-weight: normal;
	position: relative;
}
 .company table th::after{
	content: ":";
	display: block;
	position: absolute;
	right: 0;
	top: 0.7em;
}
.company table tr:nth-child(even) td,
.company table tr:nth-child(even) th{
	background: #fff;
}


.fix_bar{
	background-color: #fff;
}
.fix_bar .wrap{
	width: 775px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 0;
}
.fix_bar p{
	margin: 0;
	line-height: 1.4;
	text-align: left;
}
.fix_bar p:first-of-type{
	font-size: 14px;
}

.fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
}


#nav{
	position: fixed;
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 1;
	font-size: 15px;
	text-align: center;
	top: 50%;
	right: 3%;
	z-index: 50;
	transform: translate(0,-50%);
	display: none;
}
#nav li{
	margin: 20px 0;
	position: relative;
}
#nav li a{
	border: 1px solid #fff;
	display: block;
	border-radius: 6px;
	background-color: #e9e9e9;
	color: #222222;
	font-weight: bold;
	padding: 8px;
}
#nav li a.now{
	background-color: #ffa000;
 color: #fff;
}

#nav li{
    position: relative;
    padding: 0 0 0 0;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}
#nav li::before,
#nav li::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#nav li::before{
    left: 0;
		right: 0;
		top: -60px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #dedede;
    border-right: 2px solid #dedede;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
#nav li:first-of-type::before{
	display: none;
}

/* フッター
***************************************************************************************/
footer{
 background-color: #ebebeb;
 padding: 32px 0;
}
footer .wrap{
 display: flex;
 justify-content: space-between;
 padding: 0 40px;
}
footer .wrap p{
 margin: 0;
 line-height: 1;
 font-size: 14px;
}
footer .wrap ul{
 list-style: none;
 margin: 0;
 padding: 0;
 line-height: 1;
 display: flex;
 font-size: 14px;
}
footer .wrap ul li{
 margin: 0 0 0 30px;
}
footer .wrap ul a{
 color: inherit;
}

@media screen and (min-width:769px) {
	.btn:hover,
	footer .wrap ul a:hover,
	#nav li a:hover{
		opacity: .7;
	}
 a[href*="tel:"] {
 pointer-events: none;
 cursor: default;
 text-decoration: none;
  color: inherit;
 }
}

br.pc {
  display: block;
}
br.sp {
  display: none;
}

/* スマホ用
***************************************************************************************
***************************************************************************************
***************************************************************************************
***************************************************************************************/
@media screen and (max-width:768px) {
html {
	font-size: calc(100vmin / 32);
}
body{
	line-height: 1;
}
br.pc {
  display: none;
}
br.sp {
  display: block;
}
.dispPC {
	display: none;
}
.dispSP {
	display: initial;
}

	img{
		width: 100%;
		vertical-align: top;
	}

.wrap{
	width: auto;
	margin: auto;
	padding: 0 3.125vmin;
}
.inner{
 width: auto;
 margin: auto;
}
#nav{
	display: none;
}


.btn_frame01{
	width: 90%;
	font-size: 3vmin;
	line-height: 1;
	padding: 3.125vmin 0;
}
.btn_frame02{
	width: 100%;
	font-size: 5vmin;
	padding: 7vmin 0;
}
.btn_frame02::before{
    right: 8vmin;
    width: 3vmin;
    height: 3vmin;
}
.btn_frame02.materials::before{
    right: 7.5vmin;
    width: 3vmin;
    height: 3vmin;
	border-top: 2px solid #E62200;
	border-right: 2px solid #E62200;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);	
}

.btn_frame03{
	background-color: #0387b4;
 	color: #fff;
 	padding: 3vmin;
	position: relative;
}
.btn_frame03::before{
    right: 8vmin;
    width: 3vmin;
    height: 3vmin;
	top: -1.5vmin;
}
.btn_frame04,.btn_frame04.materials {
	width: auto;
	height: 14vmin;
	padding: 6vmin 0;
}
.btn_frame04::before{
    right: 8vmin;
	width: 3vmin;
    height: 3vmin;
}
.btn_frame04.materials::before{
    right: 7.5vmin;
	width: 3vmin;
    height: 3vmin;
}
.btn_frame05{
 width: auto;
 padding: 5vmin 0;
 font-size: 4vmin;
 height: 15vmin;
}
.btn_frame05::before{
    right: 8vmin;
    width: 3vmin;
    height: 3vmin;
}
.btn_frame05.materials {
  height: 14.5vmin;
}
.btn_frame06{
	width: 100%;
	font-size: 5vmin;
	padding: 20px 0;
}
.btn_frame06.materials{
	margin-top: 3vmin;
	padding: 20px 0;
}

.btn_grad_org{
	background: #ffa000;
	background: -moz-linear-gradient(left,  #ffa000 0%, #ff6450 100%);
	background: -webkit-linear-gradient(left,  #ffa000 0%,#ff6450 100%);
	background: linear-gradient(to right,  #ffa000 0%,#ff6450 100%);
	color: #fff;
}
.btn_blue{
	
}
.under_line{
 background: linear-gradient(transparent 70%, #ff8373 70%);
}
.under_line_yellow{
 background: linear-gradient(transparent 50%, #ffe065 50%);
}

.txt_clr_blue{
	color: #0387b4;
}
.txt_clr_org{
	color: #ff6450;
}



/* ヘッダー
***************************************************************************************/
header{
	padding: 3.15vmin 0;
}
header .wrap {
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
#logo{
	margin-bottom: 5vmin;
	width: 100%;
}
#logo img {
  width: 40%;
}
.head_right{
	flex-wrap: wrap;
	justify-content: center;
	gap: 3vmin;
	width: 100%;
}
.head_right div{
	position: absolute;
	 top: 0;
	 right: 2.5vmin;
	margin: 0;
	width: 50%;
}
.head_right div p{
	margin: 0 auto;
	font-size: 3.4375vmin;
	text-align: center;
	width: 95%;
}
.head_right div p + p{
	margin-top: 2vmin;
	font-size: 2.8vmin
}
.head_right .contact.materials {
	width: 48%;
}
.head_right .contact.materials a {
	height: 10vmin;
	margin: 0 auto;
	width: 100%;
}
.head_right .contact {
	width: 48%;
}
.head_right .contact a {
	height: 10vmin;
	margin: 0 auto;
	width: 100%;
}

/* メイン
***************************************************************************************/
.top{
	background-image: url("../images/bg_top.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.top .wrap{
	background-position: right 5vmin top 28vmin;
	padding: 8vmin 3.125vmin 12vmin;
	background-size: 40%;
}
.top .lead01{
	font-size: 3vmin;
}
.top .lead02{
	font-size: 5vmin;
	margin: 6.93vmin 0 0;
}
.top .lead03{
	font-size: 12vmin;
	margin: 6.93vmin 0 0;
}

.top_btm{
	margin: 3vmin 0 0;
	flex-direction: column-reverse;
}
	.top_btm p{
		margin: 0;
	}

.top_btm ul li{
	margin: 4vmin 1vmin 2vmin;
	width: 30%;
}
.top_btm .notes {
  font-size: 2.5vw;
  margin: 0 0 7vw;
}


.Scene{
	padding: 10vmin 0;
	overflow: hidden;
}
.Scene h2{
	margin: 0 0 8vmin;
	font-size: 5vmin;
}
.Scene ul{
	font-size: 4vmin;
}
.Scene ul li{
	width: 50vmin;
	padding: 4vmin 0;
	margin: 0 4vmin 0 0;
}


.trouble{
	background-position: top center;
	background-size: 100%;
	padding: 10vmin 0;
}
.trouble h2{
	font-size: 6vmin;
}
.trouble ul{
	margin: 10vmin auto 0;
	font-size: 4vmin;
	width:auto;
	padding: 0;
}
.trouble ul li{
	background-size: 7vmin;
	padding: 0 0 0 10vmin;
	margin: 8vmin 0;
}
.trouble .lead{
	font-size: 4vmin;
	margin: 10vmin 0 0;
}
.trouble .lead .sizeA{
	font-size: 10vmin;
}
.trouble .lead .sizeB{
	font-size: 6vmin;
}

.feature{
 padding: 3.75vmin;
}
.feature .wrap{
 padding:5vmin 3.75vmin;
}
.feature h2{
 font-size: 7vmin;
}
.feature h2 span{
 font-size: 9vmin;
}
.feature01{
 margin: 8vmin 0 0;
	background-size: 70%;
 padding: 4vmin 0 0;
	flex-direction: column-reverse;
}
.feature01 .txt_area{
 width: auto;
	text-align: left;
}
	.feature01 > div,
	.feature02 > div,
	.feature03 > div{
		text-align: center;
		margin-bottom: 4vmin
	}
	.feature01 > div > img,
	.feature02 > div > img,
	.feature03 > div > img{
		width: 60vmin;
	}
.feature02{
 flex-direction: column-reverse;
 margin: 8vmin 0 0;
 padding: 4vmin 0 0;
	background-size: 70%;
}
.feature02 .txt_area{
 width: auto;
 margin: 0;
	text-align: left;
}
.feature03{
 align-items: stretch;
	flex-direction: column-reverse;
 margin: 8vmin 0 0;
background-size: 70%;
	padding: 4vmin 0 0;
}
.feature03 .txt_area{
 width: auto;
	text-align: left;
}
.feature .title{
 display: flex;
}
	.feature .title p{
		margin: 0;
		width: 9vmin;
	}
.feature .title h3{
 font-size: 5vmin;
 margin: 0 0 0 5vmin;
 line-height: 1.4;
	text-align: left;
}
.feature p{
 font-size: 4vmin;
	line-height: 1.4;
}
.feature .txt_area > :last-child{
 margin: 8vmin 0 0;
	width: auto;
}

.function{
 padding: 8vmin 0;
}
.function h2{
 font-size: 5vmin;
}
.function .list{
 display: flex;
 flex-wrap: wrap;
 padding: 0 4vmin;
 margin: 10vmin 0 0;
	justify-content: space-between;
}
.function .list > div{
 width: 40vmin;
 margin: 0 0 7vmin;
}

.function .list > div h3{
 font-size: 3.6vmin;
}

.function .list .title p{
 margin: 0 3vmin 0 0;
 width: 6vmin;
}
.function .list .title + p{
 line-height: 1.4;
	font-size: 3vmin;
}
.func_scene{
 padding: 3.75vmin;
 margin: 10vmin 0 0;
}
.func_scene h4{
 font-size: 5.5vmin;
 padding: 0 10vmin;
}
.func_scene h4::before, .func_scene h4::after {
  width: 10vmin;
}

.func_scene ul{
 margin: 8vmin 0 0;
 font-size: 2.5vmin;
}
.func_scene ul li{
 width: 27vmin;
 padding: 2vmin 1vmin;
	align-items: center;
	display: flex;
	justify-content: center;
}
.func_scene ul li:nth-last-child(n+4){
 margin-bottom: 3vmin;
}


main > .bg_blue{
 padding: 3.75vmin;
}
.bg_blue .wrap{
 padding: 3.75vmin;
}
.fukidashi_wrap p {
  padding: 4vmin;
 font-size: 3vmin;
 margin: 0 2vmin;
 width: 43vmin;
}

.inner h3{
 font-size: 4.6vmin;
 margin: 8vmin 0 0;
}
.inner h3 + p{
 font-size: 6.5vmin;
 margin: 4vmin 0 0;
}
.consul_box{
	flex-direction: column;
 margin: 5vmin 0 0;
}
.consul_box > div{
 width: auto;
}
.consul_box > div p{
 font-size: 4vmin;
	line-height: 1.2;
}
.consul_box > div p .btn{
 font-size: 5vmin;
}

.member{
 padding: 3.75vmin;
}
.member h2{
 font-size: 6vmin;
}
.member h2 + p{
 margin: 6vmin 0 0;
 font-size: 3.5vmin;
	line-height: 1.4;
}
.mem_box{
 padding: 0 0;
 margin: 4vmin 0 0;
}
.mem_box > div{
 width: 40vmin;
 margin: 4vmin 0 0;
}
.mem_box .title{
 display: flex;
 align-items: center;
}
.mem_box .title p{
 margin: 0 3vmin 0 0;
	width: 10vmin
}
.mem_box .title h3{
 font-size: 3.5vmin;
}
.mem_box .title + p{
 font-size: 2.8vmin;
 margin: 4vmin 0 0;
}


.custom{
 padding: 3.75vmin;
}
.custom .wrap{
 background-color: #fff;
 padding: 3.75vmin;
}
.custom h2{
 font-size: 7vmin;
}

.custom .in_box{
 display: flex;
 justify-content: space-between;
 margin: 10vmin 0;
}
.custom .in_box > div{
 width: 26vmin;
}
.custom .in_box > div h4{
 margin: 4vmin 0;
	font-size: 3vmin;
}
.custom .in_box > div p{
 margin: 0;
 font-size: 3vmin;
 line-height: 1.4;
}
.custom h3{
 font-size: 4vmin;
  padding: 0 0 3vmin;
 margin: 0 0 10vmin;
}
.custom h3 + p{
 margin: 0;
}

.custom h3 + p + p{
 margin: 3.75vmin;
 font-size: 3.2vmin;
}

.flexible{
 
}
.flexible .wrap{
 padding: 20vmin 3.75vmin 5vmin;
}
.flexible h2{
 font-size: 6.5vmin;
	line-height: 1.6;
}
.flexible h2 .tobi{
 font-size: 5vmin;
 padding: 0 8vmin;
 left: 0;
	right: 0;
	width: 60vmin;
 top: -12vmin;
	transform: rotate(0);
}
.flexible h2 .tobi::before, .flexible h2 .tobi::after {
  width: 8vmin;
}
.flexible_box{
 width: auto;
 margin:10vmin auto 0;
}
.flexible_box > div{
 width: auto;
 margin: 0 0 10vmin;
}
.flexible_box > div > p{
 padding: 0 6vmin 0 0;
 flex: 0 0 22vmin;
}
.flexible_box > div h3{
 font-size: 4.5vmin;
}
.flexible_box > div div p{
 font-size: 3.5vmin;
 margin: 3vmin 0 0;
}



.api{
 padding: 3.75vmin;
}
.api .wrap{
 padding: 3.75vmin;
}
.api h2{
 font-size: 6vmin;
}
.api h2 + p{
 margin: 10vmin 0 0;
	font-size: 3.5vmin;
	line-height: 1.4;
}

.api h3{
 font-size: 4vmin;
padding: 0 0 3vmin;
margin: 10vmin 0 5vmin;
}
.api h3 + p{
 margin: 0;
}

.inquiry{
 background-color: #0387b4;
}
.inquiry .wrap{
 width: auto;
 padding: 3.75vmin;
}
.inquiry h2{
 font-size: 5vmin;
 margin: 0 0 5vmin;
 line-height: 1;
}
.inquiry h2 + p{
 font-size: 3.5vmin;
}
.inquiry .in_box{
 padding: 3.75vmin;
 margin: 6vmin 0 0;
}
.inquiry .in_box p{
 margin: 3vmin 0 0;
	text-align: center;
}
.inquiry .in_box .flex{
 display: flex;
 align-items: center;
}
.inquiry .in_box .first{
 margin: 0 0 5vmin;
 padding: 0 0 5vmin;
	flex-direction: column;
}
.in_box .flex .flex p:first-of-type{
 width: auto;
 text-align: center;
}
	.in_box .flex .flex p{
		margin: 0 1vmin;
	}
	.inquiry .in_box .first + .flex{
		flex-direction: column;
	}
	
.in_box .flex .flex p{
	font-size: 4.2vmin;
}
.right_box{
 width: 100%;
}
.right_box b{
 font-size: 6vmin;
}

.appeal .wrap{
	padding:8vmin 3.75vmin;
}
.appeal h2{
 font-size: 6vmin;
 margin: 5vmin 0;
}
.appeal .appeal_sub{
 font-size: 4vmin;
 padding: 0 10vmin;
}
.appeal .appeal_sub::before, .appeal .appeal_sub::after {
  width: 8vmin;
}

.appeal .txt01{
	font-size: 3.5vmin;
	font-weight: bold;
	line-height: 1.4;
}
.appeal .list01{
	margin: 5vmin 0 10vmin;
}

.appeal .list01 li{
	width: 20vmin;
}
.appeal .desk{
	width: auto;
	margin: 10vmin 0;
	flex-direction: column;
}
.appeal .desk > p{
	margin: 0;
}
.appeal .desk ul{
	width: auto;
	margin: 4vmin 0;
}
.appeal .desk ul li{
	width: 28vmin;
}

.case{
	
}
.case .wrap{
	padding:6vmin 3.75vmin 3.75vmin;
}
.case h2{
	font-size: 8vmin;
}
.case .title_eng{
	font-size: 4vmin;
	margin: 5vmin 0 10vmin;
}
.case .title_eng + p{
	font-size: 4vmin;
}
.case_list{
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0 auto;
}
.case_detail{
	margin: 3.75vmin 0 0;
	background-color: #fff;
	flex-direction: column;
	padding: 3.75vmin;
}

.case_detail > p{
	margin: 0 0 3.75vmin;
}
.case_detail h3{
	margin: 0 0 4vmin;
	font-size: 5vmin;
}
.case_detail div p{
	font-size: 4vmin;
}
.case_detail div p + p{
	margin: 4vmin 0 0;
}

.company{
	margin: 0;
	padding: 10vmin 0;
}
.company p{
	margin: 0 auto 55px;
	width: 290px;
	text-align: center;
}
.company p img{
	width: 100%;
}
.company table{
	width: auto;
	font-size: 4vmin;
	line-height: 1.4;
}
.company table td,
.company table th{
	background: none;
	padding: 3vmin 3vmin 6vmin 6vmin;
	display: block;
}
.company table th{
	padding: 3vmin;
	font-weight: bold;
	background-color: #f2f9fb;
}
 .company table th::after{
	display: none;
}

.company table tr:nth-child(even) th{
	background-color: #f2f9fb;
}

.fix_bar{
	background-color: #fff;
}

.fix_bar .item01 {
	order: 1;
}
.fix_bar .item02 {
	order: 3;
}
.fix_bar .item03 {
	order: 2;
}

.fix_bar .wrap{
	width: auto;
	padding:3.75vmin;
	flex-direction: column;
	align-items: stretch;
}

.fix_bar p:first-of-type{
	font-size: 3.5vmin;
	margin: 0 0 3vmin;
}



/* フッター
***************************************************************************************/
footer{
 background-color: #ebebeb;
 padding: 6vmin 0;
}
footer .wrap{
	align-items: center;
 padding: 0 0;
	flex-direction: column-reverse;
}
footer .wrap p{
 margin: 0;
 line-height: 1;
 font-size: 3.5vmin;
}
footer .wrap ul{
 margin: 3vmin 0;
 font-size: 3.5vmin;
}
footer .wrap ul li{
 margin: 0 5vmin;
}
footer .wrap ul a{
 color: inherit;
}

}

