@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .float_btn_contets {
    background:rgba(255,255,255,.8);
    text-align:center;
    width:100%;
    height:84px;
    position:fixed;
    bottom:0;
    left:0;
    z-index:100000;
    opacity:0;
    transition:opacity .3s ease-in-out;
}
#main .float_btn_contets .btnBox,
#main .float_btn_contets .mvbtnBox {
    height:84px;
    align-items:center;
    display:flex;
    justify-content:center;
    box-sizing:border-box;
 /*padding-bottom:12px;*/
}
#main .movieBox {
	position: relative;
    padding: 80px 0 50px;
    background-image: linear-gradient(90deg, #c5e9f8 0%, #cad1f2 55%, #d4c7f4 100%);
}

#main .movieBox h2 {
    display: inline-block;
    font-size: 4.8rem;
    line-height: 1.06;
    letter-spacing: 0.03em;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 0;
}
#main .movieBox h2:after {
    display: none;
}
#main .movieBox .ttlexp {
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: bold;
}
#main .movieBox .listUl {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-evenly;*/
}
#main .movieBox .listUl li {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0;
    font-size: 1.5rem;
    line-height: 1.73;
    letter-spacing: 0.05em;
    box-sizing: border-box;
}
#main .movieBox .listUl li:nth-of-type(1){
    width: 376px;
}
#main .movieBox .listUl li:nth-of-type(2){
    width: 340px;
    margin-right: 24px;
}
#main .movieBox .listUl li:nth-of-type(3){
    width: 340px;
}
#main .movieBox .listUl li div.movie_contents {
    width: 340px;
    height: 191px;
    box-shadow: 0px 10px 32px 0px rgba(26, 38, 63, 0.16);
}
#main .movieBox .listUl li p.mexp {
    width: 340px;
    font-size: 1.6rem;
    text-align: center;
    margin-top: 15px;
}
#main .newsBox {
	position: relative;
    padding: 53px 0 60px;
    background-color: #f5f5f7;
}
#main .newsBox .content {
    /*max-width: 960px;*/
}
#main .newsBox .content .headLine01 {
    z-index: 5;
}
#main .newsBox h2 a {
    margin-top: 3px;
    padding-right: 22px;
    display: inline-block;
    color: #484848;
    font-size: 1.6rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
#main .newsBox h2 a:after {
    position: absolute;
    right: 2px;
    top: 10px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #484848;
    border-right: 1px solid #484848;
    transform: rotate(45deg);
    content: "";
}
#main .newsBox .newsDl {
    overflow: hidden;
}
#main .newsBox .newsDl dt {
    float: left;
    display: flex;
    align-items: flex-start;
    color: #767676;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
}
#main .newsBox .newsDl dt .txtSpan {
	min-width: 138px;
}
#main .newsBox .newsDl dt .tag {
    padding: 2px;
    min-width: 150px;
    color: #1c85d9;
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
    border: 1px solid #1c85d9;
    border-radius: 3px;
    letter-spacing: 0.2em;
    box-sizing: border-box;
}
#main .newsBox .newsDl dd {
    margin-bottom: 8px;
    padding: 0 0 8px 23.2em;
    font-size: 1.3rem;
    letter-spacing: 0.05em;
    border-bottom: 1px solid rgba(57, 57, 57, 0.1);
}
#main .newsBox .newsDl dd:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
#main .newsBox .listUl {
    margin: 30px 0 0;
    padding: 10px 28px 10px 64px;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
#main .newsBox .listUl li {
    font-size: 1.6rem;
    font-weight: bold;
    padding: 0 0px 0;
    line-height: 1.73;
    letter-spacing: 0.05em;
    text-align: left;
    box-sizing: border-box;
}
#main .newsBox .listUl li:nth-of-type(1) {
    padding: 0 42px 0 0;
}
#main .newsBox .listUl li:nth-of-type(2) {
    padding: 5px 0 0 42px;
}
#main .newsBox .listUl li:nth-of-type(1):after{
    position: absolute;
    left: 509px;
    top: 27px;
    width: 2px;
    height: 126px;
    border-right: 2px solid #2655CC;
    content: "";
}
#main .reasonBox {
    padding: 65px 0 71px;
}
#main .reasonBox .ttlBox {
    text-align: center;
}
#main .reasonBox .ttlBox h2 {
    margin-bottom: 80px;
    padding-bottom: 0;
    display: inline-block;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .reasonBox .ttlBox h2:after {
    display: none;
}
#main .reasonBox .ttlBox h2 .large {
    margin-top: 13px;
    font-size: 6.4rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
}
#main .reasonBox .listUl {
    margin: 0 -10px;
    display: flex;
    flex-wrap: wrap;
}
#main .reasonBox .listUl li {
    width: 33%;
    padding: 0 15px;
    font-size: 1.5rem;
    line-height: 1.73;
    letter-spacing: 0.05em;
    text-align: center;
    box-sizing: border-box;
}
#main .reasonBox .listUl li img {
    display: block;
    margin: 0 auto;
}
#main .reasonBox .listUl .ttl {
    display: inline-block;
    margin: 21px 0 19px;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
#main .reasonBox .listUl .ttl > span {
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .reasonBox .listUl .ttl small {
    font-size: 1.6rem;
}
#main .reasonBox .listUl .ttl02 {
    margin: 10px 0 7px;
}
/**/
#main .unnecessaryBox {
    margin-top: 10px;
    padding: 74px 0 56px;
    background-color: #f5f5f7;
}
#main .unnecessaryBox .ttlBox {
    text-align: center;
}
#main .unnecessaryBox .ttlBox h2 {
    margin-top: 56px;
    font-size: 4.8rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
    color: #2296F3;
}
#main .unnecessaryBox .ttlBox h2.headLine01 {
    margin-bottom: 0;
    padding-bottom:0;
}
#main .unnecessaryBox .ttlBox h2:after {
    display: none;
}

#main .unnecessaryBox .listUl {
    margin: 0 -10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#main .unnecessaryBox .listUl li {
    width: 150px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
    line-height: 1.73;
    letter-spacing: 0.05em;
    text-align: center;
    box-sizing: border-box;
}
#main .unnecessaryBox .listUl .ttl {
    display: inline-block;
    width: 120px;
    position: relative;
    font-size: 3.4rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
#main .unnecessaryBox .listUl .ttl:after {
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 10px;
    background-image: linear-gradient(90deg, #0d93dd 0%, #3658d9 55%, #b043de 100%);
    opacity: 0.6;
    content: "";
}
#main .unnecessaryBox .listUl .ttl > span {
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/**/
#main .effectBox {
    padding: 65px 0 71px;
    background-image: linear-gradient(145deg, #c5ebf9 0%, #cad1f2 55%, #d4c7f4 100%);
}
#main .effectBox .ttlBox {
    text-align: center;
}
#main .effectBox .ttlBox h2 {
    margin-bottom: 80px;
    padding-bottom: 0;
    display: inline-block;
    font-size: 6.4rem;
    line-height: 1.1;
    letter-spacing: 0.1em;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .effectBox .ttlBox h2:after {
    display: none;
}

#main .effectBox .listUl {
    margin: 0 -10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
#main .effectBox .listUl li {
    width: 23%;
    height: 150px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 0 15px;
    font-size: 1.5rem;
    line-height: 1.73;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    /*box-shadow: 6px 6px 0px 0px rgba(38, 85, 204, 0.5);*/
    box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.2);
}
#main .effectBox .listUl .ttl {
    display: inline-block;
    position: relative;
    font-size: 2.7rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.2;
}
#main .effectBox .listUl .ttl:after {
    position: absolute;
    left: 0;
    bottom: -10px;
    width: 100%;
    height: 6px;
    background-image: linear-gradient(90deg, #0d93dd 0%, #3658d9 55%, #b043de 100%);
    opacity: 0.6;
    content: "";
}
#main .effectBox .listUl .ttl > span {
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#main .effectBox .msgTxt {
    margin-top: 60px;
}
#main .effectBox .msgTxt span {
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/**/

#main .addSec {
	padding: 110px 0;
	background: url("../image/index/add_sec_bg.jpg") no-repeat center center;
	background-size: cover;
}
#main .addSec .headLine02 {
	margin-bottom: 61px;
}
#main .addSec .headLine02 .info {
	display: inline-block;
	letter-spacing: 0.1em;
	background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
