@charset"utf-8";
/* CSS Document */
/*html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
/* Reset
----------------------------------------------------*/
/* よく登場する要素のリセット */
h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, li, body, table, caption, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	text-align: left;
	list-style-type: none;
}
a {
	text-decoration: none;
}
:hover {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}
/* 画像の下にできる隙間をなくす */
img {
	vertical-align: bottom;
}
input[type="checkbox"], input[type="radio"] {
	vertical-align: middle;
    margin: 13px 0;
    display: block;
}
/*
view more link
----------------------------------------------------*/
a.morelnk {
	width: 260px;
	height: 40px;
	margin: 40px 6vw 0 auto;
	border-radius: 50px;
	background: #333333;
	font-size: 25px;
	font-weight: 600;
	text-align: center;
	color: #ffffff;
	display: block;
	position: relative;
	box-shadow: #333333 1px 1px 5px;
}
a.morelnk:before {
	content: "";
    position: absolute;
    top: 50%;
    left: 97%;
    margin-top: -10px;
    border: 10px solid transparent;
    border-left: 18px solid #333333;
}
a.morelnk:hover {
	box-shadow: none;
}
a.morelnk.bg_g {
	background: #00a7b3;
}
a.morelnk.bg_g:before {
    border-left: 18px solid #00a7b3;
}
/*---------------------------------------------------
 common
----------------------------------------------------*/
html {
    overflow-x: hidden;
}
html, body {
	height: auto;
	margin: 0;
	color: #333333;
	font-size: 14px;
	font-family: "noto-sans-cjk-jp","Noto Sans JP", sans-serif;
	font-weight: 300;
	font-style: normal;
}
p {
	font-size: 14px;
	line-height: 1.4;
	color: #333333;
}
img {
	border: 0;
}
h1.title {
	font-size: 2vw;
	font-weight: 600;
	text-align: center;
	color: #00a7b3;
	position: relative;
}
h1.title::before {
  background-color: #00a7b3;
  bottom: -10px;
  content: "";
  height: 3px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 90px; 
}
p.titl_txt {
	font-size: 1.2vw;
	text-align: center;
	margin: 2% auto;
}
.bg_wbl {
	background: #e9f5f5;
}
.bg_bl {
	background: url(../img/common/bg_02.jpg);
	background-size: 100%;
    background-repeat: repeat;
    background-position: top;
}
.bg_bl02 {
	background: url("../img/common/bg_01.jpg") repeat-x;
	/*background-size: cover;*/
	background-size: 100%;
}
/*---------------------------------------------------
 header
----------------------------------------------------*/
#headerbox {
    width: 100%;
    height: 80px;
    display: flex;
    justify-content: space-between;  
	padding: 10px 20px;
    box-sizing: border-box;
}
#headerbox header {
    width: 35%;
}
#headerbox header a { 
	width: 100%;
    height: 100%;
    display: flex;
    vertical-align: middle;
    align-items: center;
}
#headerbox header a img {
    width: 60%;
    max-width: 302px;
}
#headerbox header a p { 
	font-size: 0.75vw;
    color: #4D4D4D;
    margin-left: 1vw;
}
#nav-content {
    width: 70%;
    max-width: 960px;
}
#toggle {
	display: none;
}
.gnav__menu {   
	width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    vertical-align: middle;
    align-items: center;
}
.gnav__menu li a {
	font-size:min(1.15vw,15px);
	color: #333333;
}
.gnav__menu .header_btn {
	/*width: 380px;*/
	display: flex;
	justify-content: space-between;
	margin-left: 2%;
}
.gnav__menu li.gnav__menu__item { 
	margin-left: 1%;
}
.header_btn li {
	width: 180px;
    height: 40px;
    background: #00a7b3;
    border-radius: 6px;
	align-items: center;
}
.header_btn li.btn_y {
    background: #ffb200;
}
.header_btn li a {
    height: 100%;
    width: 100%;
    box-sizing: border-box;
	font-size:min(1.15vw,16px);
	line-height: 2.4;
	text-align: center;
	color: #ffffff;
	align-items: center;
	display: table;
}
.gnav__menu li a:hover, .header_btn li:hover {
	cursor: pointer;
	opacity: 0.5;
}


@media screen and (max-width: 1170px)  {
	
.gnav__menu li a {
		font-size: 1vw; 
		line-height: 3.8vh;
	}
	.gnav__menu .header_btn {
		width: 33vw;
	}
/*---------------------------------------------------
 hamburgermenu
----------------------------------------------------*/ 
     #toggle {
        position: fixed;
        top: 2.5%;
        right: 5%;
		 display: block;
    }
    #toggle-box {
        position: relative;
        width: 40px;
        height: 25px;
        cursor: pointer;
    }
    #toggle-box > span {
        width: 100%;
        height: 3px;
        left: 0;
        display: block;
        background: #00a7b3;
        position: absolute;
        transition: transform .6s ease-in-out, top .5s ease, bottom .5s ease;
    }
    #toggle-box > span:nth-child(1) {
        top: 0;
    }
    #toggle-box > span:nth-child(2) {
        top: 50%;
        transform: translatey(-50%);
    }
    #toggle-box > span:nth-child(3) {
        bottom: 0;
    }
    #toggle {
        z-index: 1000;
    }
    #main {
        position: relative;  
        z-index: 1;
    }
    #nav-content {
        z-index: 900;
        overflow: auto;
        width: 100%;
        height: 100%;
		background: #00a7b3;
        color: #fff;
        position: fixed;
        top: 0;
        right: 0;
        text-align: center;
        transform: translateX(100%);
        transition:  transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    #nav-content ul {
        display: block;
        padding: 70px 0 70px;
        list-style: none;
        z-index: 900;
    }
    #nav-content a {
        display: block;
        color: #fff;
        font-size: 1.2em;
        text-decoration: none;
        padding: 20px 0;
		margin: auto;
        transition: opacity .6s ease;
    }
    #nav-content a:hover {
        opacity: 0.6;
        background: none;
    }
	.gnav__menu li.gnav__menu__item {
		margin: auto;
	}
    .is-open {
        overflow: hidden;
    }
    .is-open #toggle-box > span {
        background: #fff;
    }
    .is-open #toggle-box > span:nth-child(1) {
        top: 50%;
        transform: rotate(45deg) translatey(-50%);
    }
    .is-open #toggle-box > span:nth-child(2) {
        width: 0;
    }
    .is-open #toggle-box > span:nth-child(3) {
        top: 50%;
        transform: rotate(-45deg) translatey(-50%);
    }
    .is-open #nav-content {
        margin: 0 auto;
        z-index: 999;
        transform: translateX(0);
    }  
    .menubox ul li {
        display: table!important;
        margin: 0 auto;
    }
	.menubox ul li:first-child {
		margin-left: auto;
	}
    .menubox ul div {
        display: none!important;
    } 
	
}


