@charset "UTF-8";



/*----------------------------------------------------
   共通設定
----------------------------------------------------*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
}
.sec-content .sec-title {
	color: #33a8fa;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.12em;
}
.sec-content .sub-title {
	color: #33a8fa;
	text-align: center;
	letter-spacing: 0.12em;
}
footer {
	border-top: solid 1px #54b9f8;
}
footer .inner3 {
	padding: 30px 0;
}

/* --------  680〜　PC調整   --------*/
@media screen and ( min-width:680px) {
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	font-size:16px; /* 基準のフォントサイズ */
}
footer body, footer  div, footer dl, footer dt, footer dd, footer ul, footer ol, footer li, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer pre, footer form, footer fieldset, footer input, footer textarea, footer p, footer blockquote, footer th, footer td {
	font-size:15px; /* 基準のフォントサイズ */
}
.sec-content {
	padding: 100px 0;
}
/*.sec-content .sec-title {
	font-size: 36px;
	margin-bottom: 50px;
}
.sec-content .sub-title {
	font-size: 25px;
	margin-bottom: 5px;
}*/
.inner {
	max-width: 1150px;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 0 auto;
}
.inner2 {
	max-width: 1150px;
	margin: 0 auto;
}
.inner3 {
	max-width: 900px;
	margin: 0 auto;
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
.sec-content {
	padding: 75px 0;
}
/*.sec-content .sec-title {
	font-size: 21px;
	margin-bottom: 30px;
}*/
}
/* --------  480〜　iphone5調整   --------*/
@media screen and ( max-width:374px) {
}
/* --------  680〜999　テキストサイズ調整   --------*/
@media screen and (min-width:770px) and ( max-width:999px) {
.sec-content .sub-title {
	font-size: 2.5vw;
}
/*.sec-content .sec-title {
	font-size: 3.4vw;
}*/
}
/* --------  680〜999　テキストサイズ調整   --------*/
@media screen and (min-width:680px) and ( max-width:769px) {
.sec-content .sub-title {
	font-size: 2.7vw;
}
/*.sec-content .sec-title {
	font-size: 3.6vw;
}*/
}

/*----------------------------------------------------
 PC＆スマホ800
----------------------------------------*/
/* --------  800〜　PC調整   --------*/
@media screen and ( min-width:800px) {
.sp800 {
	display:none!important;
}
.pc800 {
	display:block;
}
}
/* --------  〜800　スマホ調整   --------*/
@media screen and ( max-width:799px) {
.sp800 {
	display:block;
}
.pc800 {
	display:none;
}
}






/*----------------------------------------------------
   メイン画像
----------------------------------------------------*/
#main {
	background-image: url("img/main-bg-01.png"),url("img/main-bg-02.png");
	background-repeat: no-repeat;
	background-position: left top,left bottom;
	background-size: 100% auto;
}
#main .main-title dt {
	margin-bottom: 30px;
	width: 96%;
}
/* --------  680〜　PC調整   --------*/
@media screen and ( min-width:680px) {
#main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 7vw 0 9vw;
	overflow: hidden;
}
#main .main-title {
	width: 40%;
	box-sizing: border-box;
	padding-left: 6.5vw;
}
#main .pic {
	width: 60%;
	overflow: hidden;
	position: relative;
	margin-right: -50px;
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
#main {
	background-image: url("img/main-bg-sp01.png"),url("img/main-bg-sp02.png");
	padding: 80px 2% 40px;
	overflow: hidden;
}
#main.sub-page {
	padding: 60px 2% 60px;
}
#main .main-title {
	margin: 0 auto 40px;
}
#main .main-title dt {
	width: 94%;
	max-width: 320px;
	margin: 0 auto 20px;
}
#main .main-title dd {
	max-width: 340px;
	margin: 0 auto;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#main .main-title dt {
	width: 85%;
	max-width: 300px;
}
#main .main-title dd {
	width: 80%;
	max-width: 280px;
}
}






/*----------------------------------------------------
   メニュー
----------------------------------------------------*/
#menu, .fix-menu {
	background-image: url("img/bg-blue.jpg");
}
.overlay #nav-content {
	opacity: 0;
}
.overlay .menu-view #nav-content {
	opacity: 1;
}
@media screen and ( min-width:680px) {
.fix-menu {
	opacity: .9;
	z-index: 800;
}
#menu .nav-list li,
.fix-menu .nav-list li {
	width: calc(75% / 4);
}
#menu .nav-list li:nth-of-type(1),
.fix-menu .nav-list li:nth-of-type(1) {
	width: 25%;
}
#menu .nav-list li a,
.fix-menu .nav-list li a {
	color: #33a8fa;
	font-weight: 600;
	padding: 1.5em 1em;
}
#menu .nav-list li a:after,
.fix-menu .nav-list li a:after {
	background-color: #33a8fa;
}
#menu .nav-list li:nth-of-type(1) a:before,
.fix-menu .nav-list li:nth-of-type(1) a:before {
	content: "";
	background-color: #33a8fa;
	width: 1px;
	height: 1.5em;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}
#menu .nav-list li a:hover,
.fix-menu .nav-list li a:hover {
	background-color: rgba(255,255,255,0.7);
}
}





/*----------------------------------------------------
   txt
----------------------------------------------------*/
.txt-blue {
	color: #54b9f8;
}
.txt-green {
	color: #71c6cb;
}
.inline-txt {
	display: inline-block;
}
.txt-bg-orange {
	text-align: center;
	color: #FFF;
	line-height: 1.5;
	text-shadow: 0px 0px 3px rgba(246, 184, 1, 0.9);
	background-color: #fccb3b;
	font-weight: 500;
}
.txt-half-orange {
	display: inline;
    padding: 0 4px 0 4px;
    background: linear-gradient(transparent 60%, #ffdd68 0%);
}
.cap {
	font-size: 13px;
}
@media screen and ( max-width:679px) {
.cap {
	font-size: 11px;
}
}

/*----------------------------------------------------
   sec-title
----------------------------------------------------*/
.sec-title {
	margin-bottom: 100px;
}
.sec-title dt {
	font-size: 40px;
	font-weight: 600;
}
.sec-title dd {
	font-size: 24px;
	font-weight: 500;
}
@media screen and ( min-width:680px) and ( max-width:920px) {
.sec-title {
	margin-bottom: 10vw;
}
.sec-title dt {
	font-size: clamp(2rem, 0.583rem + 3.33vw, 2.5rem);
}
.sec-title dd {
	font-size: clamp(1.25rem, 0.542rem + 1.67vw, 1.5rem);
}
}
@media screen and ( max-width:679.9px) {
.sec-title {
	margin-bottom: 12vw;
}
.sec-title dt {
	/*font-size: clamp(1.25rem, 0.854rem + 2.11vw, 1.75rem);*/
	font-size: 24px;
}
.sec-title dd {
	font-size: 20px;
}
#privacy-policy .sec-title dt,
#thanks .sec-title dt {
	margin-top: 15px!important;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.sec-title dt {
	font-size: 20px;
}
.sec-title dd {
	font-size: 15px;
}
}



/*----------------------------------------------------
   about
----------------------------------------------------*/

#about {
	background-image: url("img/about-bottom.png"),url("img/bg-yellow.jpg");
	background-repeat: no-repeat,repeat;
	background-position: center bottom -1px, left top;
	background-size: 100% auto, auto auto;
	padding: 30px 20px;
}
#about .inner {
	display: flex;
	justify-content: center;
	position: relative;
	padding: 100px 0 200px;
}
#about .txt-box {
	text-align: center;
	position: relative;
	z-index: 30;
}
#about .txt-box dt strong {
	font-weight: 700;
}
#about .txt-box dt,
#about .txt-box dd {
	font-weight: 500;
	line-height: 2;
}
#about .txt-box dt {
	margin-bottom: 1.8em;
}