#main .addSec .detailBox {
	padding-top: 162px;
	position: relative;
	text-align: center;
}
#main .addSec .detailBox .img {
	position: absolute;
	width: 25.2%;
	z-index: 100;
}
#main .addSec .detailBox .img img {
	width: 100%;
}
#main .addSec .detailBox .img01 {
	left: 263px;
	top: -30px;
}
#main .addSec .detailBox .img02 {
	left: 525px;
	top: -28px;
	width: 28.6%;
}
#main .addSec .detailBox .img03 {
	left: -8px;
	top: 77px;
	width: 30.5%;
	z-index: 10;
}
#main .addSec .detailBox .img04 {
	left: 59px;
	top: 246px;
	width: 29.4%;
	z-index: 9;
}
#main .addSec .detailBox .img05 {
	left: -9px;
	top: 413px;
	width: 29.6%;
	z-index: 8;
}
#main .addSec .detailBox .img06 {
	left: 63px;
	top: 592px;
	width: 31.9%;
	z-index: 7;
}
#main .addSec .detailBox .img07 {
	left: auto;
	right: 57px;
	top: 61px;
	width: 28.2%;
	z-index: 9;
}
#main .addSec .detailBox .img08 {
	left: auto;
	right: 7px;
	top: 254px;
	width: 31.3%;
	z-index: 8;
}
#main .addSec .detailBox .img09 {
	left: auto;
	right: 38px;
	top: 430px;
	width: 29.4%;
	z-index: 7;
}
#main .addSec .detailBox .img10 {
	left: auto;
	right: 24px;
	top: 607px;
	width: 29.3%;
	z-index: 6;
}
#main .addSec .comBtn02 {
	margin: 0 auto;
	padding-top: 3px;
}
#main .bgSec {
    padding: 80px 0;
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(145deg, #c5ebf9 0%, #cad1f2 55%, #d4c7f4 100%);
}
#main .storyBox {
	padding: 155px 0 0;
    position: relative;
	/*background: url("../image/index/story_bg.jpg") no-repeat center top;
	background-size: cover;*/
}
#main .storyBox .bg01 {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
#main .storyBox .bg01:after {
    position: absolute;
    left: 0;
    top: 211px;
    height: calc(100% - 208px);
    /*width: calc(50% + 541px);*/
    width: 100%;
    border-radius: 0 8px 0 0;
    background-color: #fff;
    content: "";
}
#main .storyBox .bg01:before {
    position: absolute;
    left: 0;
    top: 239px;
    height: calc(100% - 228px);
    /*width: calc(50% + 549px);*/
    width: 100%;
    border-radius: 0 8px 0 0;
    background-image: -webkit-linear-gradient( 120deg, rgb(38,85,204) 0%, rgb(20,210,244) 100%);
    content: "";
}
#main .storyBox .content {
    position: relative;
    z-index: 1;
	width: auto;
	max-width: 1180px;
    display: flex;
    justify-content: space-between;
}
#main .storyBox .txtBox {
    width: 530px;
}
#main .storyBox .txtBox h2 {
    margin-bottom: 10px;
    padding: 0 0 17px 0;
    color: #666666;
    font-size: 2.9rem;
    line-height: 1.3;
	position: relative;
    letter-spacing: 0.12em;
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .storyBox .txtBox h2 .imgSpan {
	position: absolute;
	right: -129px;
	top: -17px;
}
#main .storyBox .txtBox h2 .large {
    margin: 0 0 40px -10px;
    font-size: 11.5rem;
    line-height: 0.9;
    letter-spacing: 0.18em;
}
#main .storyBox .txtBox h2 .small {
	font-size: 2.7rem;
}
#main .storyBox .txtBox h2:after {
    height:0;
    background-image: linear-gradient(90deg, #18abe6 0%, #5122d5 55%, #5122d5 100%);
}
#main .storyBox .txtBox p {
	font-size: 1.7rem;
    line-height: 1.8;
    letter-spacing: 0.14em;
}
#main .storyBox .txtBox .ttl {
	margin: 0 -10px 0 0;
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1.4;
    color: #2296F3;
	letter-spacing: 0.12em;
}
#main .storyBox .txtBox .ttl span {
    font-size: 5.0rem;
}
#main .storyBox .txtBox .btnBox {
	align-items: center;
	margin-top: 73px;
}
#main .storyBox .txtBox .btnBox .comBtn,
#main .float_btn_contets .btnBox .comBtn {
    margin: 0 16px 0 0;
}
#main .storyBox .txtBox .btnBox .comBtn a,
#main .storyBox .mvbtnBox .comBtn a,
#main .float_btn_contets .btnBox .comBtn a,
#main .float_btn_contets .mvbtnBox .comBtn a {
	/*width: 260px;*/
    width: 160px;
    max-width: 185px;
	font-size: 1.6rem;
    line-height: 1.3;
	letter-spacing: 0.02em;
    /*padding: 0 8px;*/
}
#main .storyBox .txtBox .btnBox .comBtn span,
#main .storyBox .mvbtnBox .comBtn span,
#main .float_btn_contets .btnBox .comBtn span,
#main .float_btn_contets .mvbtnBox .comBtn span {
	padding-right: 30px;
    /*padding-right: 24px;*/
}
#main .storyBox .txtBox .btnBox .comBtn span.txt,
#main .storyBox .mvbtnBox .comBtn span.txt,
#main .float_btn_contets .btnBox .comBtn span.txt,
#main .float_btn_contets .mvbtnBox .comBtn span.txt {
    display: inline;
    background:none;
    padding-right: 0;
}
#main .storyBox .txtBox .btnBox .comBtn02,
#main .storyBox .mvbtnBox .comBtn02,
#main .float_btn_contets .btnBox .comBtn02,
#main .float_btn_contets .mvbtnBox .comBtn02 {
	/*margin: 0 0 0 33px;*/
    padding: 0 0 0 1px;
}
#main .storyBox .txtBox .btnBox .comBtn02 a,
#main .storyBox .mvbtnBox .comBtn02 a,
#main .float_btn_contets .btnBox .comBtn02 a,
#main .float_btn_contets .mvbtnBox .comBtn02 a {
	font-size: 1.6rem;
	width: 166px;
    min-width: 166px;
}
#main .storyBox .photoBox {
    margin: 0 -150px 0 0;
    min-width: 641px;
}
#main .storyBox .photoBox .pointList {
    margin: 0 0 53px 35px;
    display: flex;
    flex-wrap: wrap;
}
#main .storyBox .photoBox .pointList li {
    margin-left: 43px;
    width: 180px;
    height: 180px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(90deg, #2693df 0%, #406cdc 50%, #a086e3 100%);
    border-radius: 50%;
}
#main .storyBox .mainvisual {
    width: 1180px;
}
#main .storyBox .mainvisual .img {
    width: 1180px;
}
#main .storyBox .mainvisual h2 {
    color: #fff;
    font-size: 3.4rem;
    line-height: 1.1;
	position: absolute;
    top: 10px;
    left: 20px;
    letter-spacing: 0.12em;
    display: inline-block;
}

#main .storyBox .mainvisual .msg {
    width: 100%;
    position: absolute;
    top: 165px;
    left: 0px;
    z-index: 10;
    color: #fff;
    font-weight: bold;
    text-align: center;
    text-shadow: 00px 0px 10px rgba(0, 0, 0, 1);
}
#main .storyBox .mainvisual .msg01 {
    font-size: 4.6rem;
    line-height: 1.1;
    letter-spacing: 0.06em;
}
#main .storyBox .mainvisual .msg02 {
    font-size: 3.4rem;
    line-height: 1.6;
    letter-spacing: 0.08em;
}
#main .storyBox .mainvisual .msg01 .small {
    font-size: 3.2rem;
}

#main .storyBox .mainvisual .msg01 .large{
    font-size: 5.2rem;
}

#main .storyBox .mvbtnBox{
    position: absolute;
    bottom: -64px;
    left: 50px;
    width: 1080px;
    height: 100px;
    border-radius: 50px;
    background-color: #F5F7FC;
    box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.1);
    justify-content: center;
    align-items: center;
}

#main .storyBox .mvbtnBox .comBtn a,
#main .float_btn_contets .mvbtnBox .comBtn a{
    width: 200px;
    max-width: 200px;
    height: 60px;
}
#main .storyBox .mvbtnBox .comBtn.online,
#main .float_btn_contets .mvbtnBox .comBtn.online{
    margin: 0 20px 0 0;
}
#main .storyBox .mvbtnBox .comBtn.inquire,
#main .float_btn_contets .mvbtnBox .comBtn.inquire{
    margin: 0 30px 0 0;
}
#main .feasibilityBox {
    padding: 0 0 30px;
    color: #fff;
    background: url("../image/index/description_bg.jpg") no-repeat center top/cover;
    position: relative;
    margin-top: 40px;
}
#main .feasibilityBox .mvbtnBox {
    display: none;
}
#main .feasibilityBox .content{
    position: relative;
}
#main .feasibilityBox .txtFb {
    width: 800px;
    position: absolute;
    top: 92px;
    left: 140px;
    z-index: 5;
}