/*---------------------------------------------------
 wave
----------------------------------------------------*/
.main {  
	width: 100%; 
	height: auto;
	display: block;
}
.mainarea {   
	height: inherit;
	position:relative;
	text-align:center;
	padding: 3vh 0;
}
.inner-header {
  height: 45vh;
  width: 100%;
  margin: 0;
  padding: 0;
}
.flex { /*Flexbox for containers*/    
	width: 95%;
    height: auto;
    display: block;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}
.waves {
	position: relative;
    width: 100%;
    height: 22vh;
    margin-top: -15vh;
    margin-bottom: 0;
    min-height: 100px;
    max-height: 220px;
    z-index: -1;
}
.content {
  position:relative;
  height: 20vh;
  text-align:center;
  background-color: white;
}

/* Animation */
.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -12s;
  animation-duration: 7s;
}
.parallax > use:nth-child(2) {
  animation-delay: -5s;
  animation-duration: 10s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 13s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 20s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
        height: 100px;
        min-height: 60px;
    }
  .content {
    height:30vh;
  }
  h1 {
    font-size:24px;
  }
}
/*---------------------------------------------------
 mainarea
----------------------------------------------------*/
.mainbox {
	width: 100%;
    display: flex;
    justify-content: space-around;
}
.box_l, .box_r {
	width: 45%;
    align-items: center;
    display: inline-grid;
}
.box_r h1 {
    color: #333333;
	/*font-size: 52px;*/
	font-size: 4vw;
	font-weight: 800; 
	margin-bottom: 2vh;
}
.box_r h1 strong {
    color: #00a7b3;
	font-size: 5vw;
}
.box_r .r_pint {
    display: flex;
    justify-content: space-between;
}
.box_r .r_pint p {
	font-size: 1.8vw;
	text-align: center;
}
.box_r .r_pint p span {
	font-weight: 700;
	color: #FF9700;
}
.box_r .r_pint p small {
	font-size: 1.4vw;
}
.box_r .r_pint div {  
	margin: auto 0;
    position: relative;
    display: inline-block;
  }
.box_r .r_pint div p {
	font-weight: 500;
    position: relative;
    z-index: 10;
  }
.r_pint div .circle {
	display: inline-block;
    width: 10vw;
    height: 10vw;
    border-radius: 50%;
    background-color: #71d1d6;
    position: absolute;
    right: 50%;
    top: 50%;
    transform: translate(50%, -50%);
    z-index: 0;
    transition: .3s;
    opacity: 0.3;
}
.box_r .btn_y {  
	width: 100%;
    height: 6vh;
    min-width: 424px;
    min-height: 50px;
    margin: 30px auto 50px;
    /*background: #ffb200;*/
    background: #00A7B3;
    border-radius: 6px;
    font-size: 1.4vw;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    display: inline-grid;
    color: #ffffff;  
	position: relative;
}
.box_r .btn_y:hover {
	cursor: pointer;
	opacity: 0.5;
}
.box_r .btn_y span {
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 8px solid #ffffff;
    border-right: 0;
    position: absolute;
    left: 9vw;
}
.box_l img {
    width: 100%;
    height: auto;
}
p.service_txt {
    width: fit-content;
    font-size: 1vw;
    margin: 0 auto;
    padding: 2px 15px;
    position: absolute;
    top: -1.1vw;
    right: 0;
    left: 0;
    background: #FFFFFF;
	border: solid 1px #00a7b3;
    border-radius: 50px;
}
/*---------------------------------------------------
 content
----------------------------------------------------*/
.contents {
	height: 100%;
}