#about .pic-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 20;
}
#about .pic-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 20;
}
/* --------  680〜　PC調整   --------*/
@media screen and ( min-width:800px) {

#about .txt-box dt,
#about .txt-box dd {
	font-size: 25px;
}
#about .txt-box dt strong {
	font-size: 33px;
}

#about .pic01,
#about .pic02 {
	width: 18%;
	max-width: 160px;
}
#about .pic03,
#about .pic04 {
	width: 26%;
	max-width: 250px;
}
}
@media screen and ( min-width:1080px) {
#about .pic01 {
	margin-left: 3vw;
}
#about .pic02 {
	margin-right: 3vw;
}
}
@media screen and ( max-width:799px) {
#about .inner {
	flex-flow: column;
}
#about .pic-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#about .pic-bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#about .pic01 {
	width: 24%;
	max-width: 120px;
	margin-left: -20px;
}
#about .pic02 {
	width: 24%;
	max-width: 120px;
	margin-right: -20px;
}
#about .pic03 {
	width: 40%;
	bottom: 0;
	max-width: 220px;
	margin-left: -20px;
}
#about .pic04 {
	width: 40%;
	bottom: 0;
	max-width: 220px;
	margin-right: -20px;
}

#about .txt-box {
	margin-top: -4vw;
}
#about .txt-box dt,
#about .txt-box dd {
	font-size: clamp(1.063rem, 0.937rem + 0.63vw, 1.25rem);
}
#about .txt-box dt strong {
	font-size: clamp(1.375rem, 1.124rem + 1.25vw, 1.75rem);
}
}
@media screen and ( max-width:739px) {
#about .pic-bottom {
	margin-bottom: -8vw;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#about .inner {
	padding: 0;
}
#about .txt-box dt,
#about .txt-box dd {
	font-size: 15px;
}
#about .txt-box dt strong {
	font-size: 18px;
}
#about .pic-top {
	position: relative;
	margin-bottom: 15px;
}
#about .pic-bottom {
	position: relative;
	margin-top: 20px;
}
#about .pic01 {
	width: 40%;
	max-width: 90px;
}
#about .pic02 {
	width: 40%;
	max-width: 90px;
}
#about .pic03 {
	width: 45%;
}
#about .pic04 {
	width: 45%;
}
}


/*----------------------------------------------------
   解決
----------------------------------------------------*/

#solution {
	padding-top: 70px;
}
#solution .solution-title {
	text-align: center;
	position: relative;
	margin-bottom: 70px;
}
#solution .solution-title dt {
	display: inline-block;
	background-color: #dee9e9;
	border-radius: 100px;
	padding: .4em 50px;
	position: relative;
	margin-bottom: 25px;
	font-weight: 500;
}
#solution .solution-title dt span {
	position: relative;
	z-index: 30;
}
#solution .solution-title dt:before {
	content: "";
	width: calc(100% + 20px);
	height: 80px;
	background-image: url("img/deco01.png"),url("img/deco02.png");
	background-repeat: no-repeat;
	background-size: 44px auto, 28px auto;
	background-position: left top, right top 30px;
	position: absolute;
	left: -10px;
	top: -30px;
	z-index: 10;
}
#solution .solution-title dt:after {
	content: "";
	width:0;
	height:0;
	border-style:solid;
	border-width: 20px 7px 0 7px;
	border-color: #DEE9E9 transparent transparent transparent;
	position: absolute;
	left: 50%;
	bottom: -18px;
	transform: translate(-50%,0);
}
#solution .solution-title dd {
	font-weight: 500;
}
#solution .solution-title dd strong {
	font-weight: 600;
}
@media screen and ( min-width:800px) {
#solution .solution-title dt {
	font-size: 24px;
}
#solution .solution-title dd {
	font-size: 24px;
}
#solution .solution-title dd strong {
	font-size: 30px;
}
#solution .pic {
	max-width: 950px;
	margin: 0 auto;
}
}
@media screen and ( max-width:799px) {
#solution {
	padding-top: 100px;
}
#solution .inner {
	padding: 0 2%;
}
#solution .solution-title {
	margin-bottom: 40px;
}
#solution .solution-title dt,
#solution .solution-title dd {
	font-size: clamp(1.063rem, 0.937rem + 0.63vw, 1.25rem);
}
#solution .solution-title dd strong {
	font-size: clamp(1.375rem, 1.124rem + 1.25vw, 1.75rem);
}
#solution .pic {
	width: 94%;
	max-width: 650px;
	margin: 0 auto;
}
#solution .solution-title dt:before {
	width: 100%;
	left: -5px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#solution {
	padding: 70px 0 30px;
}
#solution .solution-title {
	margin-bottom: 20px;
}
#solution .solution-title dt,
#solution .solution-title dd {
	font-size: 15px;
}
#solution .solution-title dd strong {
	font-size: 18px;
}
#solution .solution-title dt:before {
	background-size: 34px auto, 20px auto;
}
#solution .pic {
	width: 100%;
}
}


/*----------------------------------------------------
   特長
----------------------------------------------------*/
#features {
	padding: 150px 0 0;
	margin-bottom: 80px;
	position: relative;
	background-image: url("img/bg-cr-top.jpg"),url("img/bg-blue.jpg");
	background-repeat: no-repeat, repeat;
	background-size: 100% auto;
	background-position: left top;
}
.features-sec {
	margin-top: 100px;
	margin-bottom: 100px;
}
.features-inner {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px ;
	box-sizing: border-box;
}
.features-contents {
	background-color: #FFF;
	border-radius: 80px 80px 0 0;
}
.features-contents .features-sec {
	padding-top: 100px;
	margin-top: 0;
	margin-bottom: 0;
}