#main .feasibilityBox .txtFb .listTxt {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#main .feasibilityBox .txtFb .listTxt li {
    font-size: 3.0rem;
    line-height: 1.38;
    letter-spacing: 0.12em;
    font-weight: bold;
    text-align: center;
}
#main .feasibilityBox .txtFb .listTxt li:nth-of-type(1) {
    padding-left: 95px;
}
#main .feasibilityBox .txtFb .listTxt li:nth-of-type(3) {
    padding-left: 270px;
    margin-top: 32px;
}
#main .feasibilityBox .txtFb .listTxt li:nth-of-type(4) {
    padding-left: 140px;
    margin-top: 166px;
    font-size: 3.2rem;
}
#main .feasibilityBox .txtFb .listTxt li span {
    color:#5DDDF4;
}
#main .feasibilityBox .resultTxt {
    display: none;
}
#main .feasibilityBox .listUl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#main .feasibilityBox .listUl li {
    width: 50%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
}
#main .feasibilityBox .listUl li:nth-of-type(2) {
    justify-content: end;
}
#main .feasibilityBox .listUl li .mac {
    margin: 15px 0 0 -87px;
}	
#main .feasibilityBox .listUl li .iphone {
    margin: 9px -90px 0 0;
}
#main .awardBox {
    padding: 20px 0;
}
#main .awardBox .awardTtl {
    color: #333;
    font-size: 3rem;
    line-height: 1.33;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    text-align: center;
}
#main .awardBox .no{
    margin: -14px 18px 0 0;
}
#main .awardBox .aw{
    margin: 0 30px 0 0;
}
#main .bnr_magazine {
    width: 100%;
    text-align: center;
    margin: 50px 0 0;
}
#main .caseBox .bnr_magazine {
    margin: 100px 0 -70px;
}
#main .serviceBox {
    margin-bottom: 84px;
}
#main .serviceBox .listUl {
    margin: 0 -32px 60px;
    display: flex;
}
#main .serviceBox .listUl > li {
    padding: 0 32px;
    width: calc(100%/3);
    position: relative;
    text-align: center;
    box-sizing: border-box;
}
#main .serviceBox .listUl > li:after {
    position: absolute;
    right: 0;
    top: 60px;
    width: 2px;
    height: calc(100% - 70px);
    background-color: #e9eefa;
    content: "";
}
#main .serviceBox .listUl > li:last-child:after {
    display: none;
}
#main .serviceBox .listUl > li h4 {
    display: inline-block;
    margin-bottom: 25px;
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    background-image: -webkit-linear-gradient(left, #2376d8, #2d49cc 50%, #4034d1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .serviceBox .listUl > li ul {
    margin-top: -32px;
}
#main .serviceBox .listUl > li li {
    margin-top: 32px;
    padding: 28px 10px;
    color: #2b4dcc;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.08em;
    background-color: #f5f5f7;
    border-radius: 40px;
}
#main .advantage {
    padding: 80px 0;
    position: relative;
}
#main .advantage:after {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: calc(50% + 480px);
    border-radius: 8px;
    background-color: #f5f5f7;
    content: "";
}
#main .advantage .content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#main .advantage .lBox {
    width: 520px;
    padding: 40px 40px 35px;
    border-radius: 8px;
    background-image: linear-gradient(90deg, #18a9e5 0%, #2b4ccc 55%, #5220d5 100%);
    box-sizing: border-box;
}
#main .advantage .lBox .title {
    margin-bottom: 25px;
    padding: 9px;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    border-radius: 8px;
}
#main .advantage .lBox .title span {
    display: inline-block;
    letter-spacing: 0.08em;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 70%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .advantage .lBox .imgTxt {
    padding-bottom: 32px;
    margin-bottom: 27px;
    position: relative;
    text-align: center;
    border-bottom: 1px solid #fff;
}
#main .advantage .lBox .imgTxt .num01 {
    font-size: 8.5rem;
    color: #fff;
    position: absolute;
    top: 2px;
    left: 20px;
    letter-spacing: -0.02em;
}
#main .advantage .lBox .imgTxt .num02 {
    color: #fff;
    font-size: 8.5rem;
    position: absolute;
    top: 2px;
    right: 40px;
    letter-spacing: -0.02em;
}
#main .advantage .lBox .notesList li {
	padding-left: 1em;
	text-indent: -1em;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.67;
}
#main .advantage .rBox {
    margin-top: -15px;
    width: 520px;
    position: relative;
}
#main .advantage .rBox .campaign {
    position: absolute;
    top:-80px;
    right: 20px;
}
#main .advantage .rBox h3 .large {
    font-size: 4.8rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
#main .advantage .rBox h3:after {
    display: none;
}
#main .advantage .rBox h4 {
    margin-bottom: 29px;
    padding-bottom: 28px;
    position: relative;
    font-size: 3rem;
    line-height: 1.6;
    letter-spacing: 0.1em;
}
#main .advantage .rBox h4:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    background-image: linear-gradient(90deg, #18abe6 0%, #5122d5 55%, #5122d5 100%);
    content: "";
}
#main .advantage .rBox p {
    margin-bottom: 37px;
    line-height: 2.18;
    letter-spacing: 0.04em;
}
#main .advantage .rBox .comBtn02 {
    margin-left: 0;
    text-align: left;
}
#main .business {
    padding: 114px 0 80px;
}
#main .business h2 {
    margin-bottom: 95px;
}
#main .business .listUl {
    margin: -205px 0 185px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#main .business .listUl li {
    margin-top: 205px;
    width: 48.1%;
    padding: 70px 40px 0;
    position: relative;
    background-color: #f2f3f7;
    border-radius: 8px;
    box-sizing: border-box;
}
#main .business .listUl .num {
    position: absolute;
    left: 20px;
    top: -45px;
    display: inline-block;
    font-size: 8.8rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.02em;
    font-family: futura-pt, sans-serif;
    background-image: -webkit-linear-gradient(-45deg, #1184db, #4d51da 50%, #bb42de);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .business .listUl .btn_movie {
    display: block;
    position: absolute;
    right: 20px;
    top: 10px;
    display: block;
    cursor: pointer;
}
#main .business .listUl .btn_movie span {
    display: inline-block;
    padding-left: 36px;
    background: url(../image/common/icn_movie.png) no-repeat left center;
    background-size: 28px 28px;
    font-size: 1.4rem;
    line-height: 28px;
    letter-spacing: 0.05em;
}
#main .business .headLine01 {
    margin-bottom: 40px;
    padding-bottom: 30px;
    color: #333;
    font-size: 3rem;
    line-height: 1.33;
    letter-spacing: 0.1em;
}
#main .business .headLine01.h3Ttl {
    margin-right: 55px;
}
#main .business .headLine01:after {
    height: 6px;
    background-image: linear-gradient(90deg, #0d93dd 0%, #3658d9 55%, #b043de 100%);
}
#main .business .headLine01 span {
    min-height: 78px;
    display: flex;
    align-items: center;
}
#main .business p {
	margin-bottom: 10px;
    line-height: 2.18;
    letter-spacing: 0.05em;
}
#main .business .photo {
    margin: -140px -40px 0;
    text-align: center;
    transform: translateY(145px);
    cursor: pointer;

}
#main .business .comBtn02 {
    margin-bottom: 40px;
}
#main .business .link {
    margin: 0 auto;
    max-width: 564px;
}
#main .business .link a {
    display: block;
    padding: 30px 45px 35px;
    position: relative;
    line-height: 1.75;
    letter-spacing: 0.05em;
    background: url("../image/index/link_bg.jpg") no-repeat center top;
}
#main .business .link a:hover {
    opacity: 0.7;
}
#main .business .link a .large {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}
#main .business .link a .large .en {
    font-size: 2.7rem;
}
#main .business .link a img {
    position: absolute;
    right: 28px;
    top: 52px;
}
#main .business .banner {
    margin: 60px auto 0;
    text-align: center;
}