/* splitarea
----------------------------------------------------*/
.splitarea {
    height: 100%;
    padding: 100px 0;
    background-image: linear-gradient(0deg, rgba(153, 211, 223, 1), rgba(220, 255, 255, 1));
    box-sizing: border-box;
	display: block;
}
.splitbox {
	/*width: 90%; 
	height: 786px;
	margin: 0 auto;
	padding: 0;
    position: relative;*/
	height: 72.2vw;
	max-height: 1400px;
	display: flex;
	align-items: flex-start;
	width: 90%;
	margin: 0 auto;
}	
.split {
	position: absolute;  
	height: auto;
}
.split.left-box {  
	width: 22.5%;
	padding: 0;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: #999 3px 3px 7px; 
	flex: 0 0 25%;
	position: sticky;
	top: 30px;
	/*height: 100%;*/
    /*box-sizing: border-box;
	overflow-y: hidden;*/
}
.split.right-box {
    width: 65.5%;
    height: fit-content;
}
.left-box {
  left: 0;
}
.right-box {
  right: 5%;
}
.right-box::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
.right-box::-webkit-scrollbar-thumb {
    background: #666;
	border-radius: 50px;
}
.right-box::-webkit-scrollbar-track {
    background: #ffffff;
	border-radius: 50px;
}
.flex_area {
	display: flex;
}
.servicearea .flex_area:nth-child(2) {
	margin-top: 2%;
}
.flex_area h3 {
	width: 50px;
	height: auto;
	padding: 20px 0;
	background: #00A7B3;
	border-radius: 3px;
	color: #ffffff;
	font-size: 26px;
	font-weight: 400; 
	line-height: 2;
	vertical-align: middle;
	align-items: center;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	box-sizing: border-box;
}
.flex_area:nth-child(2) h3 {
	color: #00A7B3;
	background: #ffffff;
	border: #00A7B3 1px;
	box-sizing: border-box;
}
.s_box {
	width: auto;
	margin-left: 2%;
	padding-right: 1%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.s_box .box {
	width: 49%;
	margin-bottom: 2%;
	padding: 2%;
	background: #ffffff;
	border-radius: 6px;
	box-sizing: border-box;
	position: relative;
}
.s_box .box:nth-child(7),
.s_box .box:nth-child(8),
.flex_area:nth-child(2) .s_box .box:nth-child(3),
.flex_area:nth-child(2) .s_box .box:nth-child(4) {
	margin-bottom: 0;
}
.s_box .box h4 { 
	font-size: 2vw;
    font-weight: 700;
    line-height: 1.2;
	padding-right: 100px;
}
.s_box .box h4 span {
    color: #00A7B3;
}
.s_box .box p {
    margin: 3% 0 0;
	padding-right: 100px;
    font-size: 1.1vw;
}
.s_box .box img {
	position: absolute;
	bottom: 3%;
	right: 3%;
}

.split.left-box h3 {
    font-size: 1.5vw;
    font-weight: 600;
    color: #00a7b3;
    line-height: 1.3;
    padding: 30px 30px 20px;
}
.split.left-box p { 
	font-size: 0.9vw;
    line-height: 1.5;
    padding: 0 30px 30px;
}
.splitbox_under {
    width: 100%;
    height: 100%;
    background: #f2f2f2;
    border-radius: 500px 500px 10px 10px;
	padding: 60px 0 10px;
    box-sizing: border-box;
}
.splitbox_under p.split_txt {
	font-size: 1vw;
	font-weight: 600;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1.5;
}
.splitbox_under .split_txt::before,.splitbox_under .split_txt::after {
	width: 2px;
	height: 30px;
	content: "";
	background-color: #333333;
}
.splitbox_under .split_txt::before {
	margin-right: 1em;
	transform: rotate(-30deg);
}
.splitbox_under .split_txt::after {
	margin-left: 1em;
	transform: rotate(30deg);
}
.splitbox_under img {
    margin: 0 auto;
    display: block;
}
.splitbox_under h4 {
    font-size: 1.2vw;
	font-weight: 600;
	text-align: center;
    margin: 0 auto;
	padding: 0.8vw 2vw 2%;
}
.splitbox_under h4 strong {
	color: #fbb03b;  
	font-size: 1.8vw;
}
.splitbox_under a {
	width: 80%;
	height: auto;
    margin: 20px auto 10px;
    border: solid #fff 2px;
	border-radius: 50px;
    background: #00a7b3;
	font-size: 18px;
	text-align: center;
	padding: 0;
    display: block;
    box-sizing: border-box;
}
.splitbox_under a.btn02 {
    margin: 0 auto 20px;
    border: solid #00a7b3 2px;
    background: #fff;
}
.split.left-box .splitbox_under a p {
	font-size: 18px;
	text-align: center;
	line-height: 1.8;
	color: #fff;
	padding: 2% 5%;
}
.split.left-box .splitbox_under a.btn02 p {
	color: #00a7b3;
}
.splitbox_under a:hover {
	background: #fff;
    border: solid #00a7b3 2px;
}
.splitbox_under a.btn02:hover {
	background: #00a7b3;
    border: solid #fff 2px;
}
.split.left-box .splitbox_under a:hover p {
	color: #00a7b3;
}
.split.left-box .splitbox_under a.btn02:hover p {
	color: #fff;
}

/* f_btnarea
----------------------------------------------------*/
.f_btnarea {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: center; 
	background: url(../img/common/bg_02.jpg);
    background-size: cover;
}
.f_btnarea a {   
	width: 25vw;
    height: 6vh;
    min-height: 50px;
    margin: 10vh 2.5vw;
    border-radius: 8px;
    font-size: 1.25vw;
	font-weight: 500;
    line-height: 2.5;
    text-align: center;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    vertical-align: middle;
    justify-content: center;
}
.f_btnarea a.btn01,.f_btnarea a.btn02:hover  {
	color: #ffffff;
	background: #ffb200;
	border: solid 1px #ffffff;
}
.f_btnarea a.btn02,.f_btnarea a.btn01:hover  {
	color: #ffb200;
	background: #ffffff;
	border: solid 1px #ffffff;
}
.f_btnarea a.cl_r {
    color: #ffffff;
    border: solid 1px #FFFFFF;
    background: #FF6347;
}
.f_btnarea a.cl_g {
    color: #ffffff;
    border: solid 1px #FFFFFF;
    background: #1F6664;
}
.f_btnarea a.cl_r:hover {
    color: #FF6347;
    background: #ffffff;
}
.f_btnarea a.cl_g:hover {
    color: #1F6664;
    background: #ffffff;
}

/* plan
----------------------------------------------------*/
.planarea {
	width: 100%;
	padding: 5% 0;
	display: inline-block;
}
.planbox {
	width: 90%;
	margin: 70px auto 0;
}
.planbox th {
	height: 7vw;
}
.planbox td {
	background: #ffffff;
}
.planbox td,
.planbox th {
	font-size: 22px;
	font-weight: 500;
	text-align: center;
	align-items: center;
	padding: 1.5vw;
    box-sizing: border-box;
}
.planbox tr td {
	position: relative;
	border-left: 2px solid #cccccc;
	border-bottom: 2px solid #cccccc;
}
.planbox tr td:last-child {
	border-right: 2px solid #cccccc;
}
.planbox tr td.line01,.planbox tr td.line02,.planbox tr td.line03 {
	font-size: 30px;
}
.planbox tr td.line01 {
	border-right: none;
}
.planbox tr td.line02 {
	border-left: none;
	border-right: none;
}
.planbox tr td.line03 {
	border-left: none;
}
.planbox td.non {
	background: none;
	border: none;
}
.planbox td.kado {
	border-radius: 0 0 8px 0;
}
.planbox tr td span.large_f {
	font-size: 30px;
}
.planbox tr th.f_kado {
	border-radius: 10px 0 0 0;
}
.planbox tr th.l_kado {
	border-radius: 0 0 0 10px;
}
.planbox .p_titl { 
	height: 10vh;
	min-height: 100px;
	font-weight: 600;
	color: #ffffff;
}
.p_titl.col_b {
	background: #00a7b3;
	border-radius: 0 10px 0 0;
}
.p_titl.col_y {
	background: #ffb200;
	border-radius: 10px 0 0 0;
}
.p_titl.col_g {
	background: #00c49d;
}
.planbox tr th.bg_g,.planbox tr th.bg_wg {  
	height: 12.5vh;
	font-weight: 600;
	color: #00a7b3;
}
.planbox tr th.bg_g {
	background: #e6e6e6;
}
.planbox tr th.bg_wg {
	background: #F5F5F5;
}
.planbox tr.adls td p {
	width: fit-content;
	font-size: 22px;
	font-weight: 500;
	text-align: left;
	margin: auto;
}
.monthpln td div {  
	height: 7vh;
	background: #00a7b3;
	border-radius: 8px;
}
.monthpln td div p {
	height: 100%;
	font-size: 22px;
	text-align: center;
	color: #ffffff;  
	padding: 2% 0;  
	align-items: center;
    vertical-align: middle;
    display: inline-flex;
    box-sizing: border-box;
}
.monthpln td div p span {
	font-size: 30px;
}
.monthpln td.spot div {
	display: flex;
	justify-content: space-around;
	background: #ffb200;
}
.monthpln td.free div {
	background: #00c49d;
}
.monthpln td.free div p {
	font-size: 30px;
}

/* scenearea
----------------------------------------------------*/
.scenearea {
	padding: 5% 0;
}
.scenebox {
    width: 80%;
    margin: 70px auto;
    display: flex;
    justify-content: space-between;
}
.scenebox .box01 {
	width: 32%;
}
.scenebox .box01 img {
	width: 100%;
	max-width: 347px;
	margin: 0 auto 5%;
	display: block;
}
.scenebox .box01 .titl {
	font-size: 25px;
	font-weight: 600;
	text-align: center;
}
.scenebox .box01 .txt {
	width: 80%;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5;
	margin-top: 3%;
}
/* comparisonarea
----------------------------------------------------*/
.comparisonarea table {
    border-collapse: separate;
}
.comparisonarea {
	padding: 5% 0;
}
.compbox {
    width: 90%;
    margin: 70px auto 0;
}
.compbox th {
	font-size: 22px;
	font-weight: 600;
	height: 70px;
	color: #4d4d4d;
}
.compbox th small {
	font-size: 50%;
}
.compbox th td, .compbox th td p {
	color: #333333;
}
.compbox tr td {   
	padding: 2%;
	background: #ffffff;
    position: relative;
    border-left: solid 1px #cccccc;
    border-right: solid 1px #cccccc;
}
.compbox tr.th05 td {
    border-bottom: solid 2px #cccccc;
}
.compbox tr td::after {
	content: "";
	width: 80%;
	position: absolute;
	border: solid 1px #cccccc;
	display: block;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.compbox tr td.non, .compbox tr td.non::after {
	background: none;
	border: none;
}
.compbox tr.th05 td::after {
	display: none;
}
.compbox .p_titl {
	width: 16.67%;
	text-align: center;
}
.compbox .p_titl.bg_gr {
	background: #00a7b3;
}
.compbox .p_titl.bg_wg {
	background: #e6e6e6;
}
.compbox .p_titl.bg_g {
	background: #cccccc;
}
.compbox tr th.bg_dg {
	background: #cccccc;
}
.compbox tr th.bg_g {
	background: #e6e6e6;
}
.compbox tr.pln_h th {
	height: 10vh;
	padding: 0 2%;
}
.compbox tr th.f_kado,.compbox tr th.p_titl.ltop_kado {
	border-radius: 10px 0 0 0;
}
.compbox tr th.ll_kado {
	border-radius: 0 0 0 10px;
}
.compbox tr th.ll_kado {
	border-radius: 0 0 0 10px;
}
.compbox tr th.p_titl.rtop_kado {
	border-radius: 0 10px 0 0;
}
.compbox tr td.rl_kado {
	border-radius: 0 0 10px 0;
}
.compbox tr td, .compbox tr td p {
	font-size: 30px;
	font-weight: 500;
	text-align: center;
}
.compbox tr.th03 td {  
	font-size: 0.95vw;
	padding: 1.5% 2%;
}
.compbox tr.th03 td span {
	font-size: 1.5vw;
	background: linear-gradient(to bottom, rgba(255,229,95,0) 70%,rgba(255,229,95,1) 71%,rgba(255,229,95,1));
	display: inline;
}
.compbox tr.th04 td,.compbox tr.th05 td {
	font-size: 22px;
}
.compbox tr.th04 td strong {
	font-size: 30px;  
	font-weight: 500;
}
.compbox tr th.mainpln {
	border: solid 3px #00a7b3;
	border-top: none;
	border-bottom: none;
	display: table-cell;
	color: #ffffff;
	line-height: 1;
}
.compbox tr td.mainpln {
	border: solid 3px #00a7b3;
	border-top: none;
	border-bottom: none;
}
.compbox tr.th05 td.mainpln {
	border-bottom: solid 3px #00a7b3;
}

.comparisonarea .nt_p {
    width: 89.5%;
    margin: 1% auto;
    font-size: 13px;
    text-align: right;
}

/* flowarea
----------------------------------------------------*/
.flowarea {
    padding: 5% 0;
}
.flowbox {
	width: 90%;
    max-width: 1300px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.flowbox .box01 {
	width: 30%;
}
.flowbox .steptitl {
	width: 100%;
	display: flex;
	justify-content: center;  
	margin-bottom: 4%;
}
.flowbox h3 { 
	width: auto;  
	font-size: 2.3vw;
    font-family: "acumin-pro-extra-condensed", sans-serif;
    font-weight: 700;
    font-style: normal;
    position: relative;
    display: flex;
    align-items: baseline;
	line-height: 1.5;
}
.flowbox h3 span {   
	font-size: 4vw;
	color: #00a7b3;
}
.flowbox div.line {
	content: "";
    height: 3px;
    background-color: #00a7b3;
	margin: auto 0 3.6vh 1vw;
    width: 6vw;
}
.flowbox img {  
	width: 100%;
    max-width: 280px;
    border: solid 2px #71d1d6;
	background: #ffffff;
    border-radius: 20px;
    margin: 0 auto;
    display: block;
}
.flowbox p.titl {
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    margin: 3% auto 6%;
}
.flowbox p.txt {
	font-size: 1vw;
	font-weight: 300;
    text-align: center;
}
.triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 30px solid #cccccc;
	border-right: 0;
	margin: auto;
}

/* digitalgiftarea
----------------------------------------------------*/
.d_guftarea {
	padding: 5% 0;
}
.guftbox {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 3% 4%;
	background: #ffffff;
	border: solid 1px #cccccc;
	border-radius: 10px;
	box-sizing: border-box;
}
.guftbox h2 {  
	width: fit-content;
	font-size:min(2.4vw,34px);
    font-weight: 600;
    text-align: center;
    border: solid 2px #ffcf33;
    border-radius: 50px;
    position: relative;
	margin: 0 auto;
    padding: 0.5vw 8vw;
}
.guftbox h2 span {
	color: #00a7b3;
}
.guftbox h2 img {  
	width: 22%;
    max-width: 189px;
    position: absolute;
    top: -5vw;
    right: -6vw;
}
.guftbox .logoimg {
    width: 100%;
    margin: 5% auto 0;
}
.guftbox .logoimg img {
    width: 100%;
	max-width: 1180px;
    margin: auto;
	display: block;
}
.guftbox .logoimg p {
	width: 98%;
    margin: 0 auto 0;
    font-size: 10px;
	font-weight: 100;
    color: #9e9e9f;
}

/* 
----------------------------------------------------*/
.Accordionarea {
	padding: 5% 0;
}
.Accordionarea .title {
	color: #ffffff;
}
.Accordionarea h1.title::before {
	background-color: #ffffff;
}
/* Accordion box
----------------------------------------------------*/
dt::after {
	content: " ";
	clear: both;
	display: block;
}
.container02 {
	background: #d7ebfa;
	padding: 20px 0;
}
.container02-1 {
	background: #FFFFFF;
	padding: 20px 0;
}
.cp_titl {
	font-size: 17px;
	font-weight: bold;
	color: #005bae;
	text-align: center;
	margin-bottom: 15px;
}
.ac_box {
	width: 90%;
	max-width: 1300px;
    background: #FFFFFF;
    /* border: solid 1px #72a7db; */
    border-radius: 12px;
    margin: 5% auto 1%;
    box-sizing: border-box;
    font-size: 15px;
}
.ac_box02 {
	margin-top: 1%;
}
.ac_titl:hover {
	cursor: pointer;
}
.ac_titl {
	width: 100%;
    padding: 1.5vh 2vw;
	font-size: 1.2vw;
	box-sizing: border-box;
}
.ac_titl h3{
	float: left;
	font-size: 1.5vw;
	margin: 0 30px 0 0;
	font-weight: bold;
	color: #00a7b3;
}
.ac_titl h4{
	width: 90%;
	float: left;
	margin: 5px 0;
}
.ac_antitl {
	float: left;
    font-size: 1.5vw;
    font-weight: bold;
    color: #00a7b3;
    margin-right: 20px;
}
.ac_day {
}
.ac_pm {
    width: 25px;
    height: 25px;
    float: right;
    margin: 2px;
	display: block;
    position: relative;
}
.ac_pm::before, .ac_pm::after {
    content: '';
    display: block;
    width: 20px;
    height: 1.5px;
    background: #00a7b3;
    position: absolute;
    right: 0;
    top: 42%;
    transform: translateY(-50%);
}
.ac_pm::after{
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}
.active::after {
    transform: rotate(0);
    transition: 0.5s;
  }
.ac_an_border {
	width: 100%;
	border-top: 1px dashed black;
	margin-bottom: 14px;
}
.ac_an {
    padding: 0 2vw 1.5vh;
}
.ac_cn01 {   
	width: 97%;
    margin: 1.5% auto 1.5% 3%;
    line-height: 1.5em;
    font-size: 1.2vw;
	font-weight: 300;
    box-sizing: border-box;
}
.ac_cn02 {
	width: 895px;
	margin: 5px auto 10px;
	line-height: 1.5em;
}
.Accordionarea .f_btnarea {
	background: none;
}
/*---------------------------------------------------
 footer
----------------------------------------------------*/
.p_isms_area {
	margin-top: 5%;
    padding-bottom: 1px;
}
.privacybox {
    width: 95%;
    max-width: 1000px;
    margin: 40px auto 50px;
    display: flex;
}
.privacybox .logo01 {
    width: 13%;
    margin-right: 3%;
    margin-top: 0;
}
.privacybox .logo01 img {
    width: 100%;
}
.privacybox .column01 {
	width: 83%;
}
.privacybox .text01 {
    font-weight: 700;
    font-size: 1.1rem;
	line-height: 1.3;
}
.privacybox .text02 {
    margin-top: 15px;
    font-size: 0.9rem;
    line-height: 1.5;
}

#footer01 {
	position: relative;
	margin-top: 50px;
    font-weight: 400;
}
#footer01 .msft {
    display: flex;
    justify-content: center;
    vertical-align: middle;
	width: 95%;
	margin: 0 auto;
}
#footer01 .msft .msnk {
    width: auto; 
    height: fit-content;
	line-height: 2;
    margin: auto 0 auto 5%;
    font-size: 14px;
    font-weight: 400;
}
#footer01 .msft .mslg {
    width: 171px;
}
#footer01 .msft .mslg a {
    width: 100%;
}
#footer01 .msft .mslg a img {
    margin: 7% 0;
    box-sizing: border-box;
}
#footer01 > .inner01 {
	max-width: 1000px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto;
}
.copyrights01 {
    font-size: 13px;
    font-weight: 400;
    text-align: center;
    margin: 30px 0 0;
    padding-bottom: 15px;
}
/*---------------------------------------------------
 othercontent
----------------------------------------------------*/
.othercontent {
	width: 60%;
	max-width: 1200px;
	min-width: 767px;
    margin: 0 auto;
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.othercontent a {
	font-size: 1.1rem;
    color: #282422;
    text-decoration: underline;
	margin: 0 2% 1%;
}
.othercontent a:hover,
.othercontent02 a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.othercontent02 {
    width: 60%;
    max-width: 1200px;
	min-width: 1000px;
    margin: 1.5vw auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.othercontent02 h3 {
    width: 100%;
    padding: 1.2vw 0 0.8vw;
    border-top: solid #cccccc 1px;
    font-size: 1.1rem;
    font-weight: 300;
    color: #666666;
    text-align: center;
}
.othercontent02 a {
    font-size: 1.1rem;
    color: #282422;
    text-decoration: underline;
    margin: 1% 2% 1%;
}

/* page top
*****************************************/
.pagetop {
    position: fixed;
    bottom: 70px;
    right: 55px;
    z-index: 9999;
}
.pagetop img {
    width: 50px;
    height: 50px;
}
/*---------------------------------------------------
 fade-in
----------------------------------------------------*/
.fade-in {
  opacity: 0;
  transition-duration: 1000ms;
  transition-property: opacity, transform;
}
.fade-in-up {
  transform: translate(0, 50px);
}
.fade-in-down {
  transform: translate(0, -50px);
}
.fade-in-left {
  transform: translate(-50px, 0);
}
.fade-in-right {
  transform: translate(50px, 0);
}
.fade-in.fade01 {transition: all 1000ms; /* フェードインにかかる時間を指定 */}
.fade-in.fade02 {transition: all 1500ms; /* フェードインにかかる時間を指定 */}
.fade-in.fade03 {transition: all 2000ms; /* フェードインにかかる時間を指定 */}
.fade-in.fade04 {transition: all 2500ms; /* フェードインにかかる時間を指定 */}
.fade-in.fade05 {transition: all 3000ms; /* フェードインにかかる時間を指定 */}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
/* page top
*****************************************/
.pagetop {
    position: fixed;
    bottom: 70px;
    right: 55px;
    z-index: 9999;
}
.pagetop img {
    width: 50px;
    height: 50px;
}


/*---------------------------------------------------
 springcp_area
----------------------------------------------------*/
.springcp_area {
	padding: 50px 0;
	border-bottom: solid 20px #00A7B3;
}
.springcp_box {
    width: fit-content;
    margin: auto;
    display: block;
}
.springcp_box .titl_txt {
	width: fit-content;
	font-size: min(2.86vw,34.4px);
	font-weight: 600;
    position: relative;
	margin: 0 auto 1rem;
    padding: 0 4rem;
}
.springcp_box .titl_txt::before,
.springcp_box .titl_txt::after {
    position: absolute;
    bottom: 2px;
    height: 5vw;  
	max-height: 75px;
    content: '';
}
.springcp_box .titl_txt::before {
    border-left: solid 3px;
    left: 0;
    transform: rotate(-30deg);
}
.springcp_box .titl_txt::after {
    border-right: solid 3px;
    right: 0;
    transform: rotate(30deg);
}
.springcp_box .titl_txt b {
	display: inline-block;
	background:linear-gradient(transparent 70%, #FFF317 70%);
}
.springcp_box .titl_txt span {
	font-size: 4.06vw;
	font-size:min(4.06vw,48.8px);
	color: #00A7B3;
}
.springcp_box .titl_txt span small {
	font-size: min(2.86vw,34.4px);
}
.springcp_box .titl_txt span small.col_b {
	color: #333333;
}
.springcp_box .titl {
	text-align: center;
	font-weight: 600;
	font-size:min(4vw,50px);
	letter-spacing: -1px;
}
.springcp_box .titl span {
	font-size:min(4.58vw,55px);
	color: #FF3180;
}
.cp_date {
	display: flex;
	justify-content: center;
	align-content: center;
	margin-top: 15px;
}
.cp_date p.period {
	width: fit-content;
	height: fit-content;
	font-size:min(1.66vw,20px);
	color: #FF3180;
	margin: auto 0;
	margin-right: 1rem;
	padding: 0.25rem 0.5rem;
	align-content: center;
	border: solid 2px #FF3180;
}
.period_date {
	font-size:min(3.25vw,40px);
	font-weight: 600;
	align-content: center;
}
a.btn01.cl_p {
    width: fit-content;
    margin: 3vw auto 0;
    padding: 1rem 5rem;
	font-size:min(2.083vw,25px);
    font-weight: 600;
    color: #FFFFFF;
	border: solid 2px #FF3180;
    border-radius: 6px;
    background: #FF3180;
    display: block;
}
a.btn01.cl_p:hover {
	color: #FF3180;
    background: #FFFFFF;
}

section.springcp.bg_bl02 {
    padding-bottom: 1px;
}
ul.detailbox {
    width: 80%;
	max-width: 1200px;
    margin: 70px auto 100px;
	padding: 2.5% 5% 4%;
    border: solid 2px #00A7B3;
    border-radius: 10px;
    background: #FFFFFF;
    box-sizing: border-box;
}
.detailbox > li {
    font-size: min(1.428vw, 20px);
    margin-bottom: 35px;
}
.detailbox > li > ol {
    padding-inline-start: 0;
}
.detailbox > li > ol.lst {
    padding-inline-start: 1em;
}
.detailbox > li > ol.lst > li {
	font-size: min(1.28vw, 16px);
    font-weight: normal;
    line-height: 1.7;
}
.detailbox p {
    font-size: min(1.28vw, 18px);
    margin-bottom: 10px;
}
.lst li {
    list-style-type: disc;
}
.lst li::marker {
	font-size: 10px;
}
.detailbox h2 {
	margin-bottom: 10px;
    font-size: min(1.64vw, 23px);
    font-weight: 600;
    color: #00A7B3;
}
.detailbox a.btn01.cl_p {
	text-align: center;
	margin: 5vw auto 0;
}

/*---------------------------------------------------
 resultsarea
----------------------------------------------------*/
.resultsarea {
    padding: 5% 0;
}
.resultsbox {
	width: 90%;
    margin: 70px auto 4%;
	display: flex;
	justify-content: center;
}
.r_box {
	width: 35%;
	min-width: 455px;
	padding: 1.5%;
	border: solid 3px #71d1d6;
	border-radius: 8px;
	background: #FFFFFF;
	box-sizing: border-box;
}
.r_box:first-child {
	margin-right: 3%;
}
.r_box img {
	width: 100%;
	max-width: fit-content;
	margin: 0 auto;
	display: block;
}
.cmpname {
	font-size: 1.35vw;
    text-align: center;
    margin: 1% auto 7%;
}
.r_box ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.r_box ul li {
	width: 48.5%;
	height: 2.5em;
    font-size: min(1.076vw, 14px);
	font-weight: 500;
    text-align: center;
    align-content: center;
    border-radius: 50px;
    margin: 0 0 2.5%;
}
.r_box ul li:last-child,
.r_box ul li:nth-last-child(2) {
    margin-bottom: 0;
}
.r_box ul li.on {
	background: #ffcf33;
}
.r_box ul li.off {
	color: #808080;
	background: #e6e6e6;
}

@media screen and (max-width: 960px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
.spNone {
	display: block!important;
}
.pcNone {
	display: none!important;
}
	
a.morelnk {
    width: 200px;
    font-size: 20px;
    line-height: 2;
}
/*---------------------------------------------------
 header
----------------------------------------------------*/
	#headerbox header a img {
		width: 60%;
		max-width: 306px;
	}
	.header_btn li {
		width: 16vw;
		height: 4vh;
	}
/* main area
----------------------------------------------------*/
	.r_pint div .circle {
		width: 7vw;
		height: 7vw;
	}
	.box_r .btn_y {
		min-width: unset;
	}
/*---------------------------------------------------
 contents
----------------------------------------------------*/	
p.titl_txt {
    font-size: 1.5vw;
    text-align: center;
    margin: 2% auto;
}
/* split area
----------------------------------------------------*/
	.split.left-box .splitbox_under a p {
		font-size: 1vw;
	}
	.s_box .box img {
		width: 40%;
	}
/* flowbtn area
----------------------------------------------------*/
	.f_btnarea a {
		height: 5vh;
		margin: 5vh 2.5vw;
	}
/* plan area
----------------------------------------------------*/
	.planbox {
		width: 90%;
		margin: 5vw auto 0;
	}
	.planbox .p_titl {
		height: 5vh;
	}
	.planbox td, .planbox th {
		font-size: 1.5vw;
		padding: 1vh 1.5vw;
	}
	.planbox tr.adls td p {
		font-size: 1.5vw;
	}
	.planbox tr th.bg_g, .planbox tr th.bg_wg {
		height: 7.5vh;
	}
	.planbox tr td.line01, .planbox tr td.line02, .planbox tr td.line03,
	.planbox tr td span.large_f {
		font-size: 2.5vw;
	}
	.monthpln td div {
		height: 5vh;
		padding: 0.2vw;
	}
	.monthpln td div p {
		font-size: 1.5vw;
	}
	.monthpln td div p span {
		font-size: 3vw;
	}
	.monthpln td.free div p {
		font-size: 2.5vw;
	}
/* scene area
----------------------------------------------------*/
	.scenebox {
		margin: 5vw auto;
	}
	.scenebox .box01 .titl {
		font-size: 2vw;
	}
	.scenebox .box01 .txt {
		width: 90%;
		font-size: 1.5vw;
	}
/* comparison area
----------------------------------------------------*/
	.compbox th {
		font-size: 1.8vw;
		height: 5vh;
	}
	.compbox tr td, .compbox tr td p {
		font-size: 2.5vw;
	}
	.compbox tr.th04 td, .compbox tr.th05 td {
		font-size: 1.5vw;
	}
	.compbox tr.th04 td strong {
		font-size: 2.5vw;
	}
	.comparisonarea .nt_p {
		font-size: 1.3vw;
	}
/* flow area
----------------------------------------------------*/
	.flowbox div.line {
		margin: auto 2%;
	}
	.flowbox p.titl {
		font-size: 2vw;
	}
	.flowbox p.txt {
		font-size: 1.5vw;
	}
/* flow area
----------------------------------------------------*/
	.guftbox h2 {
		font-size: 2.5vw;
	}
	.guftbox .logoimg p {
		font-size: 0.95vw;
	}
/*---------------------------------------------------
 footer
----------------------------------------------------*/
/*---------------------------------------------------
 othercontent
----------------------------------------------------*/
	.othercontent,
	.othercontent02 {
		width: 95%;
		min-width: unset;
	}
/*---------------------------------------------------
 resultsarea
----------------------------------------------------*/
	.r_box {
		width: 48.5%;
		min-width: unset;
	}
	.cmpname {
		font-size: 2vw;
	}
	.r_box ul li {
		height: 3vw;
		font-size: 1.4vw;
	}
	
/*---------------------------------------------------
 
----------------------------------------------------*/

    
    
    
    
    
    
}

@media screen and (max-width: 767px) {
/*////////////////////////////////////////////////
=pc→spに表示変更
////////////////////////////////////////////////*/
    .spNone {
        display: none!important;
    }
    .pcNone {
        display: block!important;
    }
	.bg_bl {
		background-size: auto;
	}
	.bg_bl02 {
		background-size: inherit;
		background-repeat: repeat;
	}

 /*---------------------------------------------------
 header
----------------------------------------------------*/
	#headerbox {
		height: 60px;
		padding: 18px 20px 10px 15px;
	}
	#headerbox header {
		width: 70%;
	}
	header a img {
        width: 100%;
        height: auto;
    }
	#headerbox header a p {
		font-size: 2vw;
		color: #4D4D4D;
		margin-left: 3vw;
	} 