.features-title {
	margin-bottom: 90px;
	text-align: center;
}
.features-title dt {
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.features-title dt span {
	font-size: 40px;
	font-weight: 600;
}
.features-title dd {
	font-size: 30px;
	font-weight: 500;
}
.features-title dd.sub-title {
	font-size: 34px;
	font-weight: 600;
	color: #54b9f8;
}
.features-title dd.blue-line {
	display: inline-block;
	padding: 0 8vw .4em;
	border-bottom: solid 3px #54b9f8;
	margin-bottom: .6em;
	position: relative;
}
.features-title dd.blue-line:before {
	content: "";
	width:0;
	height:0;
	border-style:solid;
	border-width: 20px 17px 0 17px;
	border-color: #54B9F8 transparent transparent transparent;
	position: absolute;
	left: 50%;
	bottom: -16px;
	transform: translate(-50%,0);
}
.features-title dd .number {
	margin-left: .4em;
}

@media screen and ( max-width:749.9px) {
#features {
	padding: 50px 0 80px;
}
}
@media screen and ( min-width:920px) and ( max-width:1020px) {
#features {
	padding: 150px 0 100px;
	position: relative;
}
}
@media screen and ( min-width:680px) and ( max-width:919px) {
#features {
	padding: 10vw 0 0;
}
.features-sec {
	margin-top: 10vw;
	margin-bottom: 10vw;
}
.features-contents {
	border-radius: 50px 50px 0 0;
}
.features-contents .features-sec {
	padding-top: 10vw;
	margin-top: 0;
	margin-bottom: 0;
}
.features-title {
	margin-bottom: 9vw;
}
.features-title dt {
	font-size: clamp(1.25rem, -0.528rem + 4.18vw, 1.875rem);
	line-height: 1;
	margin-bottom: .4em;
}
.features-title dt span {
	font-size: clamp(1.875rem, 0.097rem + 4.18vw, 2.5rem);
}
.features-title dd {
	font-size: clamp(1.375rem, -0.048rem + 3.35vw, 1.875rem);
}
.features-title dd.sub-title {
	font-size: clamp(1.75rem, 0.861rem + 2.09vw, 2.063rem);
}
}
@media screen and ( max-width:679.9px) {
#features {
	padding: 15vw 0 0;
	margin-bottom: 60px;
}
.features-sec {
	margin-top: 15vw;
	margin-bottom: 15vw;
}
.features-contents {
	border-radius: 30px 30px 0 0;
}
.features-contents .features-sec {
	padding-top: 15vw;
	margin-top: 0;
	margin-bottom: 0;
}
.features-inner {
	margin: 0 auto;
	padding: 0 2.5% ;
}
.features-title {
	margin-bottom: 11vw;
	box-sizing: border-box;
	padding: 0 20px;
}
.features-title dt {
	/*font-size: clamp(1.125rem, 0.927rem + 1.06vw, 1.375rem);*/
	font-size: 24px;
	line-height: 1;
	margin-bottom: 20px;
}
.features-title dt span {
	font-size: 30px;
	/*font-size: clamp(1.5rem, 1.302rem + 1.06vw, 1.75rem);*/
}
.features-title dd {
	/*font-size: clamp(1.125rem, 0.927rem + 1.06vw, 1.375rem);*/
	font-size: 22px;
}
.features-title dd.sub-title {
	font-size: clamp(1.375rem, 1.109rem + 1.22vw, 1.625rem);
}
.features-title dd.blue-line {
	padding: 0 8vw .8em;
}
.features-title dd.blue-line:before {
	border-width: 16px 14px 0 14px;
	bottom: -13px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.features-title dt {
	font-size: 20px;
	margin-bottom: 15px;
}
.features-title dt span {
	font-size: 26px;
}
.features-title dd {
	font-size: 17px;
}
.features-title dd.sub-title {
	font-size: 18px;
}
.features-title dd.blue-line:before {
	border-width: 12px 12px 0 12px;
	bottom: -10px;
}
}

/*----------------------------------------------------
   特長（メニュー）
----------------------------------------------------*/
#features .features-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 970px;
	margin: 0 auto;
}
#features .features-menu li {
	margin-top: 25px;
}
#features .features-menu li a {
	width: 100%;
	/*display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;*/
	display: block;
	text-align: center;
	font-size: 22px;
	font-weight: 600;
	background-color: #69c5fe;
	color: #FFF;
	border-radius: 200px;
	padding: 10px 1.5em 30px;
	box-sizing: border-box;
	box-shadow: 0px 0px 6px -1px #3fc2ff;
	background-image: url("../common/img/arrow03.png");
    background-repeat: no-repeat;
    background-size: 18px auto;
    background-position: center bottom 12px;
}
#features .features-menu li a span.number {
	font-size: 19px;
	display: block;
	text-align: center;
	font-weight: 500;
}
@media screen and ( min-width:750px) {
#features .features-menu li {
	width: 48%;
	display: flex;
}
#features .features-menu li:nth-child(1),
#features .features-menu li:nth-child(2) {
	margin-top: 0;
}
}
@media screen and ( min-width:680px) and ( max-width:919px) {
#features .features-menu li {
	width: 49%;
}
#features .features-menu li a {
	font-size: clamp(1.063rem, 0.354rem + 1.67vw, 1.313rem);
}
#features .features-menu li a span.number {
	font-size: clamp(1rem, 0.469rem + 1.25vw, 1.188rem);
}
}
@media screen and ( max-width:749.9px) {
#features .features-menu li {
	width: 100%;
}
#features .features-menu li:first-of-type {
	margin-top: 0;
}
}
@media screen and ( max-width:679.9px) {
#features .features-menu {
	padding: 0 20px;
}
#features .features-menu li a {
	font-size: 17px;
}
#features .features-menu li a span.number {
	font-size: 15px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#features .features-menu {
	padding: 0;
	width: 96%;
	margin: 0 auto;
}
#features .features-menu li {
	margin-top: 10px;
}
#features .features-menu li a {
	font-size: 14px;
	background-size: 12px auto;
	background-position: center bottom 7px;
	padding: 5px 1em 20px
}
#features .features-menu li a span.number {
	font-size: 13px;
}
}