#main .business .banner img {
    width:60%; 
}
#main .caseBox {
    margin-bottom: 118px;
    padding: 110px 0 176px;
    background-color: #171a2f;
}
#main .caseBox h2 {
    margin-bottom: 82px;
    color: #fff;
}
#main .caseBox .slideBox {
    position: relative;
}
#main .caseBox .slideBox .prev, #main .caseBox .slideBox .next {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    cursor: pointer;
    transition: .3s;
}
#main .caseBox .slideBox .prev {
    margin-left: -574px;
}
#main .caseBox .slideBox .next {
    margin-left: 555px;
}
#main .caseBox .caseList .slick-slide {
    width: 1080px;
    margin: 0 25px;
    opacity: 0.1;
}
#main .caseBox .caseList .slick-slide.slick-current {
    opacity: 1;
}
#main .caseBox .caseList .slick-slide li {
    display: flex !important;
    border-radius: 8px;
    overflow: hidden;
}
#main .caseBox .caseList .txtBox {
    padding: 37px 48px;
    width: 50%;
    box-sizing: border-box;
    background: #fff url("../image/index/case_bg.png") no-repeat left top/100% 100%;
}
#main .caseBox .caseList .txtBox .num {
    margin-bottom: 30px;
    display: inline-block;
    font-size: 8rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0;
    font-family: futura-pt, sans-serif;
    background-image: -webkit-linear-gradient(-45deg, #1184db, #4d51da 50%, #bb42de);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .caseBox .caseList .txtBox h3 {
    margin-bottom: 12px;
    font-size: 3.2rem;
    letter-spacing: 0.1em;
}
#main .caseBox .caseList .txtBox h3 .en {
    display: block;
    color: #858790;
    font-size: 1.8rem;
    letter-spacing: 0;
}
#main .caseBox .caseList .txtBox p {
    margin-bottom: 67px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.08em;
}
#main .caseBox .caseList .txtBox .comBtn02 {
    text-align: left;
    margin-left: 0;
}
#main .caseBox .caseList .photoBox {
    flex: 1;
}
#main .caseBox .caseList .photoBox img {
    width: 100%;
}
#main .midBox h2 {
    margin-bottom: 100px;
}
#main .priceBox {
    margin: 80px 0 120px;
}
#main .priceBox .bgBox {
    /*padding: 0 140px 0 147px;*/
    padding: 0;
}
#main .priceBox .tabBox {
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
}
#main .priceBox .tabBox .lBox {
    width: 230px;
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
	box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.08);
}
#main .priceBox .tabBox .rBox {
    width: 530px;
    border-radius: 8px;
    overflow: hidden;
	box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.08);
}
#main .priceBox .tabBox .rBox .simplebar {
    height: 245px;
}
#main .priceBox table {
    width: 100%;
    border-spacing: 0;
}
#main .priceBox table tbody {
    max-height: 245px;
}
#main .priceBox th, #main .priceBox td {
    width: 160px;
    padding: 12px 10px;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
    border-bottom: 1px solid rgba(204, 204, 204, 0.5);
    border-right: 1px solid rgba(204, 204, 204, 0.5);
}
#main .priceBox th:last-child, #main .priceBox td:last-child {
    border-right: none;
}
#main .priceBox thead th {
    background: linear-gradient(90deg, #c3e3f6 0%, #ccd5f5 55%, #ebd0f7 100%);
}
#main .priceBox thead th {
    padding: 20px 15px;
    font-size: 1.5rem;
    border-bottom: none;
    border-color: #d0cfe1;
}
#main .priceBox thead th sup {
    font-size: 1rem;
}
#main .priceBox td .large {
    margin-top: 12px;
    font-size: 2.4rem;
    display: block;
}
#main .priceBox td .large span {
    font-size: 7.2rem;
    line-height: 1;
    vertical-align: -2px;
}
#main .priceBox .tabBox .lBox td {
    height: 220px;
}
#main .priceBox .rBox thead th {
    background: linear-gradient(90deg, #c3e3f6 0%, #c7d9f5 100%);
}
#main .priceBox .rBox thead th:nth-child(2) {
    background: linear-gradient(90deg, #c7d9f5 0%, #d4d3f6 100%);
}
#main .priceBox .rBox thead th:nth-child(3) {
    background: linear-gradient(90deg, #d5d3f6 0%, #ebd0f7 100%);
}
#main .priceBox .notes {
    color: #777;
    font-size: 1.2rem;
    line-height: 1.33;
    margin-bottom: 50px;
}
.simplebar-track.simplebar-vertical {
    width: 8px;
    right: 5px;
}
.simplebar-scrollbar::before {
    background-color: #ccc;
    opacity: 1 !important;
}
/**/
#main .priceBox .listUl,
#main .priceBox .listUl_b{
    margin: 0 -10px 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
}
#main .priceBox .listUl li,
#main .priceBox .listUl_b li {
    width: 45%;
    height: 350px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: start;
    line-height: 1.73;
    letter-spacing: 0.05em;
    text-align: center;
    background-color: #fff;
    border-radius: 16px;
    box-sizing: border-box;
    background-color: #fff;
    box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.08);
}
#main .priceBox .listUl_b li {
    /*align-items: stretch;*/
    padding: 15px;
    width: 23%;
    min-height: 150px;
    background-image: none;
    /*background-color: #fff;*/
    background-color: #f2f3f7;
    box-shadow: none;
}

#main .priceBox .listUl li.plus {
    width: 60px;
    align-content: center;
    font-size: 6rem;
    box-shadow: none;
}
#main .priceBox .listUl li p {
    padding: 0 15px;
}
#main .priceBox .listUl .ttl {
    display: inline-block;
    width: 100%;
    position: relative;
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.2;
    padding: 20px 0;
    margin-bottom: 30px;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(90deg, #c3e3f6 0%, #ccd5f5 55%, #ebd0f7 100%);
}
#main .priceBox .listUl .addnote {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 94px;
    font-size: 2.0rem;
    background-color: #F5F5F7;
    margin: 0 30px 15px;
}
#main .priceBox .listUl .addnote.leftprice {
    font-size: 3rem;
    color: #1C85D9;
    font-weight: bold;
}

#main .priceBox .listUl .addnote span {
    display: inline-block;
    margin-left: 10px;
    font-size: 5.0rem;
    font-weight: bold;
}

#main .priceBox .listUl .addnote.leftprice span {
    margin-left: 16px;
}
#main .priceBox .listUl span.em {
    color: #1C85D9;
}

#main .priceBox .listUl_b .ttl {
    margin-bottom: 10px;
}
#main .priceBox .listUl_b .ttl > span {
    display: inline-block;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
    font-weight: bold;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .priceBox .msgTxt {
    margin-top: 60px;
}
#main .priceBox .msgTxt span {
    display: inline-block;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