/*---------------------------------------------------
 dontents
----------------------------------------------------*/  

/*---------------------------------------------------
 contents
----------------------------------------------------*/ 
h1.title {
    font-size: 6vw;
	margin: auto;
}
p.titl_txt {
	width: 90%;
	font-size: 3.5vw;
	text-align: center;
	margin: 3vh auto 2vh;
}
a.morelnk {
	width: 180px;
	height: 35px;
	font-size: 20px;
	line-height: 1.7;
	margin: 5% 6vw 0 auto;
	}

/* main area
----------------------------------------------------*/
.mainarea {
    height: auto;
    position: relative;
    text-align: center;
	padding: 3vh 0 0;
}
.mainbox {
    width: 100%;
    display: block;
}
.box_l, .box_r {
    width: 100%;
    display: block;
}
.box_l {
	margin: 2vh auto 0;
}
.box_l img {
    width: 80%;
    height: auto;
}
.box_r h1 {    
	font-size: 7vw;
	margin: 3vh auto 2vh;
	text-align: center;
}
.box_r h1 strong {
    font-size: 8vw;
}
.box_r .r_pint p {
    font-size: 4.8vw;
}
.box_r .r_pint p small {
    font-size: 3.4vw;
}
.box_r .r_pint div {
    width: 32%;
}   
.r_pint div .circle {
	width: 10vh;
	height: 10vh;
}
.box_r .btn_y {
	width: 95%;
	height: 9vh;
    margin: 3% auto 5%;
    font-size: 4.4vw;
	font-weight: normal;
}
p.service_txt {
    font-size: 3vw;
    top: -3vw;
}
/* split area
----------------------------------------------------*/
	.splitarea {
		height: auto;
		padding: 10% 0;
	}
	.split {
		position: relative;
		width: 100%;
		height: auto;
	}
	.split.left-box {
		width: 100%;
		height: auto;
		padding: 0;
		overflow: auto;
		position: unset;
	}
	.splitbox {
		height: auto;
        max-height: none;
        margin: 0 auto;
        padding: 0;
        display: block;
	}
	.split.left-box h3 {
		font-size: 6.5vw;
		font-weight: 600;
		color: #00a7b3;
		line-height: 1.3;
		padding: 3% 5% 2%;
	}
	.split.left-box p {
		font-size: 3.9vw;
		padding: 0 5% 3%;
	}  
	.splitbox_under {
        padding: 6% 0;
    }
	.splitbox_under h4 {
		font-size: 5.2vw;
	}
	.splitbox_under h4 strong {
		font-size: 8.8vw;
	}
	.splitbox_under a {
		width: 80%;
		height: auto;
		margin: 2% auto 5%;
		font-size: 5vw;
	}
	.split.left-box .splitbox_under a p {
        font-size: 4vw;
    }
	.split.right-box {
		width: 100%;
        height: auto;
        overflow: unset;
        margin: auto;
        display: block;
        right: auto;
	}
	.servicearea {
		margin: 7% auto;
	}
	.s_box .box {
		width: 100%; 
		padding: 3% 4%;
	}
	.s_box .box:nth-child(7), .s_box .box:nth-child(8), 
	.flex_area:nth-child(2) .s_box .box:nth-child(3), 
	.flex_area:nth-child(2)  {
		margin-bottom: 2%;
	}
	.s_box .box:last-child {
		margin-bottom: 0;
	}
	.s_box .box h4 {
		font-size: 6vw;
		padding-right: 43%;
	}
	.s_box .box p {
		margin: 2.5% 0 0;
		font-size: 4vw;
		padding-right: 43%;
	}
	