/*----------------------------------------------------
   特長（タブメニュー）
----------------------------------------------------*/
/* --------  タブのメニュー部分   --------*/
@media screen and ( min-width:680px) {
.point-tabs-list {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.tab-ac,
.tab-ac .resp-tabs-list {
	position: relative;
}
#point-tab {
	background-color: #f4faff;
}
#point-tab .bg {
	background-color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.tab-ac li.sec-ac .tab-ac-btn {
	width: 30%;
	display: block;
	border-radius: 15px 15px 0px 0px;
	box-sizing: border-box;
	padding: 20px 15px ;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
	font-weight: bold;
	background-color: #b9e5f4!important;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}
.tab-ac li.sec-ac .tab-ac-btn a {
	color: #FFF!important;
}
.tab-ac .point-tabs-list > li:nth-child(2):nth-last-child(2) .tab-ac-btn {
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
}
.tab-ac .point-tabs-list > li:nth-child(1) .tab-ac-btn {
	margin-left: 20px;
}
.tab-ac .point-tabs-list > li:nth-child(3) .tab-ac-btn {
	position: absolute;
	right: 20px;
	top: 0;
}
/*.tab-ac li.sec-ac span {
	display: block;
}*/
.tab-ac li.sec-ac .btnAcv {
	background-color: #f4faff!important;
	color: #54b9f8!important;
}
.tab-ac li.sec-ac .tab-ac-btn:hover {
	background-color: #e5f3ff!important;
	color: #FFF!important;
}
.tab-ac li.sec-ac .btnAcv a,
.tab-ac li.sec-ac .tab-ac-btn:hover a{
	color: #54b9f8!important;
}
.tab-ac li.sec-ac .btnAcv:hover {
	background-color: #e5f3ff!important;
	color: #54b9f8!important;
}
}
@media screen and ( min-width:680px) and ( max-width:919px) {
.tab-ac li.sec-ac .tab-ac-btn {
	font-size: clamp(0.938rem, 0.404rem + 1.26vw, 1.125rem);
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
.tab-ac li.sec-ac .tab-ac-btn {
	width: 100%;
	display: block;
	box-sizing: border-box;
	padding: 10px 15px 30px;
	font-size: 17px;
	text-align: center;
	font-weight: bold;
	background-color: #a0dbef!important;
	border-bottom: solid 2px #FFF;
	position: relative;
	margin: 0 0 0;
}
.tab-ac li.sec-ac .tab-ac-btn:after {
	content: "";
	width: 98%;
	height: 20px;
	background-image: url("../common/img/arrow03.png");
	background-size: auto 50%;
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	left: 1%;
	bottom: 5px;
}
.tab-ac li.sec-ac .tab-ac-btn a {
	color: #FFF!important;
}
/*.tab-ac li.sec-ac span {
	display: block;
}*/
.tab-ac li.sec-ac .btnAcv {
	background-color: #54b9f8!important;
	color: #FFF!important;
}
.tab-ac li.sec-ac .btnAcv:after {
	background-image: url("../common/img/arrow03.png");
}
.tab-ac li.sec-ac .btnAcv a {
	color: #FFF!important;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.tab-ac li.sec-ac .tab-ac-btn {
	font-size: 14px;
	padding: 10px 5px 20px;
}
.tab-ac li.sec-ac .tab-ac-btn br {
	display: block;
}
.tab-ac li.sec-ac .btnAcv:after {
	height: 16px;
}
}

/*----------------------------------------------------
   特長（タブ内容）
----------------------------------------------------*/
/* --------  タブの内容部分・共通   --------*/
@media screen and ( min-width:680px) {
.tab-ac .tab-ac-container {
	background-color: #f4faff!important;
	padding: 100px 20px ;
	text-align: center;
	color: #000;
	display: none;
}
.tab-ac li.sec-ac:first-of-type  .tab-ac-container {
	display: block;
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
.tab-ac .tab-ac-container {
}
.tab-ac .tab-ac-container {
	background-color: #f4faff!important;
	padding: 8vw 2.5% ;
	text-align: center;
	color: #000;
	display: none;
}
.tab-ac li.sec-ac:first-of-type  .tab-ac-container {
	display: block;
}
}

/*----------------------------------------------------
   開発者の声
----------------------------------------------------*/
.developer-voice {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#54b9f8+0,73d9fb+100 */
	background: linear-gradient(135deg,  #54b9f8 0%,#73d9fb 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	border-radius: 30px;
	position: relative;
	padding: 80px 40px 40px;
	margin-bottom: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.developer-voice .eng-title {
	max-width: 280px;
	width: 70%;
	position: absolute;
	left: 0;
	top: 0;
}
.developer-voice .developer-pic {
	margin-top: -10%;
	width: 30%;
}
.developer-voice .developer-txt {
	width: 64%;
	text-align: left;
}
.developer-voice .developer-txt dt {
	display: flex;
	align-items: center;
	font-size: 28px;
	color: #FFF;
	font-weight: 500;
	padding: 0 10px 20px;
	border-bottom: dashed 1px #FFF;
	margin-bottom: 40px;
}
.developer-voice .developer-txt dt span {
	max-width: 62px;
	width: 15%;
	margin-right: 16px;
}
.developer-voice .developer-txt dd,
.developer-voice .developer-txt dd p {
	color: #FFF;
	font-weight: 500;
	padding: 0 10px;
	line-height: 2.2;
	font-size: 17px;
}
.developer-voice .developer-txt dd p {
	margin-bottom: 1.2em;
}
.developer-voice .developer-txt dd p:only-child,
.developer-voice .developer-txt dd p:last-of-type {
	margin-bottom: 0;
}
@media screen and ( min-width:680px) and ( max-width:919px) {
.developer-voice .developer-txt dt {
	font-size: clamp(1.375rem, 0.308rem + 2.51vw, 1.75rem);
	margin-bottom: 4vw;
}
}
@media screen and ( min-width:680px) and ( max-width:849px) {
.developer-voice {
	padding: 80px 20px 40px;
}
.developer-voice .developer-txt dd {
	font-size: 16px;
}
}
@media screen and ( max-width:679.9px) {
.developer-voice {
	padding: 17vw 1.5em 6vw;
	margin-bottom: 10vw;
	flex-flow: column;
	margin-top: 30px;
}
.features-inner .developer-voice {
	margin-top: 70px;
}
.developer-voice .eng-title {
	max-width: 260px;
	width: 50%;
}
.developer-voice .developer-pic {
	position: absolute;
	right: -5px;
	top: 5px;
	width: 34%;
}
.developer-voice .developer-txt {
	width: 100%;
	text-align: left;
}
.developer-voice .developer-txt dt {
	font-size: 22px;
	margin-bottom: 20px;
}
.developer-voice .developer-txt dt span {
	max-width: 50px;
	width: 12%;
	margin-right: 16px;
}
.developer-voice .developer-txt dd,
.developer-voice .developer-txt dd p {
	font-size: 15px;
}
.developer-voice .developer-txt dd p {
	font-size: 15px;
	padding: 0;
}
.developer-voice .developer-txt dd p span {
	font-size: 15px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.developer-voice {
	padding: 15vw 1.5em 8vw;
}
.developer-voice .developer-txt dt {
	font-size: 17px;
	padding: 0 10px 10px;
}
.developer-voice .developer-txt dt span {
	margin-right: 10px;
}
.developer-voice .developer-txt dd {
	font-size: 12px;
	line-height: 1.8;
}
.developer-voice .developer-txt dd span,
.developer-voice .developer-txt dd p,
.developer-voice .developer-txt dd p span {
	font-size: 12px!important;
	line-height: 1.8!important;
}
}

/*----------------------------------------------------
   開発ポイント
----------------------------------------------------*/
.development-point {
	display: flex;
	flex-wrap: wrap;
	border-top: dashed 1px #6d6d6d;
	margin-bottom: 70px;
}
.development-point li {
	width: 50%;
	box-sizing: border-box;
	padding: 1em 1.4em 1em calc(1.4em + 30px);
	text-align: left;
	position: relative;
	font-size: 16px;
	border-bottom: dashed 1px #6d6d6d;
}
.development-point li:nth-child(2n+1) {
	border-right: dashed 1px #6d6d6d;
}
.development-point li:only-child {
	width: 100%;
	border-right: none;
}
.development-point li strong {
	font-size: 20px;
	font-weight: 500;
}
.development-point li:before {
	content: "";
	width: 24px;
	aspect-ratio: 23/19;
	background-image: url("img/check.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	position: absolute;
	left: 1.4em;
	top: 24px;
}
.development-point li p {
	margin-top: .5em;
}
.development-point li p .txt-blue {
	font-weight: 500;
}
.development-pht {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 40px;
	background-color: #FFF;
	border: solid 1px #d9d9d9;
}
.development-pht:has(.cap) {
	margin-bottom: 40px;
	position: relative;
}
.development-pht .cap {
	position: absolute;
	left: 50%;
	bottom: -30px;
	transform: translate(-50%,0);
}
#feature02 .development-pht,
#feature04 .development-pht {
	border: none;
	padding: 0 40px;
}
.development-att {
	text-align: right;
	margin: 35px auto 0;
	font-size: 14px;
}
@media screen and ( min-width:680px) and ( max-width:919px) {
.development-point li strong {
	font-size: clamp(1.125rem, 0.769rem + 0.84vw, 1.25rem);
}
}
@media screen and ( max-width:799px) {
.development-point li {
	width: 100%;
}
.development-point li:nth-child(2n+1) {
	border-right: none;
}
.development-point li:before {
	width: 20px;
	top: 26px;
}
.development-att {
	font-size: 12px;
	margin: 25px auto 0;
}
}
@media screen and ( max-width:679.9px) {
.development-point li {
	padding: 1em 1.2em 1em calc(1.2em + 26px);
}
.development-point li:before {
	width: 18px;
	top: 22px;
	left: 1em;
}
.development-point li {
	font-size: 15px;
}
.development-point li strong {
	font-size: 18px;
}
.development-point {
	margin-bottom: 8vw;
}
.development-pht {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 2.5%;
	background-color: #FFF;
}
#feature04 .development-pht {
	padding: 0;
}
.development-point li p {
	margin-top: 1em;
}
.development-pht:has(.cap) {
	margin-bottom: 60px;
}
.development-pht .cap {
	bottom: -24px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.development-point li {
	font-size: 12px;
	padding: 1em 1.2em 1em calc(1.2em + 16px);
}
.development-point li strong {
	font-size: 15px;
}
.development-point li:before {
	width: 15px;
	top: 18px;
	left: 1em;
}
.development-att {
	font-size: 9px;
}
}

/*----------------------------------------------------
   Check
----------------------------------------------------*/
.features-paper {
	background-image: url("img/bg-paper.jpg");
	background-repeat: repeat;
	padding: 0 ;
}
.features-subsec {
	padding-bottom: 100px;
	border: solid 1px #33a8fa;
}
.features-subsec:not(:last-of-type) {
	border-bottom: none;
}
.features-paper h3 {
	color: #54b9f8;
	font-weight: 500;
	text-align: center;
	font-size: 26px;
	background-color: #f4faff;
	padding: 1em;
	box-sizing: border-box;
	border-top: solid 10px #ade0ff;
	border-bottom: solid 1px #ade0ff;
}
.check-txt,
.pht-box {
	max-width: 1060px;
	padding: 0 20px;
	box-sizing: border-box;
	margin: 60px auto;
}
.pht-box {
	position: relative;
	margin: 60px auto 0;
}
.pht-check {
	background-color: #FFF;
	border: solid 1px #22a4ff;
	box-sizing: border-box;
	box-shadow: 6px 6px 0px 0px #54b9f8;
	padding: 30px 20px;
}
.pht-check h4 {
	color: #22a4ff;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
	border-bottom: dashed 1px #22a4ff;
	padding-bottom: .4em;
	margin-bottom: 1em;
	line-height: 1.6;
}
.pht-check .check-flow {
	text-align: center;
	margin-bottom: 24px;
}
.pht-check .check-flow li {
	font-size: 18px;
	position: relative;
}
.pht-check .check-flow li:after {
	content: "▼１Click!";
	color: #22a4ff;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	display: block;
}
.pht-check .check-flow li:last-of-type:after {
	display: none;
}
.pht-check .ribbon {
	text-align: center;
	color: #FFF;
	line-height: 1.5;
	text-shadow: 0px 0px 3px rgba(246, 184, 1, 0.9);
	background-color: #fccb3b;
	font-size: 22px;
	font-weight: 500;
	padding: .4em 1em;
	margin-left: -26px;
	position: relative;
}
.pht-check .ribbon:after {
	content: "";
	width: 20px;
	height: 100%;
	background:linear-gradient(to bottom right, transparent 50%, #FFF 50%) top left/ 100% 50% no-repeat,
    linear-gradient(to top right, transparent 50%, #FFF 50%) bottom left / 100% 50% no-repeat;
	position: absolute;
	right: 0;
	top: 0;
}

.check-txt:not(:has(.txt-box)) h4 {
	color: #54b9f8;
	font-size: 24px;
	font-weight: 500;
}
.check-txt .txt-box h4 {
	color: #54b9f8;
	font-size: 20px;
	border-bottom: dashed 1px #54b9f8;
	display: block;
	font-weight: 500;
	padding: .4em 30px;
}
.check-txt .txt-box h4:first-letter {
	margin-right: .5em;
}
.check-txt .number-list {
	margin-left: 50px;
}
.check-txt .number-list li {
	list-style-type: decimal;
	list-style-position: outside;
	padding-left: .5em;
	margin-top: 26px;
	line-height: 2;
}
.check-txt .number-list li::marker {
	font-size: 19px;
}

.other-list {
	max-width: 900px;
	width: 95%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.other-list dt {
	width: 8%;
	margin-bottom: 45px;
}
.other-list dd {
	width: 88%;
	font-size: 17px;
	margin-bottom: 45px;
}
.other-list dd .txt-half-orange {
	font-size: 20px;
}
.other-list dt:last-of-type,
.other-list dd:last-of-type {
	margin-bottom: 0;
}

.features-btn {
	max-width: 770px;
	width: 95%;
	margin: 60px auto 0;
}
.features-btn h5 {
	color: #54b9f8;
	font-size: 25px;
	font-weight: 500;
	padding: 0 50px 10px;
	text-align: center;
	background-image: url("img/deco03-1.png"),url("img/deco03-2.png");
	background-size: 48px auto;
	background-position: left bottom, right bottom;
	background-repeat: no-repeat;
}
.features-btn p {
	background-color: #40b0ff;
	border-radius: 200px;
	margin-top: 20px;
	transition: 0.3s ease-in-out;
}
.features-btn p:hover {
	background-color: #1ca1ff;
}
.features-btn p a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	text-align: center;
	color: #FFF;
	font-weight: 500;
	padding: 1em;
}
.features-btn p a:after {
	content: "";
	width: 12px;
	height: 12px;
	border-right: solid 2px #FFF;
	border-top: solid 2px #FFF;
	transform: rotate(45deg);
	margin: 2px 0 0 14px;
}

@media screen and ( min-width:760px) {
.check-txt {
	display: flex;
	/*justify-content: space-between;*/
}
.check-txt:not(:has(.txt-box)) {
	align-items: center;
}
.check-txt .check {
	width: 25%;
	flex-shrink: 0;
}
.check-txt .txt-box {
	margin-left: 3.5em;
	flex-grow: 1;
}
.check-txt:not(:has(.txt-box)) h4 {
	margin-left: 50px;
	flex-grow: 1;
}
.check-txt .txt-box p {
	line-height: 2.2;
	margin-top: 1em;
}
.pht-check {
	width: 38%;
}
#features-subsec01 .pht-box .development-pht {
	width: 76%;
	position: absolute;
	right: 20px;
	top: 10px;
	z-index: 5;
}
#features-subsec04 .pht-box .development-pht {
	padding: 20px;
}
#features-subsec01 .pht-check {
	position: relative;
	z-index: 10;
}
.pht-box.flex-box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-flow: row-reverse;
}
.pht-box.flex-box .development-pht {
	width: 60%;
}
.pht-box.flex-box:has(> .development-pht:nth-child(2)) {
	flex-flow: row;
}
.pht-box.flex-box:has(> .development-pht:nth-child(2)) .development-pht {
	width: 49%;
	padding: 0px;
	border: none;
	background-color: transparent;
}
.pht-box.flex-box .pht-check {
	width: 38%;
	text-align: center;
}
.pht-check p.txt {
	font-size: 18px;
	line-height: 2;
}
.pht-check p.txt .txt-bg-orange {
	font-size: 24px;
	padding: 0 2px;
	line-height: 2;
}
}
@media screen and ( min-width:680px) and ( max-width:919.9px) {
.check-txt {
	display: flex;
	justify-content: space-between;
	margin: 40px auto;
}
.check-txt .check {
	width: 30%;
	flex-shrink: 0;
}
.check-txt .txt-box {
	margin-left: 1.5em;
}
.check-txt .txt-box p {
	line-height: 2.2;
	margin-top: .6em;
}
.pht-check h4 {
	font-size: clamp(1.25rem, 0.542rem + 1.67vw, 1.5rem);
}
.pht-check .check-flow li {
	font-size: clamp(1rem, 0.646rem + 0.83vw, 1.125rem);
}
.pht-check .check-flow li:after {
	font-size: clamp(1.063rem, 0.531rem + 1.25vw, 1.25rem);
}
.pht-check .ribbon {
	font-size: clamp(1.188rem, 0.656rem + 1.25vw, 1.375rem);
}
}
@media screen and ( min-width:830px) and ( max-width:919.9px) {
.pht-check p.txt {
	font-size: clamp(0.938rem, 0.406rem + 1.25vw, 1.125rem);
}
.pht-check p.txt .txt-bg-orange {
	font-size: clamp(1.125rem, 0.24rem + 2.08vw, 1.438rem);
}
}
@media screen and ( min-width:760px) and ( max-width:829.9px) {
.pht-box.flex-box .pht-check p {
	font-size: clamp(0.875rem, -1.879rem + 5.8vw, 1.125rem);
}
.pht-box.flex-box .pht-check p .txt-bg-orange {
	font-size: clamp(1.063rem, -2.38rem + 7.25vw, 1.375rem);
}
.features-btn h5 {
	font-size: clamp(1.25rem, -1.504rem + 5.8vw, 1.5rem);
}
.features-btn p a {
	font-size: clamp(1.125rem, -2.317rem + 7.25vw, 1.438rem);
}
}
@media screen and ( max-width:759.9px) {
.features-subsec {
	padding-bottom: 80px;
}
.features-paper h3 {
	font-size: 20px;
}
.pht-box {
	margin: 30px auto 0px;
}
.pht-check {
	width: 96%;
	max-width: 400px;
	margin: 30px auto 0;
}
.check-txt {
	margin: 50px auto 30px;
}
.check-txt .check {
	width: 50%;
	max-width: 200px;
	margin-bottom: 20px;
}
.pht-check h4 {
	font-size: 18px;
}
.check-txt .txt-box p,
.check-txt .number-list li {
	font-size: 15px;
}

.pht-check .check-flow {
	margin-bottom: 20px;
}
.pht-check .check-flow li {
	font-size: 16px;
	position: relative;
	line-height: 2;
}
.pht-check .check-flow li:after {
	font-size: 17px;
}
.pht-check .ribbon {
	font-size: 18px;
}
.pht-box.flex-box .pht-check {
	text-align: center;
}
.pht-box.flex-box .pht-check p {
	font-size: 16px;
	line-height: 2;
}
.pht-box.flex-box .pht-check p .txt-bg-orange {
	font-size: 20px;
	padding: 0 2px;
	line-height: 2;
}

.check-txt:not(:has(.txt-box)) h4 {
	font-size: 20px;
	margin-bottom: 30px;
}
.other-list dt {
	width: 65px;
	margin-bottom: 35px;
}
.other-list dd {
	width: calc(100% - 65px);
	box-sizing: border-box;
	padding-left: 1em;
	margin-bottom: 35px;
	font-size: 14px;
	line-height: 1.8;
}
.other-list dd .txt-half-orange {
	font-size: 17px;
}
.other-list dt:last-of-type,
.other-list dd:last-of-type {
	margin-bottom: 0;
}
.pht-box.flex-box:has(> .development-pht:nth-child(2)) .development-pht {
	margin-bottom: 20px;
}
.pht-box.flex-box:has(> .development-pht:nth-child(2)) .development-pht:last-of-type {
	margin-bottom: 0px;
}

.features-btn h5 {
	font-size: 18px;
}
.features-btn p a {
	font-size: 18px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.features-paper h3 {
	font-size: 15px;
}
.pht-check h4 {
	font-size: 15px;
}
.check-txt .txt-box h4 {
	font-size: 15px;
	padding: .4em 10px;
}
.pht-check .check-flow li {
	font-size: 13px;
}
.check-txt .number-list {
	margin-left: 26px;
}
.check-txt .number-list li {
	margin-top: 15px;
}
.check-txt .number-list li::marker {
	font-size: 16px;
}
.pht-check .check-flow li:after {
	font-size: 13px;
}
.pht-check .ribbon {
	font-size: 15px;
}
.pht-box.flex-box .pht-check p {
	font-size: 13px;
}
.pht-box.flex-box .pht-check p .txt-bg-orange {
	font-size: 15px;
}
.check-txt .txt-box p,
.check-txt .number-list li {
	font-size: 13px;
}
.check-txt:not(:has(.txt-box)) h4 {
	font-size: 15px;
}
.other-list {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	align-items: center;
}
.other-list dt {
	width: 50px;
	margin-bottom: 10px;
}
.other-list dt:nth-of-type(3) {
	margin-bottom: 15px;
}
.other-list dd {
	width: 100%;
	font-size: 13px;
	margin-bottom: 30px;
}
.other-list dd .txt-half-orange {
	font-size: 15px;
}
.features-btn {
	margin: 40px auto 0;
}
.features-btn h5 {
	font-size: 15px;
	padding: 0 30px 10px;
	background-size: 28px auto;
}
.features-btn p {
	margin-top: 15px;
}
.features-btn p a {
	font-size: 14px;
}
.features-btn p a:after {
	width: 8px;
	height: 8px;
	margin: 2px 0 0 10px;
}
}



/*----------------------------------------------------
   info
----------------------------------------------------*/
#info {
	padding: 150px 0 ;
	position: relative;
	background-image: url("img/bg-cr-top.jpg"),url("img/bg-cr-bottom.jpg"),url("img/bg-blue.jpg");
	background-repeat: no-repeat, no-repeat, repeat;
	background-size: 100% auto;
	background-position: left top, left bottom -1px, left top;
}
.info-sec {
	max-width: 1100px;
	margin: 0 auto;
	padding: 140px 20px 0;
	box-sizing: border-box;
}
.info-sec:last-of-type {
	padding: 140px 20px 80px;
}
.info-sec .sec-title {
	margin-bottom: 60px;
}

@media screen and ( max-width:749.9px) {
#info {
	padding: 80px 0;
}
.info-sec .sec-title {
	margin-bottom: 40px;
}
}
@media screen and ( min-width:920px) and ( max-width:1020px) {
#info {
	padding: 150px 0;
	position: relative;
}
}
@media screen and ( min-width:680px) and ( max-width:919px) {
#info {
	padding: 10vw 0;
}
.info-sec {
	padding: 12vw 0;
}
}
@media screen and ( max-width:679.9px) {
#info {
	padding: 12vw 0 ;
}
.info-sec {
	padding: 16vw 2.5% 0;
}
.info-sec:last-of-type {
	padding: 16vw 2.5% 8vw;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
.info-sec .sec-title {
	margin-bottom: 20px;
}
}

/*----------------------------------------------------
   price
----------------------------------------------------*/
#price h3 {
	font-size: 28px;
	text-align: center;
	font-weight: 500;
	line-height: 2;
	margin-bottom: 50px;
}
#price .pht {
	max-width: 900px;
	margin: 0 auto;
}
@media screen and ( max-width:679.9px) {
#price h3 {
	font-size: 20px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#price h3 {
	font-size: 16px;
}
}