#main .priceBox .midTxt {
    margin-bottom: 40px;
    color: #333;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.33;
    letter-spacing: 0.1em;
    text-align: center;
}
#main .priceBox .midTxt_b {
    margin-bottom: 30px;
    color: #333;
    font-size: 2.4rem;
    line-height: 1.33;
    letter-spacing: 0.1em;
    text-align: center;
}
#main .priceBox .contactSec .whiteBox {
	width: 1280px;
	padding: 63px 104px 45px;
	margin: 0 -100px 0;
	background: #fff;
    background-image: -webkit-linear-gradient(left, rgba(6,192,225,0.9), rgba(44,93,217,0.9) 50%, rgba(202,143,230,0.9));
    /*background-image: linear-gradient(90deg, #18a9e5 0%, #2b4ccc 55%, #5220d5 100%);*/
	box-sizing: border-box;
	border-radius: 8px;
}
#main .priceBox .contactSec .whiteBox .headLine02,
#main .priceBox .contactSec .whiteBox .infoBox .txt,
#main .priceBox .contactSec .whiteBox .infoBox .rBox dt,
#main .priceBox .contactSec .whiteBox .infoBox .rBox .link a,
#main .priceBox .contactSec .whiteBox .infoBox .rBox .agree {
    color: #fff;
}
#main .priceBox .contactSec .whiteBox .infoBox .txt {
    font-size: 1.8rem;
}
#main .priceBox .rBox .comBtn {
    width: 340px;
    margin: 0 auto;
}
#main .priceBox .rBox .comBtn a span:after {
    background: none;
}
#main .priceBox .rBox .comBtn a span {
    padding-right: 0;
}
/**/
#main .flowBox {
    margin-bottom: 117px;
	padding: 120px 0;
	background: #f2f3f7;
}
#main .flowBox .headLine02 {
	margin-bottom: 80px;
}
#main .flowBox .content {
	width: 960px;
}
#main .flowList {
    margin: -20px -25px 0 0;
    display: flex;
    flex-wrap: wrap;
}
#main .flowList li {
    margin: 20px 20px 0 0;
    padding: 20px 25px 30px 37px;
    position: relative;
    width: 307px;
    background-color: #fff;
    box-sizing: border-box;
}
#main .flowList li:after {
    position: absolute;
    right: -10px;
    top: 0;
    width: 10px;
    height: 100%;
    background: url("../image/index/flow_bg.png") no-repeat left top;
    content: "";
}
#main .flowList li:last-child:after {
    display: none;
}
#main .flowList h3 {
    margin-bottom: 5px;
    font-size: 1.8rem;
}
#main .flowList h3 .en {
    display: inline-block;
    margin-bottom: 9px;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#main .flowList p {
    margin-bottom: 15px;
    font-size: 1.4rem;
    line-height: 1.65;
    letter-spacing: 0.12em;
}
#main .faqBox {
    margin-bottom: 180px;
}
#main .faqBox .headLine02 {
	margin-bottom: 80px;
}
#main .faqBox .content {
	width: 960px;
}
#main .faqBox .qaDl dd {
    display: none;
}
#main .faqBox .qaDl dt, #main .faqBox .qaDl dd {
    position: relative;
    padding: 25px 71px;
    line-height: 1.75;
    letter-spacing: 0.05em;
    background-color: #fff;
    border-radius: 8px;
}
#main .faqBox .qaDl dt:before, #main .faqBox .qaDl dd:before {
    position: absolute;
    left: 29px;
    top: 23px;
    content: "A";
    font-size: 3.4rem;
    line-height: 1;
    background-image: -webkit-linear-gradient(left, #18abe6, #5122d5 50%, #5122d5);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
}
#main .faqBox .qaDl dt {
    margin: 25px 0 7px;
    padding: 18px 71px;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    cursor: pointer;
    background: linear-gradient(90deg, #1095dd 0%, #2b5ed9 50%, #8843df 100%);
}
#main .faqBox .qaDl dt:first-child {
    margin-top: 0;
}
#main .faqBox .qaDl dt:before {
    content: "Q";
    top: 50%;
    transform: translateY(-50%);
    background-image: -webkit-linear-gradient(left, #fff, #fff 50%, #fff);
}
#main .faqBox .qaDl dt:after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 32px;
    height: 32px;
    transform: translateY(-50%);
    background: url("../image/index/qa_icon02.png") no-repeat left top;
    content: "";
}
#main .faqBox .qaDl dt.on:after {
    background-image: url("../image/index/qa_icon01.png");
}
@media all and (min-width: 768px) {
    #main .mainVisual .txtBox .txt span a:hover {
        text-decoration: underline;
    }
    #main .newsBox h2 a:hover {
        color: #3308af;
    }
    #main .newsBox h2 a:hover:after {
        border-color: #3308af;
    }
    #main .newsBox .newsDl dd a:hover {
        color: #3308af;
        text-decoration: underline;
    }
    #main .contactBox .rBox .comBtn a:hover span {
        background: none;
        color: #fff;
        -webkit-text-fill-color: #fff;
    }
    #main .contactBox .rBox .comBtn a:hover span:after {
        background-image: url("../image/common/video_icon.png");
    }
    #main .caseBox .slideBox .prev:hover, #main .caseBox .slideBox .next:hover {
        opacity: 0.7;
    }
    #main .contactBox .rBox .link a:hover {
        color: #3308af;
    }
}
@media all and (max-width: 767px) {
    #main .float_btn_contets .btnBox .comBtn,
    #main .float_btn_contets .mvbtnBox .comBtn {
        margin: 0 8px 0;
    }
    #main .float_btn_contets .btnBox .comBtn a, {
        height: 62px;
    }
    #main .float_btn_contets .btnBox .comBtn02,
    #main .float_btn_contets .mvbtnBox .comBtn02 {
        display: none;
    }
    #main .float_btn_contets .mvbtnBox .comBtn a {
        width: 160px;
        max-width: 185px;
        height: 60px;
    }
    #main .movieBox{
        padding: 30px 0 40px;
		margin: 0;
    }
    #main .movieBox h2 {
        padding-bottom: 12px;
        /*font-size: 4rem;
        line-height: 1.4;*/
    }
    #main .movieBox .ttlexp {
        /*font-size: 1.6rem;
        line-height: 1.4;*/
    }
    #main .movieBox .listUl {
        margin: 0;
    }
    #main .movieBox .listUl li {
        width: 100%;
        margin-top: 25px;
    }
   
    #main .movieBox .listUl li:nth-of-type(2),
    #main .movieBox .listUl li:nth-of-type(3){
        width: 100%;
        margin-right:0;
    }

    #main .movieBox .listUl li div.movie_contents {
        width:100%;
        height: auto;
    }
    #main .movieBox .listUl li div.movie_contents video#workstory_video{
        display: block;
    }

    #main .movieBox .listUl li p.mexp {
        width: 100%;
    }

    #main .movieBox .listUl li div.movie_contents img {

    }

    #main .newsBox {
        padding: 45px 0 48px;
		margin: 0;
	    background-image: linear-gradient(90deg, #ddf2fb 0%, #dfe6f7 35%, #e5def9 100%);
    }
    #main .newsBox h2 a {
        top: auto;
        bottom: 13px;
        transform: translateY(0);
    }
    #main .newsBox .newsDl dt {
        float: none;
    }
    #main .newsBox .newsDl dd {
        margin: 8px 0;
        padding: 0 0 8px;
    }
    #main .newsBox .listUl {
        margin: 30px 0 0;
        padding: 30px 16px;
    }
    #main .newsBox .listUl li {
        width: 100%;
        text-align: center;
    }
    #main .newsBox .listUl li:nth-of-type(1),
    #main .newsBox .listUl li:nth-of-type(2){
        padding: 0;
        /*padding-bottom: 20px;*/
    }

    #main .newsBox .listUl li:nth-of-type(1) {
        margin-bottom: 10px;
    }
    #main .reasonBox {
        padding: 59px 0;
    }
    #main .reasonBox .ttlBox {
        text-align: center;
    }
    #main .reasonBox .ttlBox h2 {
        margin-bottom: 40px;
        font-size: 2rem;
        text-align: left;
        line-height: 1.6;
        letter-spacing: 0;
    }
    #main .reasonBox .ttlBox h2 .large {
        margin: 9px -10px 0 0;
        font-size: 4.8rem;
        line-height: 1.3;
        letter-spacing: 0;
    }
    #main .reasonBox .listUl {
        margin: -25px -10px 0;
    }
    #main .reasonBox .listUl li {
        width: 50%;
        padding: 25px 5px 0;
        line-height: 1.6;
        letter-spacing: 0;
    }
    #main .reasonBox .listUl .ttl {
        margin: 13px 0 9px;
        font-size: 1.6rem;
        line-height: 1.4;
        display: flex;
        flex-wrap: wrap;
        align-content: center;
        align-items: center;
        justify-content: center;
    }
    #main .reasonBox .listUl .ttl small {
        width: 100%;
        font-size: 1.4rem;
    }

    #main .unnecessaryBox {
        padding: 45px 0;
        margin-top: 0;
    }
    #main .unnecessaryBox .ttlBox {
        text-align: center;
    }
    #main .unnecessaryBox .ttlBox h2 {
        margin-top: 40px;
        font-size: 3.2rem;
        line-height: 1.3;
        letter-spacing: 0;
    }

    #main .unnecessaryBox .listUl {
        margin: 0 -10px;
    }
    #main .unnecessaryBox .listUl li {
        width: 50%;
        height: auto;
        line-height: 1.6;
        letter-spacing: 0;
        margin-bottom: 20px;
    }
    #main .unnecessaryBox .listUl li:last-of-type,
    #main .unnecessaryBox .listUl li:nth-of-type(3) {
        margin-bottom: 0;
    }
    #main .unnecessaryBox .listUl .ttl {
        font-size: 2.8rem;
        line-height: 1.4;
    }

    #main .effectBox {
        padding: 59px 0;
    }
    #main .effectBox .ttlBox {
        text-align: center;
    }
    #main .effectBox .ttlBox h2 {
        margin-bottom: 40px;
        font-size: 4.8rem;
        line-height: 1.3;
        letter-spacing: 0;
    }

    #main .effectBox .listUl {
        margin: -25px -10px 0;
    }
    #main .effectBox .listUl li {
        width: 100%;
        height: 90px;
        line-height: 1.6;
        letter-spacing: 0;
        margin-bottom: 20px;
    }
    #main .effectBox .listUl li:last-of-type {
        height: 110px;
    }
    #main .effectBox .listUl li:last-of-type {
        margin-bottom: 30px;
    }
    #main .effectBox .listUl .ttl {
        font-size: 2.4rem;
        line-height: 1.4;
    }
    #main .effectBox .msgTxt {
        margin-top: 10px;
    }
    #main .bgSec {
        padding: 14px 0 60px;
        background: none;
    }
    #main .storyBox {
		position: relative;
        padding: 90px 0 0;
		/*background: url("../image/index/sp_story_bg.jpg") no-repeat center top;
		background-size: 100% 100%;*/
    }
    #main .storyBox .bg01:after {
        top: 220px;
        height: auto;
		bottom: 6px;
        /*width: calc(100% - 6px);*/
        width: 100%;
    }
	#main .storyBox .bg01::before {
		width: 100%;
		height: auto;
		bottom: 0;
		top: 276px;
	}
    #main .storyBox .content {
        display: block;
		max-width: inherit;
		margin: 0 17px;
    }
    #main .storyBox .txtBox {
        margin-right: 0;
        width: auto;
		padding-bottom: 40px;
    }
    #main .storyBox .txtBox .bnrAward {
        text-align: center;
        margin-bottom: 20px;
    }
    #main .storyBox .txtBox .bnrAward img {
        max-height: 90px;
    }
    #main .storyBox .txtBox h2 {
        margin-bottom: 6px;
        padding: 0 120px 0px 0;
		font-size: 2.1rem;
        line-height: 1.4;
		position: relative;
		box-sizing: border-box;
		max-width: 100%;
    }
	#main .storyBox .txtBox h2::after {
	    height: 0;
		width: 205px;
	}
	#main .storyBox .txtBox h2 .imgSpan {
		right: -34px;
		top: -23px;
		width: 153px;
	}
    #main .storyBox .txtBox h2 .large {
        margin: 0 -20px 0 0;
        font-size: 6.3rem;
        line-height: 0.95;
    }
	#main .storyBox .txtBox h2 .small {
		font-size: 2.2rem;
	}
	#main .storyBox .txtBox .ttl {
		margin: 0 150px 6px 0;
		font-size: 2.0rem;
		line-height: 1.3;
        color:#2296F3;
		letter-spacing: 0.02em;
	}

    #main .storyBox .txtBox .ttl span {
        display: inline-block;
        font-size: 1.5rem;
        margin-bottom: 10px;
    }

    #main .storyBox .txtBox .img {
        width:141px;
    }

	#main .storyBox .txtBox p .small {
		margin-top: 20px;
		color: #777;
		display: block;
		font-size: 0.8rem;
		line-height: 1.2;
	}
    #main .storyBox .txtBox p {
        line-height: 1.5;
		font-size: 1.2rem;
		letter-spacing: 0.06em;
    }
	#main .storyBox .txtBox .btnBox {
		margin-top: 31px;
	}
	#main .storyBox .txtBox .btnBox .comBtn {
		/*width: 100%;*/
        width: 47%;
		margin: 0 auto 17px;
	}
	#main .storyBox .txtBox .btnBox .comBtn a {
		/*padding: 0 0 0 28px;*/
        padding: 0 2px 0 14px;
		width: 100%;
		font-size: 1.8rem;
		letter-spacing: 0.06em;
	}
    #main .storyBox .txtBox .btnBox .comBtn.comBtn01_2 a {
        padding: 0;
    }
	#main .storyBox .txtBox .btnBox .comBtn span {
		/*padding-right: 40px;*/
	}
	#main .storyBox .txtBox .btnBox .comBtn02 {
		margin: 0 auto;
	}
    #main .storyBox .photoBox {
        margin: 142px -27px 0 -32px;
        min-width: inherit;
    }
    #main .storyBox .photoBox .pointList {
        margin: 0 0 30px -27px;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    #main .storyBox .photoBox .pointList li {
        margin: 0 5px;
        width: 90px;
        height: 90px;
        font-size: 1.6rem;
        line-height: 1.25;
        text-align: center;
    }
	#main .storyBox .photoBox {
		position: absolute;
		right: 30px;
		top: 20px;
		width: 172px;
	}
    #main .storyBox .mainvisual {
        width: auto;
    }
    #main .storyBox .mainvisual .img {
        width: auto;
        text-align: center;
        margin: 0 calc(50% - 250px);
    }

    #main .storyBox .mainvisual .img img {
        width: 500px;
    }
    #main .storyBox .mainvisual h2 {
        font-size: 2.0rem;
        top: 5px;
        left: 0px;
    }
    #main .storyBox .mainvisual .msg {
        width: 100%;
        position: absolute;
        top: 135px;
        left: 0px;
    }
    #main .storyBox .mainvisual .msg01 {
        font-size: 2.6rem;
        line-height: 1.1;
        letter-spacing: 0.06em;
        margin-bottom: 5px;
    }
    #main .storyBox .mainvisual .msg02 {
        font-size: 2.0rem;
        line-height: 1.2;
        letter-spacing: 0.08em;
    }
    #main .storyBox .mainvisual .msg01 .small {
        font-size: 2.0rem;
    }
    
    #main .storyBox .mainvisual .msg01 .large{
        display: inline-block;
        font-size: 3.0rem;
    }
    #main .storyBox .mvbtnBox,
    #main .float_btn_contets .mvbtnBox{
        width: 100%;
        left: 0;
    }
    #main .storyBox .mvbtnBox .comBtn a,
    #main .float_btn_contets .mvbtnBox .comBtn a{
        width: 140px;
        font-size: 1.4rem;
        line-height: 1.2;
        padding-left: 0;
    }
    #main .storyBox .mvbtnBox .comBtn.online,
    #main .float_btn_contets .mvbtnBox .comBtn.online{
        margin: 0 10px 0 0;
    }
    #main .storyBox .mvbtnBox .comBtn.inquire,
    #main .float_btn_contets .mvbtnBox .comBtn.inquire{
        margin: 0;
    }
    #main .storyBox .mvbtnBox .comBtn02 {
        display: none;
    }
    #main .feasibilityBox .comBtn a{
        width: 170px;
        height: 50px;
        font-size: 1.4rem;
	    line-height: 1.2;
        padding-left: 0;
    }
    #main .feasibilityBox .mvbtnBox {
        position: absolute;
        bottom: -114px;
        display: flex;
        flex-wrap:wrap;
        width: 100%;
        height: 80px;
        border-radius: 50px;
        background-color: #F5F7FC;
        box-shadow: 0px 10px 10px 0px rgba(0, 0, 0, 0.1);
        justify-content: center;
        align-items: center;
    }
    #main .feasibilityBox {
        padding: 60px 0 64px;
        color: #fff;
        background: url("../image/index/sp_description_bg.jpg") no-repeat center top/cover;
        position: relative;
        margin-top: 30px;
    }
    #main .feasibilityBox .content {
        margin: 0 16px;
    }
    #main .feasibilityBox .txtFb {
        width: 100%;
        position:static;
        top:auto;
        left: auto;
    }
    
    #main .feasibilityBox .txtFb .listTxt {
        width: 100%;
        display:block;
    }
    #main .feasibilityBox .txtFb .listTxt li,
    #main .feasibilityBox .resultTxt {
        font-size: 2.0rem;
        line-height: 1.1;
        letter-spacing: 0.12em;
        font-weight: bold;
        text-align: center;
        margin-bottom: 15px;
    }
    #main .feasibilityBox .txtFb .listTxt li:nth-of-type(1) {
        padding-left: 0;
    }
    #main .feasibilityBox .txtFb .listTxt li:nth-of-type(3) {
        padding-left: 0;
        margin-top: 0;
        margin-bottom: 0;
        line-height: 1.26;
    }
    #main .feasibilityBox .txtFb .listTxt li:nth-of-type(4) {
        display: none;
    }
    #main .feasibilityBox .txtFb .listTxt li span {
        color:#5DDDF4;
    }
    #main .feasibilityBox .resultTxt {
        display: block;
        font-size: 2.2rem;
        line-height: 1.5;
        margin-top: -19px;
        margin-bottom: 0;
    }
    
    #main .feasibilityBox .listUl {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: -42px;
    }
    #main .feasibilityBox .listUl li {
        width: 50%;
        height: auto;
        display: flex;
        flex-wrap: wrap;
    }
    #main .feasibilityBox .listUl li:nth-of-type(2) {
        justify-content: end;
    }
    #main .feasibilityBox .listUl li .mac {
        width:212px;
        max-width: 212px;
        height:auto;
        margin: 5px 0 0 -29px;
    }	
    #main .feasibilityBox .listUl li .iphone {
        width:146px;
        max-width: 146px;
        margin: 0 -4px 0 0;
    }   
    #main .awardBox {
        padding: 80px 0 22px;
        text-align: center;
    }
    #main .awardBox .awardTtl {
        font-size: 2.4rem;
        margin-bottom: 12px;
    }
    #main .awardBox .no{
        margin: 0 0 10px 0;
    }
    #main .awardBox .aw{
        margin: 0 0 10px 0;
    }

    #main .bnr_magazine {
        margin: 30px 0 0;
    }
    #main .caseBox .bnr_magazine {
        margin: 80px 0 -50px;
    }
	#main .addSec {
		padding: 45px 0 33px;
		background-image: url("../image/index/sp_add_sec_bg.jpg");
	}
	#main .addSec .headLine02 {
		margin-bottom: 61px;
	}
	#main .addSec .detailBox {
		padding-top: 20%;
		margin: 0 -32px;
	}
	#main .addSec .detailBox .spImg {
		float: right;
	}
	#main .addSec .detailBox .img {
		width: 40%;
	}
	#main .addSec .detailBox .img01 {
		left: -5%;
		top: 22.6%;
		width: 40%
	}
	#main .addSec .detailBox .img02 {
		left: auto;
		right: -5.3%;
		top: -11.6%;
		width: 44.6%;
	}
	#main .addSec .detailBox .img03 {
		left: 23.5%;
		top: 27%;
		width: 43.8%;
	}
	#main .addSec .detailBox .img04 {
		left: 28.5%;
		top: 0%;
		width: 44%;
	}
	#main .addSec .detailBox .img05 {
		left: 27.8%;
		top: 48.2%;
		width: 38.7%;
	}
	#main .addSec .detailBox .img06 {
		left: -6.6%;
		top: -4.4%;
		width: 49.8%;
	}
	#main .addSec .detailBox .img07 {
		left: 31%;
		right: auto;
		top: 75.8%;
		width: 40.8%;
		z-index: 7;
	}
	#main .addSec .detailBox .img08 {
		left: 0;
		right: auto;
		top: 89%;
		width: 43%;
		z-index: 6;
	}
	#main .addSec .detailBox .img09 {
		left: auto;
		right: 0;
		top: 88.4%;
		width: 51.2%;
		z-index: 5;
	}
	#main .addSec .detailBox .img10 {
		left: -9.5%;
		right: auto;
		top: 56.3%;
		width: 52%;
	}
	#main .addSec .comBtn02 {
		margin: 0 auto;
		padding-top: 128px;
	}
    #main .serviceBox {
        margin-bottom: 50px;
    }
    #main .serviceBox .listUl {
        margin: 0 0 32px;
        display: block;
    }
    #main .serviceBox .listUl > li {
        padding: 0 0 32px;
        margin-bottom: 25px;
        width: auto;
        text-align: left;
        border-bottom: 2px solid #e9eefa;
    }
    #main .serviceBox .listUl > li:after {
        display: none;
    }
    #main .serviceBox .listUl > li:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }
    #main .serviceBox .listUl > li h4 {
        margin-bottom: 15px;
    }
    #main .serviceBox .listUl > li ul {
        margin-top: 0;
        background-color: #f5f5f7;
        border-radius: 24px;
        padding: 20px 28px 38px;
    }
    #main .serviceBox .listUl > li li {
        margin-top: 15px;
        padding: 0 0 0 10px;
        position: relative;
        text-align: left;
        background: none;
        letter-spacing: 0;
    }
    #main .serviceBox .listUl > li li:before {
        position: absolute;
        left: 0;
        top: 0;
        content: "・";
    }
    #main .advantage {
        padding: 30px 0 46px;
    }
    #main .advantage:after {
        width: calc(100% - 32px);
        border-radius: 8px 0 0 8px;
    }
    #main .advantage .content {
        display: block;
    }
    #main .advantage .lBox {
        margin: 0 -32px 0 -20px;
        width: auto;
        padding: 40px 32px 35px 20px;
        border-radius: 8px 0 0 8px;
    }
    #main .advantage .lBox .title {
        margin-bottom: 25px;
        padding: 12px 5px;
        font-size: 2rem;
    }
    #main .advantage .lBox .title span {
        letter-spacing: 0;
    }
    #main .advantage .lBox .imgTxt {
        margin: 0 auto 18px;
        max-width: 311px;
        padding-bottom: 24px;
    }
    #main .advantage .lBox .imgTxt .num01 {
        top: 0;
        left: 22px;
    }
    #main .advantage .lBox .imgTxt .num02 {
        top: auto;
        bottom: 20px;
    }
    #main .advantage .lBox .notesList li {
        line-height: 1.67;
    }
    #main .advantage .rBox {
        margin: 33px 0 0 23px;
        width: auto;
    }
    #main .advantage .rBox .campaign {
        top:-70px;
        right: -70px;
        width: 210px;
    }
    #main .advantage .rBox h3 {
        margin-bottom: 27px;
        padding-bottom: 0;
    }
    #main .advantage .rBox h3 .large {
        margin: 0 -15px 0 0;
        font-size: 4rem;
        line-height: 1.4;
    }
    #main .advantage .rBox h4 {
        padding-bottom: 34px;
        font-size: 2.4rem;
        line-height: 1.35;
    }
    #main .advantage .rBox p {
        line-height: 2;
    }
    #main .business {
        padding: 65px 0 65px;
    }
    #main .business .listUl {
        margin: -45px 0 70px;
        display: block;
    }
    #main .business .listUl li {
        margin-top: 110px;
        width: auto;
        padding: 78px 25px 0;
    }
    #main .business .listUl .num {
        left: 20px;
        top: -40px;
        font-size: 8.8rem;
    }
    #main .business .headLine01 {
        margin-bottom: 30px;
        font-size: 2.4rem;
    }
    #main .business .headLine01.h3Ttl {
        margin-right: 0;
    }
    #main .business .headLine01 span {
        min-height: inherit;
        display: block;
    }
    #main .business p {
        margin-bottom: 15px;
    }
    #main .business .photo {
        margin: -70px -6px 0;
        transform: translateY(70px);
    }
		#main .business li:first-of-type .photo {
			margin-right: -12px;
		}
    #main .business li:nth-child(2), #main .business li:nth-child(3) {
        margin-bottom: 120px;
    }
    #main .business li:nth-child(2) .photo, #main .business li:nth-child(3) .photo {
			margin: -70px -20px 0;
    }
		#main .business li:nth-child(6) .photo {
			margin: -70px -18px 0;
		}
    #main .business li:nth-child(5) .photo {
        margin: -70px -4px 0;
    }
    #main .business .comBtn02 {
        margin-bottom: 40px;
    }
    #main .business .link {
        max-width: 311px;
    }
    #main .business .link a {
        padding: 30px 25px 30px;
        font-size: 1.5rem;
        line-height: 1.6;
        letter-spacing: 0;
        background-image: url("../image/index/sp_link_bg.jpg");
        background-size: 100% 100%;
    }
    #main .business .link a .large {
        margin-bottom: 15px;
        font-size: 2rem;
        line-height: 1.2;
        text-align: center;
        letter-spacing: 0.15em;
    }
    #main .business .link a .large .en {
        font-size: 2.5rem;
    }
    #main .business .link a img {
        right: 25px;
        top: auto;
        bottom: 30px;
        width: 67px;
    }
    #main .business .banner {
        margin: 40px auto 0;
    }
    #main .business .banner img {
        width:94%; 
    }
    #main .caseBox {
        margin-bottom: 54px;
        padding: 57px 27px 106px;
    }
    #main .caseBox h2 {
        margin-bottom: 41px;
    }
    #main .caseBox .slideBox .prev, #main .caseBox .slideBox .next {
        left: -25px;
        width: 18px;
    }
    #main .caseBox .slideBox .prev {
        margin-left: 0;
    }
    #main .caseBox .slideBox .next {
        margin-left: 0;
        left: auto;
        right: -25px;
    }
    #main .caseBox .caseList .slick-slide {
        width: auto;
        margin: 0 5px;
    }
    #main .caseBox .caseList .slick-slide li {
        flex-wrap: wrap;
        border-radius: 4px;
    }
    #main .caseBox .caseList .txtBox {
        padding: 28px 25px;
        width: 100%;
        order: 2;
        background-image: url("../image/index/sp_case_bg.png");
    }
    #main .caseBox .caseList .txtBox .ttl {
        margin-bottom: 10px;
        display: flex;
    }
    #main .caseBox .caseList .txtBox .num {
        margin: 0 7px 0 0;
        font-size: 2.6rem;
        letter-spacing: 0;
    }
    #main .caseBox .caseList .txtBox .job {
        margin-bottom: 0;
        color: #858790;
    }
    #main .caseBox .caseList .txtBox h3 {
        margin-bottom: 15px;
    }
    #main .caseBox .caseList .txtBox p {
        margin-bottom: 0;
        font-size: 1.6rem;
        line-height: 2;
    }
    #main .caseBox .caseList .txtBox .comBtn02 {
        display: none;
    }
    #main .caseBox .caseList .photoBox {
        flex: auto;
        order: 0;
    }
    #main .caseBox .slick-dots {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: -40px;
        display: flex;
        justify-content: center;
        z-index: 10;
    }
    #main .caseBox .slick-dots li {
        margin: 0 6px;
        width: 8px;
        height: 8px;
        border-radius: 50px;
        background: none;
        background-color: #8b8d97;
    }
    #main .caseBox .slick-dots li button {
        display: none;
    }
    #main .caseBox .slick-dots li.slick-active {
        background-image: linear-gradient(135deg, #1b6dda 0%, #6d47d0 100%);
    }
    #main .midBox {
        margin: 0;
        overflow: hidden;
    }
    #main .midBox h2 {
        margin: 0 27px 40px;
        line-height: 1.33;
		text-align: center;
    }
    #main .midBox .bgBox {
        padding: 48px 32px 48px;
        border-radius: 0;
    }
    #main .priceBox {
        margin: 0 0 74px;
    }
    #main .priceBox .bgBox {
        padding: 0 32px;
    }
    #main .priceBox .tabBox {
        margin: 0 auto 10px;
        max-width: inherit;
        display: block;
    }
    #main .priceBox .tabBox .lBox {
        margin-bottom: 30px;
        width: auto;
    }
    #main .priceBox .tabBox .rBox {
        width: auto;
    }
    #main .priceBox th, #main .priceBox td {
        width: 82px;
        font-size: 1.5rem;
        padding: 13px 5px;
        letter-spacing: 0.02em;
    }
    #main .priceBox thead th {
        padding: 21px 5px;
        font-size: 1.4rem;
    }
    #main .priceBox thead th sup {
        font-size: 0.8rem;
    }
    #main .priceBox td .large {
        margin-top: 5px;
    }
    #main .priceBox .tabBox .lBox td {
        padding: 25px 10px;
        height: auto;
        font-size: 1.6rem;
    }
    #main .priceBox .tabBox .rBox td:nth-child(2), #main .priceBox .tabBox .rBox th:nth-child(2) {
        width: 115px;
    }
    #main .priceBox .notes {
        line-height: 1.65;
        margin-bottom: 20px;
    }
    .simplebar::-webkit-scrollbar {
        display: none;
    }
    /**/
    #main .priceBox .listUl,
    #main .priceBox .listUl_b {
        margin: 0 -10px 40px;
    }
    #main .priceBox .listUl li,
    #main .priceBox .listUl_b li {
        width: 100%;
        height: auto;
        line-height: 1.6;
        letter-spacing: 0;
        margin-bottom: 15px;
    }
    #main .priceBox .listUl li {
        padding: 0 0 20px;
    }
    #main .priceBox .listUl li.plus {
        width: auto;
        height: 60px;
        padding: 0;
    }
    #main .priceBox .listUl .ttl {
        font-size: 2.4rem;
        line-height: 1.4;
        margin-bottom: 30px;
    }
    #main .priceBox .listUl .ttl span {
        font-size: 1.6rem;
    }
    #main .priceBox .listUl_b .ttl {
        margin-bottom: 10px;
    }
    #main .priceBox .listUl .addnote {
        font-size: 1.6rem;
    }
    #main .priceBox .listUl .addnote span {
        font-size: 4.0rem;
    }
    #main .priceBox .msgTxt {
        margin-top: 10px;
    }
    #main .priceBox .midTxt {
        margin-bottom: 20px;
        font-size: 2.0rem;
        line-height: 1.33;
        letter-spacing: 0.1em;
    }
    #main .priceBox .midTxt_b {
        margin-bottom: 20px;
        font-size: 2.0rem;
        line-height: 1.33;
        letter-spacing: 0.1em;
    }
    #main .priceBox .contactSec .whiteBox {
		width: auto;
		margin: 0;
		padding: 30px 25px;
	}
    #main .priceBox .contactSec .whiteBox .infoBox .txt {
        margin-bottom: 15px;
    }
    #main .priceBox .rBox .comBtn {
        width: auto;
        margin: 0;
    }
    /**/
    #main .flowBox {
        margin-bottom: 73px;
			padding: 70px 0 80px;
			box-shadow: 0px 2px 18px 2px rgba(3, 3, 3, 0.12);
    }
	#main .flowBox .content {
		width: auto;
	}
    #main .flowBox .headLine02 {
        margin-bottom: 50px;
    }
    #main .flowBox .bgBox {
        box-shadow: 0 0 0;
    }
    #main .flowList {
        margin: -20px 0 0;
        display: block;
    }
    #main .flowList li {
        margin: 20px 0 0;
        padding: 33px 24px 22px;
        width: auto;
    }
    #main .flowList li:after {
        right: 0;
        width: 100%;
        height: 16px;
        top: auto;
        bottom: -16px;
        background-image: url("../image/index/sp_flow_bg.png");
    }
    #main .flowList h3 .en {
        margin-bottom: 3px;
    }
    #main .flowList p {
        margin-bottom: 12px;
        line-height: 1.7;
        letter-spacing: 0.15em;
    }
    #main .flowList .photo img {
        width: 100%;
    }
    #main .faqBox {
        margin-bottom: 80px;
    }
    #main .faqBox .bgBox {
        padding: 0;
    }
		#main .faqBox .headLine02 {
			margin-bottom: 47px;
		}
	#main .faqBox .qaDl dd {
	    box-shadow: 0px 2px 8px 2px rgba(3, 3, 3, 0.05);
		border-radius: 0 0 8px 8px; 
	}
    #main .faqBox .qaDl dt, #main .faqBox .qaDl dd {
        padding: 25px 25px 33px 50px;
    }
    #main .faqBox .qaDl dt:before, #main .faqBox .qaDl dd:before {
        left: 10px;
    }
    #main .faqBox .qaDl dt {
        margin: 20px 0 0;
        padding: 12px 50px;
        display: flex;
        align-items: center;
        min-height: 72px;
        font-size: 1.6rem;
        line-height: 1.5;
        box-sizing: border-box;
    }
    #main .faqBox .qaDl dt:after {
        right: 8px;
    }
	#main .faqBox .content {
		width: auto;
	}
}
@media all and (max-width: 374px) {
	#main .storyBox .txtBox h2 {
		font-size: 1.6rem;
	}
	#main .storyBox .txtBox h2::after {
		width: 155px;
	}
	#main .storyBox .txtBox h2 .large {
		font-size: 4.5rem;
	}
    #main .storyBox .txtBox .ttl .sp {
        display: none!important;
    }

    #main .storyBox .txtBox .ttl {
		font-size: 1.9rem;
		line-height: 1.3;
	}

    #main .storyBox .txtBox .ttl span {
        font-size: 1.4rem;
        margin-bottom: 0;
    }
	#main .storyBox .photoBox {
		width: 171px;
		right: 26px;
	}
    #main .storyBox .photoBox {
        margin: 112px -27px 0 -32px;
    }
	#main .storyBox .txtBox h2 .small {
		font-size: 1.8rem;
	}
    #main .feasibilityBox .txtFb .listTxt li {
        font-size: 1.7rem;
    }
    #main .feasibilityBox .resultTxt {
        display: block;
        font-size: 1.9rem;
        line-height: 1.5;
        margin-top: -19px;
    }
    #main .storyBox .mvbtnBox .comBtn a,
    #main .float_btn_contets .mvbtnBox .comBtn a{
        width: 120px;
    }
    #main .serviceBox .listUl > li ul {
        padding: 20px 5.5vw 38px;
    }
    #main .advantage .lBox .title {
        font-size: 1.9rem;
    }
    #main .advantage .rBox h3 .large, #main .business .headLine01 {
        letter-spacing: 0;
    }
    #main .midBox h2 {
        letter-spacing: 0;
    }
    #main .priceBox th, #main .priceBox td {
        letter-spacing: 0;
        font-size: 1.4rem;
    }
}
@media all and (max-width: 359px) {
    #main .newsBox .newsDl dt .tag {
        min-width: 120px;
    }
    #main .reasonBox .listUl .ttl {
        font-size: 1.4rem;
    }
    #main .advantage .lBox .imgTxt .num01, #main .advantage .lBox .imgTxt .num02 {
        font-size: 22vw;
    }
    #main .advantage .lBox .title {
        font-size: 1.7rem;
    }
    #main .advantage .rBox h4 {
        font-size: 2.2rem;
    }
    #main .advantage .rBox h3 .large, #main .business .headLine01 {
        font-size: 3.6rem;
    }
    #main .midBox h2 {
        font-size: 4.6rem;
    }
    #main .priceBox td {
        font-size: 1.2rem;
    }
    #main .storyBox .txtBox .ttl {
		font-size: 1.5rem;
		line-height: 1.3;
	}

    #main .storyBox .txtBox .ttl span {
        font-size: 1.2rem;
        margin-bottom: 0;
    }
    #main .storyBox .photoBox {
		width: 151px;
		right: 20px;
	}
    #main .storyBox .photoBox .pointList li {
        width: 80px;
        height: 80px;
        font-size: 1.4rem;
    }
    #main .business .listUl .btn_movie {
        right: 10px;
    }
    #main .business .listUl .btn_movie span {
        padding-left: 30px;
        background: url(../image/common/icn_movie.png) no-repeat left center;
        background-size: 26px 26px;
        line-height: 26px;
    }
}
#main .storyBox .txtBox,
#main .storyBox .mainvisual h2 {
    clip-path: inset(0 100% 0 0);
}
#main .storyBox.loadover .txtBox,
#main .storyBox.loadover .mainvisual h2 {
    animation: clipshow .7s forwards;
		 animation-delay: .2s;
}