/* formbutton  area
----------------------------------------------------*/
	.f_btnarea {
		width: 100%;
		height: auto;
		display: block;
		padding: 3vh 0;
		background-size: auto;
	} 
	.f_btnarea a {
        width: 90%;
        height: 6vh;
        min-height: 50px;
		font-size: max(4vw, 15px); 
		font-weight: normal;
        margin: 4% auto;
        border-radius: 8px;
        line-height: 2.5;
    }
	
/* planbox  area
----------------------------------------------------*/
	.planarea {
		padding: 5% 0 10%;
	}
	.planbox0 {
		width: 90%;    
		margin: 0 auto;
		padding-bottom: 5%;
		overflow-x: scroll;
	}
	.planbox {
		width: 700px;
		margin: 10vw auto 0;
	}
	.planbox td, .planbox th {
        font-size: 3.5vw;
        padding: 1vh 1.5vw;
    }
	.planbox tr.adls td p {
		font-size: 3.5vw;
    }
	.planbox tr td.line01, .planbox tr td.line02, .planbox tr td.line03, .planbox tr td span.large_f {
        font-size: 4vw;
    }
	.monthpln td div p {
		font-size: 3.5vw;
	}
	.monthpln td div p span {
		font-size: 5vw;
	}
	.monthpln td.free div p {
        font-size: 5vw;
    }
	