/*----------------------------------------------------
   voice
----------------------------------------------------*/
#voice .comingsoon {
	font-size: 28px;
	text-align: center;
	font-weight: 500;
	line-height: 2;
	max-width: 12em;
	padding: .2em 0;
	margin: 0 auto;
	border: solid 2px #000;
}
@media screen and ( max-width:679.9px) {
#voice .comingsoon {
	font-size: 18px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#voice .comingsoon {
	font-size: 15px;
}
}

/*----------------------------------------------------
   flow
----------------------------------------------------*/
#flow .read {
	font-size: 26px;
	text-align: center;
	font-weight: 500;
	line-height: 2;
}
#flow .white-content {
	background-color: #FFF;
	border-radius: 30px;
}
/* --------  680〜　PC調整   --------*/
@media screen and ( min-width:680px) {
#flow .lead {
	font-size: 30px;
}
#flow .white-content {
	margin-top: 35px;
	padding: 38px 0;
	margin-bottom: 70px;
	position: relative;
}
#flow .white-content:after {
	content: "";
	width: 43px;
	height: 28px;
	background-image: url("../common/img/arrow02.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: left top;
	position: absolute;
	left: 50%;
	bottom: -50px;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
}
#flow .flow04:after {
	display: none;
}
#flow .flow04 {
	margin-bottom: 40px;
}
#flow .flow-box {
	display: table;
	table-layout: fixed;
}
#flow .flow-box dt {
	display: table-cell;
	width: 20%;
	vertical-align: middle;
}
#flow .flow-box dd {
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
	padding-left: 40px;
	text-align: left;
}
#flow .flow-box dd .flow-midashi {
	font-size: 19px;
	font-weight: bold;
	margin-bottom: 10px;
}
#flow .flow-box dd p {
	line-height: 1.7;
}
.nsips {
	display: table;
	table-layout: fixed;
	width: 75%;
	margin: 0 auto;
}
.nsips dt {
	display: table-cell;
	width: 8%;
	vertical-align: middle;
}
.nsips dd {
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
	padding-left: 30px;
	text-align: left;
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
#flow .read {
	font-size: 18px;
}
#flow .white-content {
	margin-top: 25px;
	padding: 20px 3%;
	margin-bottom: 70px;
	position: relative;
}
#flow .white-content:after {
	content: "";
	width: 43px;
	height: 28px;
	background-image: url("../common/img/arrow02.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: left top;
	position: absolute;
	left: 50%;
	bottom: -50px;
	-webkit-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	transform: translate(-50%,0);
}
#flow .flow04:after {
	display: none;
}
#flow .flow04 {
	margin-bottom: 40px;
}
#flow .flow-box {
}
#flow .flow-box dt {
	width: 30%;
	margin: 0 auto 10px;
}
#flow .flow-box dd {
	text-align: left;
}
#flow .flow-box dd .flow-midashi {
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 5px;
}
#flow .flow-box dd p {
	line-height: 1.7;
}
.nsips {
	width: 85%;
	margin: 0 auto;
	text-align: center;
}
.nsips dt {
	width: 16%;
	margin: 0 auto 10px;
}
.nsips dd {
	text-align: center;
	line-height: 1.8;
}
}
/* --------  480〜　iphone5調整   --------*/
@media screen and ( max-width:374px) {
}