#main .storyBox .photoBox,
#main .storyBox .mainvisual .msg,
#main .feasibilityBox .txtFb,
#main .feasibilityBox .listUl,
#main .feasibilityBox .resultTxt{
    opacity: 0;
    transform: scale(0.8);
    transition: .7s;
		 transition-delay: .2s;
}
#main .feasibilityBox .txtFb,
#main .feasibilityBox .resultTxt {
    transition-delay: .3s;
}
#main .feasibilityBox .listUl {
    transition-delay: .4s;
}
#main .storyBox .txtBox h2 .imgSpan {
    opacity: 0;
}
#main .storyBox.loadover .photoBox,
#main .storyBox.loadover .mainvisual .msg,
#main .feasibilityBox.loadover .txtFb,
#main .feasibilityBox.loadover .listUl,
#main .feasibilityBox.loadover .resultTxt {
    opacity: 1;
    transform: scale(1);
}
#main .storyBox.loadover .txtBox h2 .imgSpan {
    opacity: 1;
    transition: .5s;
		transition-delay: 1s;
}
#main .addSec .detailBox {
    transform: translateY(0);
    opacity: 1;
}
#main .addSec .detailBox .photoList {
	margin: 0 auto;
	width: 337px;
}
#main .addSec .detailBox .img {
    opacity: 0;
}
#main .addSec .detailBox.on .img {
    animation: bounds 1000ms linear;
    animation-fill-mode: forwards;
}
@media (max-width: 767px) {
	#main .addSec .detailBox .photoList {
		margin: 0 0 0 auto;
		width: 41.87vw;
	}
	#main .addSec .detailBox .photoList img {
		width: 100%;
	}
}
@keyframes clipshow {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    90% {
        clip-path: inset(0 0 0 0);
    }
    100% {
        clip-path: none;
    }
}
@keyframes bounds {
	0% {
		opacity: 0;
		transform: scale(1);
	}
	8% {
		opacity: 1;
		transform: scale(1.1);
	}
	17% {
		opacity: 1;
		transform: scale(1.2);
	}
	34% {
		opacity: 1;
		transform: scale(1);
	}
	51% {
		opacity: 1;
		transform: scale(1.1);
	}
	68% {
		opacity: 1;
		transform: scale(1);}
	84% {
		opacity: 1;
		transform: scale(1.05);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}