/* scene area
----------------------------------------------------*/	
	.scenebox {
		width: 90%;
		margin: 10vw auto;
		display: block;
	}
	.scenebox .box01 {
		width: 100%;
	}
	.scenebox .box01 .titl {
		font-size: 5vw;
	}
	.scenebox .box01 .txt {
		width: 100%;
		font-size: 3.5vw;
	}
/* comparison area 
----------------------------------------------------*/
	.compbox0 {
		width: 90%;
		margin: 0 auto;
		padding-bottom: 5%;
		overflow-x: scroll;
	}
	.compbox {
		width: 950px;
		margin: 10vw auto 0;
	}   
	.compbox th {
        font-size: 3.5vw;
    }   
	.compbox tr td, .compbox tr td p {
        font-size: 4.5vw;
    }
	.compbox tr.th03 td {
		font-size: 3.5vw;
		padding: 1.5% 2%;
	}
	.compbox tr.th03 td span {
		font-size: 4.5vw;
	}    
	.compbox tr.th04 td, .compbox tr.th05 td {
		font-size: 4vw;
	}
	.compbox tr.th04 td strong {
        font-size: 5.5vw;
    }
	.comparisonarea .nt_p {
        font-size: 3vw;
        margin: 5% auto 0;
    }

/* flow area 
----------------------------------------------------*/	
	.flowbox {
		display: block;
	}
	.flowbox .box01 {
		width: 100%;
	}
	.flowbox h3 {
		font-size: 10vw;
	}
	.flowbox h3 span {
		font-size: 15vw;
	}
	.flowbox div.line {
        margin: 14% 2% auto;
    }
	.flowbox p.titl {
        font-size: 5vw;
		margin-bottom: 3%;
    }
	.flowbox p.txt {
        font-size: 3.5vw;
    }
	.triangle {
		margin: 5% auto 0;
		border-right: 30px solid transparent;
		border-left: 30px solid transparent;
		border-top: 30px solid #cccccc;
		border-bottom: 0;
	}
	