/* --------  680〜999　テキストサイズ調整   --------*/
@media screen and (min-width:680px) and ( max-width:999px) {
#flow .read {
	font-size: 23px;
}
#flow .white-content {
	padding: 35px 2%;
}
.nsips {
	width: 85%;
}
}
/* --------  680〜999　テキストサイズ調整   --------*/
@media screen and (min-width:680px) and ( max-width:899px) {
.nsips dt {
	width: 58px;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#flow .read {
	font-size: 16px;
}
#flow .white-content {
	padding: 20px;
}
#flow .flow-box dd .flow-midashi {
	font-size: 15px;
}
#flow .flow-box dd p {
	font-size: 13px;
}
.nsips dd {
	font-size: 13px;
}
}



/*----------------------------------------------------
   contact
----------------------------------------------------*/
#contact {
	padding: 100px 0 ;
}
.contact-sec {
	max-width: 1100px;
	margin: 0px auto;
	padding: 0 20px ;
	box-sizing: border-box;
}
.contact-sec .sec-title {
	margin-bottom: 60px;
}
#contact .read {
	font-size: 17px;
	text-align: center;
	font-weight: 500;
	line-height: 2;
}
.contact-sec .txt {
	margin-top: 20px;
	text-align: center;
}

@media screen and ( max-width:749.9px) {
#contact {
	padding: 80px 0;
}
.contact-sec .sec-title {
	margin-bottom: 40px;
}
#contact .read {
	font-size: 15px;
}
#contact .contact-box {
	margin: 0 auto;
	padding: 0;
}
}
@media screen and ( max-width:679.9px) {
#contact {
	padding: 12vw 0 ;
}
.contact-sec {
	margin: 12vw 0 0;
	padding: 0 2.5% ;
}
}
/* --------  〜399   --------*/
@media screen and ( max-width:399px) {
#contact .read {
	font-size: 13px;
}
}