/* d_guft area 
----------------------------------------------------*/	
	.d_guftarea {
		padding: 10% 0;
	}   
	.guftbox h2 {
        font-size: 5.5vw;
    }
	.guftbox h2 img {
        width: 30%;
        top: 5vw;
        right: -5vw;
    }
	.guftbox .logoimg p {
        font-size: 2.5vw;
        margin: 5% 0;
        line-height: 1.2;
    }
	.guftbox .logoimg img {
		margin: 10vh auto 0;
	}
/* Accordion box
----------------------------------------------------*/	
	.ac_titl {
		padding: 1.5vh 3vw;
	}
	.ac_titl h3 {
		font-size: 5vw;
		margin: 0 4% 0 0;
	}
	.ac_titl h4 {
		width: 78%;
		float: left;
		margin: 0;
		padding-right: 5%;
		font-size: 4vw;
	}
	.ac_antitl {
		font-size: 5vw;
		margin-right: 4%;
	}
	.ac_an {
		padding: 0 3vw 1.5vh;
	}
	.ac_cn01 {
		width: 90%;
		margin: 2.5% 2% 0 7%;
		line-height: 1.5em;
		font-size: 4vw;
		box-sizing: border-box;
	}
/*---------------------------------------------------
 footer
----------------------------------------------------*/ 
	.privacybox {
        display: block;
    }  
    .privacybox .column01 {
        width: 100%;
    }
    .privacybox .logo01 {
        width: 130px;
        margin: 0 auto 5%;
        margin-top: 0;
    }
	.privacybox .text01 {
        font-size: 3.8vw;
		text-align: center;
    }
    .privacybox .text02 {
		margin-top: 2%;
        font-size: 3vw;
        line-height: 1.5;
    }
	#footer01 {
		margin-top: 0;
	}
    #footer01 .msft {
        width: 95%;
        margin: 0 auto;
        text-align: center;
        display: block;
    }
    #footer01 .msft .mslg {
        width: 180px;
        margin: 0 auto;
    }
    #footer01 .msft .msnk {  
		font-size: 3vw;
        text-align: center;
        line-height: 1.5;
    }
    .copyrights01 {
		font-size: 3.5vw;
        font-weight: 800;
        text-align: center;
        margin: 5% 0 0;
        padding-bottom: 5%;
    } 
	.copyrights01 small {
        font-weight: normal;
    } 