/*----------------------------------------------------
   プライバシーリンク
----------------------------------------------------*/
.privacy-txt {
	border-bottom: dashed 1px #cde3f6;
	padding-bottom: 10px;
	margin-bottom: 5px;
}
.privacy-txt a {
	display: inline-block;
	color: crimson;
	text-decoration: underline!important;
}
a.swin {
	background-image: url("../img/link_tab.jpg");
	background-repeat: no-repeat;
	background-size: 11px auto;
	background-position: right 5px center;
	padding-right: 20px;
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
.privacy-txt {
	margin-bottom: 15px;
}
}




/*----------------------------------------------------
   個人情報保護
----------------------------------------------------*/
#privacy-policy .privacy	{
	padding:15px;
	margin:8px 0;
}
#privacy-policy .privacy p	{
}
#privacy-policy .privacy	ol	{
	/*margin-left:1.5em;*/
	margin-top:1em;
}
#privacy-policy .privacy .privacy-midashi	{
	font-size:20px;
	font-weight: bold;
	margin-bottom: 1em;
}
#privacy-policy .privacy li .privacy-midashi	{
	font-size:17px;
	font-weight: bold;
	margin-bottom:1em;
	padding-left:2em;
	text-indent:-2em;
	border-bottom: solid 1px #000;
}
#privacy-policy .privacy02 li .privacy-midashi	{
	padding-left:0;
	text-indent:0;
}
#privacy-policy .privacy li ol li	{
	padding-left:3em;
	text-indent:-3em;
	padding-bottom: 10px;
}
#privacy-policy .privacy .name,
#privacy-policy .privacy .privacy-contact {
	text-align: right;
	margin-top: 20px;
}
/* --------  680〜　PC調整   --------*/
@media screen and ( min-width:680px) {
#privacy-policy .txt-box {
	/*border-bottom: dashed 1px #000000;*/
	padding-bottom: 20px;
}
#privacy-policy .txt-box .txt {
	margin-bottom: 1em;
}
#privacy-policy .privacy	li	{
	padding:6px 0 50px;
}
}
/* --------  〜680　スマホ調整   --------*/
@media screen and ( max-width:679px) {
#privacy-policy .txt-box {
	padding: 0 2% 0px;
}
#privacy-policy .txt-box .txt {
	margin-bottom: 1em;
}
#privacy-policy .privacy	li	{
	padding:6px 0 30px;
}
}