/*---------------------------------------------------
 othercontent
----------------------------------------------------*/
	.othercontent,.othercontent02 {
		width: 95%;
		min-width: unset; 
		margin: 0 auto 8vw;
		display: block;
	}
	.othercontent02 {
        margin-bottom: 15vw;
    }
	.othercontent a, .othercontent02 a {
        font-size: 3.8vw;
        text-align: center;
        display: block;
        margin: 0 auto 3vw;
        width: fit-content;
    }
	.othercontent02 h3 {
        padding: 3.5vw 0 5vw;
        font-size: 4.2vw;
    }
/*---------------------------------------------------
 pagetop
----------------------------------------------------*/    
	.pagetop {
		bottom: 5%;
		right: 2.5%;
	}
	
/*---------------------------------------------------
 springcp_area
----------------------------------------------------*/
	.springcp_box {
		width: 90%;
	}
	.springcp_box .titl_txt b {
		display: inline;
	}
	.springcp_box .titl_txt {
		font-size: max(6.67vw, 25px);
		margin: 0 auto 1rem;
		padding: 0 7%;
		box-sizing: border-box;
	}
	.springcp_box .titl_txt::before, .springcp_box .titl_txt::after {
		height: 15vw;
	}
	.springcp_box .titl_txt span {
		font-size: max(11.2vw, 42px);
	}
	.springcp_box .titl_txt span small {
		font-size: min(11vw, 30px);
	}
	.springcp_box .titl {  
		font-size: max(8vw, 30px);
		line-height: 1.4; 
		letter-spacing: -2px;
	}
	.springcp_box .titl span {
		font-size: max(10.6vw, 35px);
    }
	
	.cp_date {
		width: fit-content;
		display: block;
		margin: 5vw auto;
		text-align: center;
	}
	.cp_date p.period {
		text-align: center;
		margin: auto;
		font-size: max(4.8vw, 18px);
	}
	p.period_date {
		margin: 2.5vw auto 0;
        font-size: max(8vw, 30px);
	}
	a.btn01.cl_p {
		width: 100%;
		font-size: max(6.66vw, 25px);
		text-align: center;
		padding: 2.5vw 2vw;
		box-sizing: border-box;
	}
	
	
	ul.detailbox {
		width: 95%;
		margin: 10% auto 15%;
		padding: 5% 5%;
	}
	.detailbox h2 {
		font-size: max(5.3vw, 20px);
	}
	.detailbox > li {
		font-size: max(4.8vw, 18px);
		margin-bottom: 8%;
	}
	.detailbox p {
		font-size: max(4.26vw, 16px);
	}
	.detailbox > li > ol.lst > li {
		font-size: max(4.26vw, 16px);
		line-height: 1.3;
	}
	.detailbox a.btn01.cl_p {
		font-size: max(5vw, 18px);
	}
/*---------------------------------------------------
 resultsarea
----------------------------------------------------*/
	.resultsbox {
		width: 95%;
		margin: 10vw auto;
		flex-wrap: wrap;
	}
	.resultsbox .r_box {
		width: 100%;
		margin: 0 auto 5%; 
		padding: 5%;
	}
	.resultsbox .r_box:last-child {
		margin-bottom: 0;
	}
	.r_box img {
		width: 70%;
	} 
	.cmpname {
        font-size: min(18px, 4.5vw);
        margin: 3% auto 7%;
    }
	.r_box ul li {
        height: 7vw;
        font-size: max(11px, 2.5vw);
    }
	
	
	
	
}