/*----------------------------------------------------
   固定ピックアップ 2025.3.18
----------------------------------------------------*/

@media screen and ( min-width:680px) {
.fix-pickup {
	width: 50%;
	max-width: 340px;
	box-sizing: border-box;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 6000;
	padding: 10px;
}
}

@media screen and ( max-width:679px) {
.fix-pickup {
	display: none;
}
}

/*----------------------------------------------------
   fix-contact
----------------------------------------------------*/
.fix-contact {
	position: relative;
}
@media screen and ( min-width:680px) {
.fix-contact {
	box-shadow: 0px 0px 12px -6px rgba(0,0,0,0.6);
	max-width: 300px;
	margin-left: auto;
}
.fix-contact a {
	display: block;
	background-color:  #33a8fa;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 10px;
}
.fix-contact a:hover {
	filter:Alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
.fix-contact .fix-box {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 10px;
}
.fix-contact .fix-box p.fix-logo {
	width: 38%;
}
.fix-contact .fix-box p.fix-logo-txt {
	width: 52%;
	margin-left: 3%;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
}
.fix-contact .fix-txt {
	padding-top: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	font-weight: bold;
}
.fix-contact .fix-txt:after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: solid 2px #FFF;
	border-top: solid 2px #FFF;
	transform: rotate(45deg);
	display: block;
	margin-left: 4px;
}


.contact-close {
	width: 24px;
	height: 24px;
	position: absolute;
	right: 10px;
	top: -30px;
	z-index: 6010;
	cursor: pointer;
	border-radius: 50%;
	background-color: #FFF;
	box-sizing: border-box;
}
.contact-close::before,
.contact-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px; /* 棒の幅（太さ） */
	height: 60%; /* 棒の高さ */
	background: #7f7f7f;
}
.contact-close::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.contact-close::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.contact-close:hover::before,
.contact-close:hover::after {
	background: #a13f3f;
}
}

@media screen and ( max-width:679px) {
.fix-contact {
	display: none;
}
}




/*----------------------------------------
 アニメーション
----------------------------------------*/

@keyframes fadeUp {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-blur {
  0% {
    /* 初期状態のスタイル */
	opacity: 0;
	filter: blur(10px);
  }
  100%{
    /* 最終状態のスタイル */
	opacity: 1;
	filter: blur(0px);
  }
}

/*
.animation {
	opacity: 0;
}
.animation.animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
*/

/*----ファーストビュー----*/

#main.animation .main-title dt,
#main.animation .main-title dd,
#main.animation .pic {
	opacity: 0;
}
#main.animationActive .main-title dt {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}
#main.animationActive .main-title dd {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .6s 1 forwards;
}
#main.animationActive .pic {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) 1s 1 forwards;
}

/*----about----*/

#about .animation {
	opacity: 0;
}
#about .pic-top.animationActive,
#about .txt-box.animationActive,
#about .pic-bottom.animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}

/*----solution----*/

#solution .animation {
	opacity: 0;
}
#solution .solution-title.animationActive {
	animation: fade-blur .8s forwards linear 1;
}
#solution .pic.animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}

/*----features----*/

#features .animation {
	opacity: 0;
}
#features .sec-title.animationActive,
#features .features-sec.animationActive,
#features .features-title.animationActive,
#features .development-pht.animationActive,
#features .development-att.animationActive,
#features .features-subsec.animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}
#features .features-menu.animationActive {
	animation: fade-blur .8s forwards linear 1;
}

/*----info----*/

#info .animation {
	opacity: 0;
}
#info .info-sec.animationActive,
#info .white-content.animationActive,
#info .nsips.animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}

/*----contact----*/

#contact .animation {
	opacity: 0;
}
#contact .animationActive {
	animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) .3s 1 forwards;
}




