/*
----------------------------------------

reset

----------------------------------------
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote: before, blockquote:after,
q: before, q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

/*
----------------------------------------

common

----------------------------------------
*/

html[lang="ja"] {
	margin-top: 0 !important;
}

.left {
	text-align: left;
}

.center {
	text-align: center;
}

.right {
	text-align: right;
}

.mes {
	text-align: center;
	margin: 1.5rem 0;
}

.mes p {
	display: inline-block;
	font-size: 2rem;
	line-height: 1.8;
	color: #139fe5;
	background: #fff;
	border: solid 2px #139fe5;
	padding: 0.5rem 2rem;
}

.video {
	max-width: 800px;
	margin: 30px auto;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.sp {
	display: none;
}

.ofi img {
	object-fit: cover;
	font-family: "object-fit: cover;"; /* ie */
}

/* clearfix */

.clearfix:before,
.clearfix:after {
	display: table;
	content: "";
}
.clearfix:after {
	clear: both;
}

/* scrollbar */

/*
::-webkit-scrollbar {
	width: 5px;
	background: transparent;
}

::-webkit-scrollbar-track {
	box-shadow: none;
}

::-webkit-scrollbar-thumb {
	background-color: #ccc;
	box-shadow: none;
}
*/

.topic-path {
	white-space: nowrap;
	overflow: auto;
	background: #fff;
}

#breadcrumbs {
	font-size: 1.4rem;
	letter-spacing: 0.8px;
	margin: 12px 0;
}

#breadcrumbs a {
	display: inline-block;
	color: #3797db;
	font-weight: bold;
	position: relative;
	margin-right: 33px;
}

#breadcrumbs a::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 9px;
	background: url(../img/common/2x/arrow-path.png) center center / contain no-repeat;
	position: absolute;
	right: -24px;
	top: 50%;
	transform: translate(-50%, -50%);
}

#wrapper .slick-slide {
	opacity: 0.5;
	transition: all 0.2s;
}

#wrapper .slick-slide img {
	width: 100%;
}

#wrapper .slick-slider .slick-track {
	margin: 0 auto;
}

#wrapper .slick-active {
	opacity: 1;
}

#wrapper .slick-dots {
	margin: 0;
	bottom: -45px;
}

#wrapper .slick-dots li {
	padding: 0;
	margin: 0 5px;
	letter-spacing: 0;
}

#wrapper .slick-dots li::before {
	display: none;
}

#wrapper .slick-dots li button:before {
	font-size: 12px;
	color: #ccc;
	opacity: 1;
}

#wrapper .slick-dots li.slick-active button:before {
	color: #3797db;
	opacity: 1;
}

#wrapper .slick-prev,
#wrapper .slick-next {
	width: 33px;
	height: 33px;
	min-width: initial;
	z-index: 99;
	transition: all 0.4s;
	border-radius: 50%;
}

#wrapper .slick-prev {
	left: 1.8rem;
	background: url(../img/common/2x/arrow-prev.png) center center / contain no-repeat;
}

#wrapper .slick-next {
	right: 1.8rem;
	background: url(../img/common/2x/arrow-next.png) center center / contain no-repeat;
}

#wrapper .slick-prev:before,
#wrapper .slick-next:before {
	display: none;
}

.addtoany_list.a2a_kit_size_32 a:not(.addtoany_special_service) > span {
	width: 29px !important;
	height: 29px !important;
	line-height: 29px !important;
	border-radius: 50%;
	padding: 3px;
	transition: all 0.2s;
}

.edit-post-visual-editor {
	background: transparent;
}

/* font */

.en {
	font-family: "Lato", sans-serif;
	font-weight: 400;
}

.en-02 {
	font-family: "Caveat", cursive;
	font-weight: 400;
}

.ttl-jp {
	font-family: "Zen Maru Gothic", sans-serif;
	letter-spacing: -1px;
}

.ttl-jp-02 {
	font-family: vdl-penletter, sans-serif;
	font-style: normal;
	font-weight: 700;
}

.heading-01 {
	font-size: 2.8rem;
	letter-spacing: 2.5px;
	line-height: 1.5;
	padding-left: 4.5rem;
	margin-bottom: 2rem;
	position: relative;
}

.heading-01::before {
	content: "";
	width: 30px;
	height: 1px;
	/* background: #c4ac6d; */
	background: #000;
	position: absolute;
	top: 50%;
	left: 0;
}

/* ttl */

.ttl-01 {
	text-align: center;
	margin-bottom: 4.5rem;
}

.ttl-01.wh {
	color: #fff;
	margin-bottom: 2rem;
}

.ttl-01 .icon {
	line-height: 0.5;
}

.ttl-01 .ttl {
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.5;
}

.ttl-01 .num {
	font-size: 6rem;
}

.ttl-01 .en {
	margin-top: -5px;
}

.ttl-01 .en span {
	font-size: 1.8rem;
	font-weight: bold;
	text-transform: capitalize;
	display: inline-block;
	color: #3797db;
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin: 0 2rem;
}

.ttl-01.wh .en span {
	background: #fff;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.ttl-01 .en::before,
.ttl-01 .en::after {
	content: "";
	display: inline-block;
	width: 34px;
	height: 6px;
	background-image: url(../img/common/2x/dot.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: translateY(-1px);
}

.ttl-01.wh .en::before,
.ttl-01.wh .en::after {
	background-image: url(../img/common/2x/dot-wh.png);
}

.ttl-02 {
	text-align: center;
}

.ttl-02.wh {
	color: #fff;
}

.ttl-02 .ttl {
	font-size: 2.8rem;
	font-weight: normal;
	letter-spacing: -3px;
	display: inline-block;
	padding: 1rem 4rem;
	background-image: url(../img/common/2x/ttl-02-before.png), url(../img/common/2x/ttl-02-after.png);
	background-position: left center, right center;
	background-size: 28px;
	background-repeat: no-repeat;
	margin-bottom: 0.5rem;
}

.ttl-02.wh .ttl {
	background-image: url(../img/common/2x/ttl-02-wh-before.png), url(../img/common/2x/ttl-02-wh-after.png);
}

.ttl-02.wh-02 .ttl {
	background-image: url(../img/common/2x/ttl-02-wh-02-before.png), url(../img/common/2x/ttl-02-wh-02-after.png);
	background-size: 34px;
}

.ttl-03 {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.8rem;
}

.ttl-03::before,
.ttl-03::after {
	content: "";
	height: 4px;
	flex: 1;
	background: url(../img/common/2x/border-01.png) left center / auto 4px repeat-x;
}

.ttl-03 span {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.4;
	margin: 0 1.5rem;
}

.ttl-04 {
	text-align: center;
	position: relative;
	padding: 0 0 2rem;
	margin: 0 0 1.5rem;
	border-bottom: solid 2px #333;
	line-height: 1.6;
}

.ttl-04::before,
.ttl-04::after {
	content: "";
	width: 4px;
	height: 4px;
	border: solid 2px #333;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	bottom: -5px;
}

.ttl-04::before {
	left: -2px;
}

.ttl-04::after {
	right: -2px;
}

.ttl-04 .ttl-jp {
	display: inline-block;
	font-size: 3.2rem;
	font-weight: normal;
}

.ttl-05 {
	font-size: 2.4rem;
	line-height: 1.6;
	padding-bottom: 1rem;
	margin: 4rem 0 2rem;
	border-bottom: solid 1px #dbdbdb;
	position: relative;
}

.ttl-05::before {
	content: "";
	width: 15rem;
	height: 1px;
	background: #139fe5;
	position: absolute;
	left: 0;
	bottom: -1px;
}

.ttl-05.num {
	padding-left: 3.2rem;
	position: relative;
}

.ttl-05.num .num {
	position: absolute;
	top: 0;
	left: 0;
}

.ttl-05.mt-0 {
	margin-top: 0;
}

.ttl-06 {
	text-align: center;
	position: relative;
	margin: 0 0 1.2rem;
	line-height: 1.6;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}

.ttl-06::before,
.ttl-06::after {
	content: "";
	flex: 1;
	height: 2px;
	background: #333;
	margin: 0 4px;
}

.ttl-06 .txt {
	font-size: 3.6rem;
	letter-spacing: 2.2px;
	padding: 0 2rem;
}

.ttl-06 .txt::before,
.ttl-06 .txt::after {
	content: "";
	width: 4px;
	height: 4px;
	border: solid 2px #333;
	background: #fff;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: calc(50% - 4px);
}

.ttl-06 .txt::before {
	left: 0;
}

.ttl-06 .txt::after {
	right: 0;
}

.ttl-06 .txt.ttl-jp {
	font-size: 3.2rem;
	font-weight: normal;
	letter-spacing: -1px;
}

.h-01 > span {
	display: inline-block;
	font-size: 3.8rem;
	font-weight: normal;
	letter-spacing: 2px;
	line-height: 1.2;
	padding: 0 3.2rem 1rem;
	background-image: url(../img/common/2x/h-01-bg.png), url(../img/common/2x/h-01-bg.png);
	background-position: left center, right center;
	background-size: 21px;
	background-repeat: no-repeat;
}

.h-01.gr > span {
	background-image: url(../img/common/2x/h-01-gr-bg.png), url(../img/common/2x/h-01-gr-bg.png);
}

.h-01.pk > span {
	background-image: url(../img/common/2x/h-01-pk-bg.png), url(../img/common/2x/h-01-pk-bg.png);
}

.h-01.nv > span {
	background-image: url(../img/common/2x/h-01-nv-bg.png), url(../img/common/2x/h-01-nv-bg.png);
}

.h-01.blgr > span {
	background-image: url(../img/common/2x/h-01-blgr-bg.png), url(../img/common/2x/h-01-blgr-bg.png);
}

.h-02 {
	width: 100%;
	text-align: center;
	line-height: 1.8;
}

.h-02 .ttl-wrap {
	display: block;
	width: 100%;
	position: relative;
	padding: 0.6rem 4rem 0 4rem;
	margin-bottom: 1rem;
	font-size: 2.4rem;
	letter-spacing: 2px;
}

.h-02 .ttl-wrap::before {
	content: "";
	display: inline-block;
	width: 212px;
	height: 44px;
	background: url(../img/common/2x/line-01.png) center center / contain no-repeat;
	position: absolute;
	top: -1rem;
	left: 0;
}

.h-02 .ttl-wrap .ttl-jp {
	font-size: 2.4rem;
	font-weight: normal;
	letter-spacing: -2.4px;
	line-height: 1.5;
	padding: 0 4rem;
}

.h-03 {
	text-align: center;
}

.h-03 .txt {
	display: inline-block;
	padding: 0.5rem 4rem;
	font-size: 2rem;
	letter-spacing: -0.6px;
	color: #139fe5;
	background: #fff;
	border-radius: 2.5rem;
	position: relative;
	position: relative;
}

.h-03 .txt::before {
	content: "";
	position: absolute;
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/common/2x/illust-04-01.png) center center / contain no-repeat;
	top: -1rem;
	left: -1rem;
}

.h-04 {
	text-align: center;
}

.h-04 .ribbon {
	display: inline-block;
	padding: 0 2.4rem;
	line-height: 49px;
	white-space: nowrap;
	background-image: url(../img/interview/2x/ribbon-bg-before.png), url(../img/interview/2x/ribbon-bg-after.png);
	background-position: center left, center right;
	background-size: auto 49px;
	background-repeat: no-repeat;
}

.h-04 .ribbon .ttl-jp {
	display: block;
	width: 100%;
	padding: 0 4.5rem;
	background-image: url(../img/interview/2x/ribbon-bg-center.png);
	background-position: center center;
	background-size: auto 49px;
	background-repeat: repeat-x;
	color: #fff;
	font-size: 2rem;
	letter-spacing: 1px;
}

.h-04 .ribbon .s {
	font-size: 1.6rem;
}

.h-05 {
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.7;
	letter-spacing: 0.6px;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: solid 2px #139fe5;
}

.border-bl {
	display: inline;
	padding: 0.6rem 0;
	background: url(../img/interview/2x/border.png) left bottom / 9px repeat-x;
}

.table-01 {
	width: 100%;
	text-align: left;
	line-height: 1.7;
	border-top: solid 1px #dbdbdb;
}

.table-01 th {
	width: 16.5rem;
	padding: 2.3rem 3rem;
	font-weight: bold;
	border-bottom: solid 1px #dbdbdb;
	line-height: 1.9;
	position: relative;
}

.table-01 td {
	width: calc(100% - 16.5rem);
	padding: 2.3rem 3rem 2.3rem 0;
	border-bottom: solid 1px #dbdbdb;
	line-height: 1.9;
}

.table-01 td .note {
	font-size: 1.4rme;
}

.table-02 {
	width: 100%;
	text-align: left;
	line-height: 1.7;
	margin-top: 12.6rem;
}

.table-02 thead th {
	border-bottom: solid 2px #139fe5;
	vertical-align: bottom;
}

.table-02 thead th:nth-of-type(2) {
	padding-right: 0.5rem;
}

.table-02 thead th:nth-of-type(3) {
	padding: 0 0.5rem;
}

.table-02 thead th:nth-of-type(4) {
	padding-left: 0.5rem;
}

.table-02 thead .label {
	display: block;
	background: #139fe5;
	color: #fff;
	font-size: 3.2rem;
	line-height: 1.5;
	text-align: center;
	padding: 2.5rem 1rem 1.6rem;
	border-radius: 2rem 2rem 0 0;
	position: relative;
}

.table-02 thead .label.short {
	background: #69cfd1;
}

.table-02 thead .label.mist {
	background: #29b4cc;
}

.table-02 thead .img {
	position: absolute;
	right: 0;
	bottom: 66%;
	left: 0;
	text-align: center;
	line-height: 0.5;
}

.table-02 thead th:nth-of-type(3) .img {
	bottom: 62%;
	transform: scale(1);
}

.table-02 tbody {
	font-size: 1.8rem;
	font-weight: bold;
	background: #fff;
	position: relative;
}

.table-02 tbody th {
	width: 27rem;
	letter-spacing: 0;
	line-height: 1.6;
	color: #3797db;
	background: #f0faff;
	padding: 3rem 4.2rem 2.9rem;
	border-bottom: solid 1px #dbdbdb;
	position: relative;
}

.table-02 tbody td {
	width: calc((100% - 27rem) / 3);
	letter-spacing: 0;
	line-height: 1.6;
	color: #333;
	padding: 3rem 2rem 2.9rem;
	border-bottom: solid 1px #dbdbdb;
	text-align: center;
}

.table-02 tbody td .yes {
	display: inline-block;
	font-weight: bold;
	color: #3797db;
	transform: scale(1.25);
}

.table-02 tbody td .no {
	display: inline-block;
	font-weight: bold;
	color: #777;
	transform: scale(1.25);
}

.table-02 tbody th:nth-of-type(1) {
	padding-right: 0.5rem;
}

.table-02 tbody th:nth-of-type(2) {
	padding-left: 0.5rem;
}

.table-02 tbody td .note {
	font-size: 1.4rme;
}

.caption {
	caption-side: bottom;
	margin-top: 1.5rem;
	font-size: 1.4rem;
	text-align: right;
}

.table-03 {
	width: 100%;
	text-align: left;
	color: #333;
	line-height: 1.7;
	border-bottom: solid 1px #dbdbdb;
}

.table-03 th {
	width: 23.5rem;
	padding: 3rem 0 3.1rem 3rem;
	font-weight: bold;
	border-top: solid 1px #dbdbdb;
	line-height: 1.8;
	vertical-align: middle;
	position: relative;
}

.table-03 th::before,
.table-03 tr:last-child th::after,
.table-03 tr:last-child td::after {
	content: "";
	width: 15rem;
	height: 1px;
	background: #139fe5;
	position: absolute;
	left: 0;
	top: -1px;
}

.table-03 tr:last-child th::after,
.table-03 tr:last-child td::after {
	top: auto;
	bottom: -1px;
}

.table-03 tr:last-child td::after {
	display: none;
}

.table-03 td {
	width: calc(100% - 23.5rem);
	padding: 3rem 3rem 3.1rem;
	border-top: solid 1px #dbdbdb;
	line-height: 1.8;
	position: relative;
}

.under-line {
	background: linear-gradient(transparent 80%, #ffea01 80%);
}

/* btn */

.btn-01 {
	text-align: center;
}

.btn-01 a,
.btn-01 .btn {
	display: inline-block;
	width: 22rem;
	max-width: 100%;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 6rem;
	white-space: nowrap;
	border-radius: 3rem;
	padding: 0 2rem;
	color: #fff;
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	position: relative;
	transition: all 0.4s;
}

.btn-01.bl a,
.btn-01.bl .btn {
	background: #139fe5;
}

.btn-01.gr a,
.btn-01.gr .btn {
	background: #69cfd1;
}

.btn-01.pk a,
.btn-01.pk .btn {
	background: #f77288;
}

.btn-01.nv a,
.btn-01.nv .btn {
	background: #034d9b;
}

.btn-01.blgr a,
.btn-01.blgr .btn {
	background: #29b4cc;
}

.btn-01.l a,
.btn-01.l .btn {
	min-width: 32rem;
}

.btn-01 a::after,
.btn-01 .btn::after {
	content: "";
	display: inline-block;
	width: 1.6rem;
	height: 1.6rem;
	background: url(../img/common/2x/arrow-01.png) center center / contain no-repeat;
	position: absolute;
	top: calc(50% - 0.8rem);
	right: 2rem;
	transition: all 0.4s;
}

.btn-01.back-btn a::after {
	right: auto;
	left: 2rem;
	transform: rotate(180deg);
}

.btn-01.application a {
	font-size: 1.6rem;
	line-height: 5rem;
	padding: 0 2rem 0 2.6rem;
	letter-spacing: 1px;
}

.btn-01.application a::before {
	content: "";
	display: inline-block;
	width: 2rem;
	height: 2.3rem;
	background: url(../img/common/2x/icon-contact.png) center center / contain no-repeat;
	vertical-align: middle;
	transform: translateX(-1rem);
}

.btn-01.application a::after {
	display: none;
}

.btn-01.user a {
	width: 20rem;
	font-size: 1.6rem;
	line-height: 4rem;
	padding: 0 3rem 0 5rem;
}

.btn-01.user a::before {
	content: "";
	display: inline-block;
	width: 1.7rem;
	height: 1.9rem;
	background: url(../img/common/2x/icon-user-wh.png) center center / contain no-repeat;
	position: absolute;
	top: calc(50% - 1rem);
	left: 2.2rem;
}

.btn-01.user a::after {
	display: none;
}

.btn-01.ext-link a {
	font-size: 1.5rem;
	line-height: 4rem;
	padding: 0 3.5rem 0 2.5rem;
}

.btn-01.ext-link a::before {
	content: "";
	display: inline-block;
	width: 1.6rem;
	height: 1.5rem;
	background: url(../img/common/2x/icon-ext-link.png) center center / contain no-repeat;
	position: absolute;
	top: calc(50% - 0.75rem);
	right: 1.5rem;
}

.btn-01.ext-link a::after {
	display: none;
}

/* list */

.list-01 li {
	position: relative;
	padding-left: 1.5rem;
	line-height: 1.8;
	letter-spacing: 1.8px;
}

.list-01 li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #3797db;
	position: absolute;
	top: 12px;
	left: 0;
}

.list-01 li + li {
	margin-top: 0.6rem;
}

.ol-01 {
	counter-reset: ol;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.ol-01 > li {
	position: relative;
	padding-left: 2.2rem;
	margin-bottom: 0.6rem;
	line-height: 1.8;
	letter-spacing: 1.8px;
}

.ol-01 > li::before {
	content: counters(ol, ".") ". ";
	counter-increment: ol;
	color: #3797db;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
}

.ol-02 {
	counter-reset: ol-02;
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}

.ol-02 > li {
	position: relative;
	padding-left: 4.2rem;
	margin-bottom: 0.6rem;
	line-height: 1.8;
	letter-spacing: 1.8px;
}

.ol-02 > li::before {
	display: inline-block;
	width: 3.5rem;
	text-align: right;
	content: "(" counters(ol-02, "") ")";
	counter-increment: ol-02;
	color: #777;
	position: absolute;
	top: 0;
	left: 0;
}

.dl-01 .flex {
	align-items: center;
	margin: 2.8rem 0;
}

.dl-01 dt {
	display: inline-block;
	font-weight: bold;
	letter-spacing: 1px;
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%);
	color: #fff;
	padding: 0.2rem 1.8rem;
	margin-bottom: 1.5rem;
	border-radius: 1.8rem;
}

.dl-01 dd {
	margin: 0 2.5rem 1.5rem 1rem;
}

.dl-02 dt {
	font-weight: bold;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: solid 1px #dbdbdb;
}

.dl-02 dd + dt {
	margin-top: 2rem;
}

.dl-03 {
	width: 100%;
	border-top: solid 1px #dbdbdb;
	letter-spacing: 1.2px;
}

.dl-03 dt {
	width: 44%;
	padding: 2.15rem 3rem;
	border-bottom: solid 1px #dbdbdb;
	position: relative;
}

.dl-03 dt::after,
.dl-03 dt:first-of-type::before {
	content: "";
	width: 15rem;
	height: 1px;
	background: #139fe5;
	position: absolute;
	bottom: -1px;
	left: 0;
}

.dl-03 dt:first-of-type::before {
	bottom: auto;
	top: -1px;
}

.dl-03 dd {
	width: 56%;
	padding: 2.15rem 0;
	border-bottom: solid 1px #dbdbdb;
}

.dl-04 {
	padding: 1px 0;
	background-image: url(../img/server/2x/border-01-x.png), url(../img/server/2x/border-01-x.png);
	background-position: center top, center bottom;
	background-size: 4px;
	background-repeat: repeat-x;
	position: relative;
}

.dl-04 dt {
	text-align: center;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.dl-04 dt span {
	display: inline-block;
	font-size: 2.2rem;
	font-weight: bold;
	padding: 0 3rem;
	background: #fff;
}

.dl-04 dd {
	padding: 3rem 4rem;
	letter-spacing: 0.8px;
	background-color: #fff;
	background-image: url(../img/server/2x/border-01-y.png), url(../img/server/2x/border-01-y.png);
	background-position: left top, right top;
	background-size: 1px;
	background-repeat: repeat-y;
}

@keyframes swipe {
	0% {
		transform: translateX(-15px);
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	35% {
		opacity: 1;
	}
	50% {
		transform: translateX(-45px);
		opacity: 0;
	}
	100% {
		transform: translateX(-45px);
		opacity: 0;
	}
}

.scroll-finger {
	position: absolute;
	top: 5.5rem;
	right: 0;
	z-index: 99;
}

.scroll-finger img {
	width: 7rem;
	pointer-events: none;
	transform: translateX(-15px);
	animation: swipe 3s linear 1s infinite normal;
}

/* layout */

.wrap {
	width: 100%;
	max-width: 1260px;
	padding: 0 30px;
	text-align: left;
	margin: 0 auto;
}

.flex {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.illust-wrap {
	display: inline-block;
	position: relative;
	margin: 0;
}

.illust-wrap::before,
.illust-wrap::after {
	content: "";
	position: absolute;
}

.illust-01::before,
.illust-pfas::before {
	width: 159px;
	height: 64px;
	background: url(../img/common/2x/illust-01-01.png) center center / contain no-repeat;
	top: -2rem;
	left: -2rem;
}

.illust-01::after,
.illust-pfas::after {
	width: 112px;
	height: 44px;
	background: url(../img/common/2x/illust-01-02.png) center center / contain no-repeat;
	right: -2rem;
	bottom: -1rem;
}

.illust-02::before {
	width: 102px;
	height: 94px;
	background: url(../img/common/2x/illust-02-01.png) center center / contain no-repeat;
	top: -2rem;
	left: -2rem;
}

.illust-02::after {
	width: 62px;
	height: 58px;
	background: url(../img/common/2x/illust-02-02.png) center center / contain no-repeat;
	right: -2rem;
	bottom: -1rem;
}

.illust-03::before {
	width: 49px;
	height: 97px;
	background: url(../img/common/2x/illust-03-01.png) center center / contain no-repeat;
	top: -2rem;
	left: -2rem;
}

.illust-03::after {
	width: 35px;
	height: 69px;
	background: url(../img/common/2x/illust-03-02.png) center center / contain no-repeat;
	right: -2rem;
	bottom: -1rem;
}

.illust-04::before {
	width: 97px;
	height: 101px;
	background: url(../img/common/2x/illust-04-01.png) center center / contain no-repeat;
	top: -2rem;
	left: -2rem;
}

.illust-04::after {
	width: 65px;
	height: 67px;
	background: url(../img/common/2x/illust-04-02.png) center center / contain no-repeat;
	right: -2rem;
	bottom: -1rem;
}

.illust-05::before {
	width: 102px;
	height: 94px;
	background: url(../img/common/2x/illust-05-01.png) center center / contain no-repeat;
	top: -2rem;
	left: -2rem;
}

.illust-05::after {
	width: 62px;
	height: 58px;
	background: url(../img/common/2x/illust-05-02.png) center center / contain no-repeat;
	right: -2rem;
	bottom: -1rem;
}

.illust-06::before {
	width: 81px;
	height: 85px;
	background: url(../img/common/2x/illust-06-01.png) center center / contain no-repeat;
	top: -6.4rem;
	left: -8rem;
}

.illust-06::after {
	width: 81px;
	height: 85px;
	background: url(../img/common/2x/illust-06-02.png) center center / contain no-repeat;
	top: -6.4rem;
	right: -8rem;
}

.bg-01 {
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%) !important;
	padding: 8rem 0 8.5rem;
	position: relative;
	z-index: 1;
}

.bg-01 .wrap {
	position: relative;
	z-index: 99;
}

.bg-01::before {
	content: "";
	display: block;
	background-image: url(../img/common/2x/bg-01.png), url(../img/common/2x/bg-shape.png);
	background-size: 1434px, 891px;
	background-position: center 12px, 42% top;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.bg-01.wave-top::before {
	background-image: url(../img/common/2x/bg-01.png);
	background-position: center 74px;
	background-size: 1434px;
}

.wave-bg {
	position: relative;
}

.wave-bg::after {
	content: "";
	height: 50px;
	background-image: url(../img/common/2x/wave-after.png);
	background-position: center bottom;
	background-size: 1000px;
	background-repeat: repeat-x;
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 2;
}

.wave-top::after {
	background-image: url(../img/common/2x/wave-before.png);
	background-position: center top;
	top: -1px;
	right: 0;
	bottom: auto;
	left: 0;
}

.bg-02 {
	border-radius: 2rem;
	padding: 4.5rem 4.5rem 6.5rem;
	background: #e5f7ff;
	position: relative;
}

.bg-02::before {
	content: "";
	width: 104px;
	height: 48px;
	background: url(../img/common/2x/clip.png) center center / contain no-repeat;
	position: absolute;
	top: -2.8rem;
	left: calc(50% - 52px);
	z-index: 9;
}

.bg-02::after {
	content: "";
	background: #fff;
	border: solid 2px #333;
	border-radius: 0.7rem;
	position: absolute;
	top: 1.4rem;
	right: 1.4rem;
	bottom: 1.4rem;
	left: 1.4rem;
}

.bg-02 > * {
	position: relative;
	z-index: 99;
}

.bg-02.ribbon {
	padding: 6.2rem 5.8rem 5.6rem;
}

.bg-02.ribbon::before {
	display: none;
}

.bg-02.ribbon .ribbon-ttl {
	position: absolute;
	top: -1.5rem;
	right: 0;
	left: 0;
	text-align: center;
}

.bg-03 {
	background-color: #e5f7ff;
	background-image: url(../img/common/2x/bg-03.png);
	background-position: left 19vw top;
	background-size: 275px;
	background-repeat: no-repeat;
	padding: 5.5rem 0 7rem;
}

.bg-04 {
	background-color: #e5f7ff;
	background-image: url(../img/common/2x/bg-04.png);
	background-position: left 18.2vw top;
	background-size: 1174px;
	background-repeat: no-repeat;
	padding: 5.5rem 0 7rem;
}

.bg-04.l {
	background-image: url(../img/common/2x/bg-04-02.png);
}

.bg-bl {
	background: #e5f7ff;
}

.border-bg {
	background: #fff;
	border-radius: 2rem;
	padding: 2.8rem 5.5rem 3.5rem;
	position: relative;
}

.border-bg::after {
	content: "";
	position: absolute;
	top: 10px;
	right: 10px;
	bottom: 10px;
	left: 10px;
	border: solid 1px #231815;
	border-radius: 1rem;
	pointer-events: none;
}

.clip {
	position: relative;
}

.clip::before {
	content: "";
	width: 4.7rem;
	height: 4.2rem;
	background: url(../img/server/2x/clip.png) center center / contain no-repeat;
	position: absolute;
	top: -0.6rem;
	left: 1.5rem;
	z-index: 99;
}

.cat-list li {
	margin: 0 1rem 1rem 0;
}

.cat-list a,
.cat-list .cat {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 1px;
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%);
	color: #fff;
	padding: 0.1rem 1.4rem;
	border-radius: 1.5rem;
}

.cont-box a {
	display: block;
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.cont-box .img {
	line-height: 0.5;
	margin-bottom: 0;
	overflow: hidden;
}

.cont-box .img img {
	width: 100%;
	height: 24rem;
	transition: all 0.4s;
}

.cont-box .txt {
	padding: 1.8rem 3rem 3rem;
}

.cont-box .user {
	align-items: flex-end;
	line-height: 1.4;
	flex-wrap: nowrap;
	margin: 0.6rem 0 0.8rem;
}

.cont-box .user .name {
	font-size: 1.8rem;
	font-weight: bold;
	white-space: nowrap;
	margin-right: auto;
	padding-right: 1rem;
}

.cont-box .user .name span {
	font-size: 2.4rem;
	margin-right: 3px;
}

.cont-box .cat-list {
	margin-right: auto;
	padding-right: 1rem;
}

.cont-box .time {
	margin: 0 3px 0 0;
	letter-spacing: 1px;
}

.cont-box .ttl {
	font-size: 1.8rem;
	text-align: left;
	letter-spacing: 0.4px;
	line-height: 1.7;
	margin-top: 8px;
}

.cont-box .read {
	text-align: justify;
	letter-spacing: 0.6px;
}

.server-box {
	margin-top: 7rem;
}

.server-box .server-list {
	margin-bottom: 1rem;
}

.server-box .server {
	/* width: calc( ( 100% - 4rem ) / 3 ); */
	width: calc((100% - 9rem) / 3);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	text-align: center;
	margin-bottom: 4rem;
}

.server-box .server + .server {
	/* margin-left: 2rem; */
	margin-left: 4.5rem;
}

.server-box .server + .server:nth-child(3n + 1) {
	margin-left: 0;
}

.server-box .server .h-01,
.server-box .server .h-02 {
	justify-content: center;
	align-items: center;
}

.server-box .server .img {
	line-height: 0.5;
}

.server-box .server .img-wrap .box {
	width: calc((100% - 3rem) / 2);
}

.server-box .server .img-wrap .box:nth-child(even) {
	margin-left: 3rem;
}

.server-box .server .copy {
	justify-content: center;
	align-items: center;
}

.server-box .server .img-wrap .img {
	width: 100%;
	height: 300px;
	border: solid 1px #e5e5e5;
	justify-content: center;
	align-items: center;
	line-height: 0.5;
	margin: 0;
	background: #fff;
}

.server-box .server .btn-01 {
	margin-top: 2.2rem;
}

.server-box .server .btn-01 a,
.server-box .server .btn-01 .btn {
	width: 27rem;
	max-width: 100%;
	font-size: 1.8rem;
	line-height: 5rem;
	border-radius: 2.5rem;
}

.faq-list .faq {
	position: relative;
	background: #fff;
	border-radius: 1.5rem;
	padding: 1rem 2rem 1rem 3rem;
	margin-bottom: 2.5rem;
	box-shadow: 0 2px 0 rgba(0, 0, 0, 0.1);
	transition: all 0.2s;
}

.faq-list .q-ttl {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.6;
	padding: 1.4rem 6.5rem;
	position: relative;
}

.faq-list .q-ttl::before {
	content: "Q.";
	font-size: 3.6rem;
	text-align: center;
	color: #139fe5;
	white-space: nowrap;
	position: absolute;
	top: 0.2rem;
	left: 0.8rem;
}

.faq-list .q-ttl::after {
	content: "";
	width: 59px;
	height: 59px;
	background-image: url(../img/common/2x/faq-open.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: calc(50% - 2.5rem);
	right: 0;
}

.faq-list .q-ttl.active::after {
	background-image: url(../img/common/2x/faq-close.png);
}

.faq-list .q-txt {
	display: none;
	background: #f7f7f7;
	border-radius: 1.5rem;
	padding: 2rem 3rem;
	margin: 1rem 0 2.2rem;
	position: relative;
}

.faq-list .q-txt h4 {
	font-size: 2rem;
	letter-spacing: 1px;
	line-height: 1.6;
	color: #139fe5;
	margin-bottom: 1rem;
}

.faq-list .q-txt h4 a {
	color: #139fe5;
	border-bottom: solid 1px #139fe5;
}

.faq-list .q-txt p {
	letter-spacing: 0.7px;
}

.faq-list .q-txt p + p {
	margin-top: 2rem;
}

.faq-list .q-txt p .note {
	font-size: 1.2rem;
}

.faq-list .q-txt p a {
	display: inline-block;
	line-height: 1.8;
	color: #139fe5;
	border-bottom: solid 1px transparent;
}

.plan-box {
	background: #fff;
	padding: 5.2rem 0 1rem;
}

.plan-box .ttl-01 .icon {
	position: relative;
	top: -1.5rem;
}

.plan-box .price-wrap {
	padding: 3rem 2rem 3rem 3rem;
	text-align: center;
	align-items: center;
	background: #e5f7ff;
}

.plan-box .price-list {
	width: calc(100% - 28rem);
	padding-right: 2rem;
}

.plan-box .price-list .box {
	width: calc((100% - 4rem) / 3);
	padding: 2.8rem 1rem 2.2rem;
	background: #fff;
	border-radius: 2rem;
	font-size: 1.4rem;
	position: relative;
}

.plan-box .price-list .box + .box {
	margin-left: 2rem;
}

.plan-box .price-list .box + .box::before {
	content: "";
	width: 4.4rem;
	height: 4.4rem;
	background: url(../img/common/2x/plus.png) center center / contain no-repeat;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	position: absolute;
	top: calc(50% - 2.2rem);
	left: -3.2rem;
}

.plan-box .price-list .icon {
	width: 14rem;
	height: 14rem;
	border-radius: 50%;
	justify-content: center;
	align-items: center;
	background: #f5f5f5;
	margin: 0 auto 1.4rem;
	line-height: 0.5;
}

.plan-box .price-list .ttl {
	font-size: 2rem;
	line-height: 1.4;
}

.plan-box .price-total {
	width: 28rem;
}

.plan-box .price-total .ttl {
	line-height: 0.5;
	margin-bottom: 1rem;
}

.plan-box .price-total .note {
	font-size: 1.2rem;
}

.plan-box .more-wrap {
	margin-top: 8rem;
	background: #fffcde;
	color: #034d9b;
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.5px;
	text-align: center;
	padding: 1.5rem 2rem 4.8rem;
	position: relative;
}

.plan-box .more-wrap::before,
.plan-box .more-wrap::after {
	content: "";
	width: 157px;
	height: 71px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: -0.4em;
}

.plan-box .more-wrap::before {
	background-image: url(../img/common/2x/flag-before.png);
	left: 9.6rem;
}

.plan-box .more-wrap::after {
	background-image: url(../img/common/2x/flag-after.png);
	right: 9.6rem;
}

.plan-box .more-wrap .more {
	position: absolute;
	top: -6.5rem;
	left: calc(50% - 100px);
}

.plan-box .more-wrap .zero {
	display: inline-block;
	line-height: 0.5;
	margin: 0 0.5rem;
	transform: translateY(0.5rem);
}

/* interview-box */

#server .interview-box {
	padding-bottom: 8rem;
}

#server .interview-box::after {
	display: none;
}

.interview-box.bg-01 {
	padding-bottom: 11.5rem;
}

.interview-box .ttl-01.wh {
	margin-top: 0.8rem;
}

.interview-box .ttl-02 .ttl {
	letter-spacing: -0.4px;
	padding: 1rem 4rem 1rem 5rem;
}

.interview-box .interview-list {
	margin: 0.6rem -1.5rem 0;
}

.interview-box .interview-list .slick-list {
	padding-bottom: 2rem !important;
}

.interview-box .interview-list .slick-track {
	margin-right: auto;
	margin-left: auto;
}

.interview-box .cont-box {
	margin: 0 1.5rem;
	opacity: 1 !important;
}

.interview-box .cont-box .txt {
	padding-bottom: 3.5rem;
}

.interview-box .btn-01 {
	margin-top: 2rem;
}

.interview-box .bnr {
	margin-top: 5.5rem;
}

.interview-box .bnr a {
	display: block;
	line-height: 0.5;
	text-align: center;
	transition: all 0.4s;
}

.interview-box .mes {
	margin: 0 !important;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	transform: translateY(-50%);
	text-align: center;
	z-index: 99;
}

.interview-box .mes * {
	margin: 0 !important;
}

.block-bnr-box a {
	height: 20rem;
	padding: 0 8.5rem;
	background: #fafbf6;
	background-position: left center;
	background-size: cover;
	background-repeat: no-repeat;
	justify-content: flex-end;
	align-items: center;
	position: relative;
	transition: all 0.4s;
	position: relative;
}

.block-bnr-box a + a {
	margin-top: 3rem;
}

.block-bnr-box.faq-bnr a {
	background-image: url(../img/flow/2x/faq-bnr-bg.png);
	padding-top: 2.5rem;
}

.block-bnr-box a .txt {
	display: inline-block;
	line-height: 1.5;
	padding-bottom: 1.8rem;
	position: relative;
	z-index: 99;
}

.block-bnr-box a .ttl {
	color: #3797db;
	position: relative;
}

.block-bnr-box a .ttl::before {
	content: "";
	display: inline-block;
	width: 212px;
	height: 44px;
	background-image: url(../img/common/2x/line-01-bl.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: -1.2rem;
	left: -7.4rem;
}

.block-bnr-box a .ttl .en {
	font-size: 4.8rem;
}

.block-bnr-box a .ttl .ttl-jp {
	font-size: 1.8rem;
	display: inline-block;
	transform: translate(4px, -8px);
}

.block-bnr-box a .read {
	font-size: 1.4rem;
	letter-spacing: 0;
	color: #666;
}

.block-bnr-box a::after {
	content: "";
	width: 2rem;
	height: 3.6rem;
	background-image: url(../img/server/2x/arrow-01.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: calc(50% - 1.8rem);
	right: 3rem;
	transition: all 0.4s;
	z-index: 99;
}

.block-bnr-box a::before {
	content: "";
	background: linear-gradient(to right, transparent 0%, transparent 50%, #fafbf6 75%);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9;
}

/* line-bnr */

.block-bnr-box.line-bnr a {
	background-image: url(../img/contact/2x/line-bnr-bg.png);
	padding: 0 4.8rem;
}

.block-bnr-box.line-bnr a::after {
	display: none;
}

.block-bnr-box.line-bnr a .flex {
	align-items: center;
	position: relative;
	z-index: 99;
}

.block-bnr-box.line-bnr a .qr {
	margin: 0 6rem 0.8rem 0;
}

.block-bnr-box.line-bnr a .txt {
	padding-bottom: 1.4rem;
}

.block-bnr-box.line-bnr a .ttl {
	color: #06c755;
}

.block-bnr-box.line-bnr a .ttl br.tb {
	display: none;
}

.block-bnr-box.line-bnr a .ttl::before {
	background-image: url(../img/contact/2x/line-01-gr.png);
	left: -6.4rem;
}

.block-bnr-box.line-bnr a .ttl .en {
	font-weight: bold;
	margin-right: 1rem;
}

.block-bnr-box.line-bnr a .ttl .ttl-jp {
	font-size: 2.2rem;
	letter-spacing: -1px;
}

.block-bnr-box.line-bnr a .read {
	font-size: 1.6rem;
	text-align: left;
}

/* vision-bnr */

.block-bnr-box.vision-bnr a {
	background-color: #fff;
	background-image: url(../img/partner/2x/vision-bnr-bg-01.png), url(../img/partner/2x/vision-bnr-bg-02.png);
	background-size: auto 100%;
	padding: 0 4.8rem;
	border: solid 2px #0075c2;
}

.block-bnr-box.vision-bnr a::before {
	display: none;
}

.block-bnr-box.vision-bnr a::after {
	display: none;
}

.block-bnr-box.vision-bnr a .vision-txt {
	width: 36.2%;
	line-height: 0.5;
	margin-top: 0.4rem;
	padding-right: 4rem;
}

.block-bnr-box.vision-bnr a .txt {
	width: 40%;
	text-align: center;
	padding-bottom: 0.4rem;
}

.block-bnr-box.vision-bnr .ext-link {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 1.4px;
	color: #0075c2;
	margin: 0.2rem 0 0 0.8rem;
	padding-left: 2.4rem;
	background: url(../img/partner/2x/ext-link.png) left center / 16px no-repeat;
}

/* about-bnr */

.block-bnr-box.about-bnr a {
	background-image: url(../img/partner/2x/about-bnr-bg.png);
	padding: 0 10.4rem;
}

.block-bnr-box.about-bnr a .txt {
	padding-bottom: 1.2rem;
}

.block-bnr-box.about-bnr a .ttl .ttl-jp {
	font-size: 2rem;
	letter-spacing: 0.2px;
}

.block-bnr-box.about-bnr a .read {
	font-size: 1.6rem;
}

/* tall-bnr */

.block-bnr-box.server-bnr {
	padding: 5.5rem 0 0.8rem;
}

.block-bnr-box.server-bnr a {
	position: relative;
}

.block-bnr-box.server-bnr a .bg-img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.block-bnr-box.server-bnr a .bg-img img {
	width: 100%;
	height: 100%;
}

.block-bnr-box.server-bnr a .txt {
	margin-right: 1.5rem;
	padding-bottom: 1.4rem;
	position: relative;
	z-index: 99;
}

.block-bnr-box.server-bnr a .ttl .en {
	font-size: 4.2rem;
}

.block-bnr-box.server-bnr a .ttl .en {
	letter-spacing: 0.4px;
}

.block-bnr-box.server-bnr a .ttl::before {
	top: -2rem;
	left: -5.2rem;
}

.block-bnr-box.server-bnr a .read {
	font-size: 1.6rem;
}

.block-bnr-box.server-bnr a .read p {
	margin: 0;
}

.faq-box {
	background: #e5f7ff;
	padding: 7rem 0 8rem;
}

.faq-box .ttl-01 {
	margin-bottom: 3rem;
}

.faq-box .ttl-01 .icon {
	position: relative;
	top: -1.5rem;
}

.faq-box .btn-01 {
	margin-top: 3rem;
}

.contact-box.bg-01 {
	padding-bottom: 8rem;
}

.block-bnr-box + .contact-box.bg-01 {
	margin-top: 4rem;
}

.block-bnr-box.faq-bnr + .contact-box.bg-01 {
	margin-top: 0;
}

.contact-box {
	position: relative;
	z-index: 999;
}

.contact-box .ttl-02 {
	margin: 2.8rem 0 3rem;
}

.contact-box .ttl-02 .ttl {
	line-height: 1.2;
	letter-spacing: -0.6px;
	background-position: left bottom, right bottom;
	padding-bottom: 0;
	margin-bottom: 0.2rem;
	padding: 0 4rem 0 5rem;
}

.contact-box .ttl-02 strong {
	color: #ffec1b;
}

.contact-box .ttl-02 .num {
	font-size: 5.2rem;
}

.contact-box .ttl-02 .main-ttl {
	font-size: 4rem;
	line-height: 1.8;
	letter-spacing: -2px;
	font-weight: normal;
}

.contact-box .ttl-02 .main-ttl .stuffing {
	margin: 0 -6px;
}

.contact-box .contact-list {
	justify-content: center;
}

.contact-box .contact {
	width: calc((100% - 6rem) / 3);
	background: #fff;
	border-radius: 2rem;
	overflow: hidden;
}

.contact-box .contact + .contact {
	margin-left: 3rem;
}

.contact-box .contact .ttl {
	font-size: 2rem;
	text-align: center;
	padding: 1rem;
	background: #0465cc;
	color: #fff;
}

.contact-box .contact .cont {
	padding: 1rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.contact-box .contact .cont.phone {
	pointer-events: none;
}

.contact-box .contact .tel {
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.2;
}

.contact-box .contact.tel .num {
	margin-top: 0.4rem;
}

.contact-box .contact.tel .num a,
.contact-box .contact.tel a .num {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 0.8px;
	line-height: 1.1;
	padding-left: 2.5rem;
	background: url(../img/common/2x/icon-tel-l.png) left center / 1.9rem no-repeat;
}

.contact-box .contact.tel a .tel {
	padding: 0.8rem 0 1.2rem;
}

.contact-box .contact.tel a .num {
	font-size: 3.6rem;
	margin: 0 0 0.5rem;
}

.contact-box .contact.tel a .note {
	line-height: 1.6;
}

.contact-box .contact.tel .num .note {
	display: inline-block;
	margin-left: 0.4rem;
	font-size: 1.3rem;
}

.contact-box .contact.tel {
	font-size: 1.4rem;
	font-weight: bold;
}

.contact-box .contact .btn-01 {
	margin: 1.6rem 0;
}

.contact-box .contact .btn-01 a {
	min-width: 27rem;
	font-size: 1.8rem;
	line-height: 5rem;
	border-radius: 2.5rem;
}

.contact-box .contact.tel .btn-01 a {
	background: #0465cc;
}

.contact-box .tel-modal-cont {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background: transparent;
	padding: 0 2rem 1rem;
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}

.tel-open .contact-box .tel-modal-cont {
	opacity: 1;
	visibility: visible;
	z-index: 999;
}

.contact-box .tel-modal-cont .overlay {
	content: "";
	position: fixed;
	top: 66px;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.86);
	z-index: 1;
}

.contact-box .tel-modal-cont .contact.tel {
	border: solid 2px #0465cc;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	position: relative;
	z-index: 999;
}

.contact-box .contact .tel-modal-cont .ttl {
	padding: 1.2rem;
	letter-spacing: 0.4px;
}

.contact-box .tel-modal-cont .contact .cont.phone {
	padding: 2rem 1.8rem 1.4rem;
}

.contact-box .tel-modal-cont a {
	display: block;
	border: solid 2px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	padding: 1.4rem;
	background: url(../img/common/2x/arrow-light.png) right 1rem center / 1.4rem no-repeat;
}

.contact-box .tel-modal-cont a + a {
	margin-top: 1rem;
}

.contact-box .contact.tel-modal-cont .tel a .num {
	font-size: 2.4rem;
	letter-spacing: 1.2px;
	margin-bottom: 0.2rem;
	padding-right: 4px;
}

.contact-box .contact.tel-modal-cont .tel a .note {
	display: block;
	font-weight: bold;
	margin: 0;
}

.contact-box .contact.tel-modal-cont .tel .note {
	font-weight: normal;
	margin: 1rem 0 0;
}

.contact-box .contact.application .ttl {
	background: #139fe5;
}

.contact-box .contact.application .btn-01 a {
	background: #139fe5;
}

.contact-box .contact.mail .ttl {
	background: #69cfd1;
}

.contact-box .contact.mail .btn-01 a {
	background: #69cfd1;
}

/* tel-box */

.contact-box.tel-box.bg-01.wave-top::before {
	background-image: url(../img/common/2x/bg-02.png);
	background-position: center bottom;
	background-size: 951px;
}

.contact-box.tel-box .contact-ttl {
	justify-content: center;
	align-items: center;
	margin: 1.1rem 0;
}

.contact-box.tel-box .contact-ttl::before,
.contact-box.tel-box .contact-ttl::after {
	content: "";
	display: inline-block;
	width: 47px;
	height: 7px;
	margin-top: 1rem;
	background-image: url(../img/contact/2x/dot-wh.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	transform: translateY(-1px);
}

.contact-box.tel-box .contact-ttl .ttl-jp {
	font-size: 4rem;
	font-weight: normal;
	letter-spacing: -1.4px;
	color: #fff;
	margin: 0 2.2rem;
}

.contact-box.tel-box .contact-read {
	letter-spacing: 1px;
	text-align: center;
	color: #fff;
	margin: 0 0 2.5rem;
}

.contact-box.tel-box .contact .ttl {
	letter-spacing: 0.6px;
}

.contact-box.tel-box .contact {
	width: 48rem;
	max-width: 100%;
}

/*
.contact-box.tel-box .contact .cont {
	padding-bottom: 2.8rem;
}
*/

.point-ttl {
	text-align: center;
	margin-bottom: 2.5rem;
}

.point-ttl .num {
	line-height: 1.2;
}

.point-ttl .num img {
	transform: translateX(-1rem);
}

.point-ttl .ttl {
	font-size: 3.8rem;
	color: #3797db;
	line-height: 1.6;
}

.point-ttl .read {
	font-size: 1.8rem;
	margin: 2.2rem 0 2.8rem;
}

.point-ttl .read .note {
	font-size: 1.2rem;
}

.point-list {
	padding: 5rem 0 1rem;
	margin-bottom: 4.5rem;
	position: relative;
}

.point-wrap + .point-wrap .point-list {
	padding: 6rem 0 0.1rem;
	margin-top: 2.5rem;
}

.point-list .point {
	align-items: center;
	margin-bottom: 5rem;
}

.point-list .point.reverse {
	flex-direction: row-reverse;
}

.point-list .point .txt {
	width: 50%;
	padding: 0 5rem 7rem 8rem;
}

.point-list .point.reverse .txt {
	padding: 0 8rem 7rem 6rem;
}

.point-list .point .en-02 {
	font-size: 3.2rem;
	letter-spacing: 2.8px;
	line-height: 1.2;
	color: #3797db;
}

.point-list .point .ttl-jp {
	font-size: 3.2rem;
	letter-spacing: -1.2px;
	font-weight: normal;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

.point-list .point .read {
	line-height: 2.1;
	letter-spacing: 0.4px;
}

.point-list .point .read a {
	display: inline-block;
	line-height: 1.8;
	color: #3797db;
	border-bottom: solid 1px transparent;
}

.point-list .point .read a span {
	border-bottom: solid 1px #3797db;
}

.point-list .point .img-wrap {
	width: 50%;
	text-align: center;
}

.point-list .point .img-wrap img {
	border-radius: 2rem;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.point-list .point .img-wrap img.shadow-none {
	box-shadow: none;
}

.point-list .point .img-wrap.illust-pfas img {
	box-shadow: none;
}

.point-list .point .note {
	font-size: 1.2rem;
	margin-top: 1.8rem;
}

/*
----------------------------------------

default

----------------------------------------
*/

html {
	font-size: 62.5%;
}

body {
	font-size: 1.6rem;
	font-family: "Lato", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
	font-feature-settings: "palt";
	line-height: 2;
	letter-spacing: 1.4px;
	width: 100vw;
	min-width: 375px;
	text-align: center;
	color: #333;
	background: url(../img/common/2x/body-bg.png) center top 1.8% / 100% repeat-y;
	box-sizing: border-box;
	position: relative;
	-webkit-text-size-adjust: 100%;
	overflow-scrolling: touch;
}

body * {
	box-sizing: border-box;
}

:root {
	--main-color: #c5a882;
	--main-on-color: #d4bea2;
	--main-light-color: #faf7f3;
	--base-color: #2e344f;
	--base-txt-color: #fff;
}

a {
	color: #333;
	text-decoration: none;
	transition: all 0.2s;
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
}

strong {
	color: #3797db;
}

time {
	color: #666;
}

footer#footer {
	color: #fff;
	background: #ccc;
}

footer#footer .flex {
	height: 600px;
	justify-content: center;
	align-items: center;
	font-size: 8rem;
}

/* page */

.page-header {
	color: #fff;
	background-image: url(../img/common/2x/header-bg.png);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
	padding-top: 10rem;
}

.page-header::after {
	content: "";
	background: #000;
	opacity: 0.4;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.page-header .wrap {
	text-align: center;
	position: relative;
	z-index: 99;
}

.page-header .ttl-01 {
	height: 25rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1.5;
	margin: 0 !important;
	padding-bottom: 1.5rem;
}

.page-header .ttl-jp {
	font-size: 4rem;
	font-weight: normal;
	letter-spacing: -2px;
	margin-bottom: 0.5rem;
}

.page-header .ttl-jp .sub {
	display: inline-block;
	font-size: 2.2rem;
	letter-spacing: 0.4px;
	line-height: 1.2;
	padding: 0 2.4rem;
	background-image: url(../img/common/2x/ttl-02-wh-before.png), url(../img/common/2x/ttl-02-wh-after.png);
	background-position: left center, right center;
	background-size: 18px;
	background-repeat: no-repeat;
	margin: 0.8rem 0 0.4rem;
}

.detail-txt {
	background: #fff;
	padding: 4rem 0 8.4rem;
}

.detail-txt .info-txt {
	margin-bottom: 6rem;
}

.detail-txt .info-txt .name {
	margin-bottom: 2rem;
}

.detail-txt .read h4 {
	border-left: solid 2px #3797db;
	padding-left: 1rem;
	margin-bottom: 2rem;
	line-height: 1.7;
}

.detail-txt .ol-01 > li {
	padding-left: 3.5rem;
}

.detail-txt .ol-01 > li::before {
	width: 3rem;
	text-align: right;
}

.detail-txt .list-01 {
	margin-bottom: 2rem;
}

.detail-txt .read p {
	margin-bottom: 2rem;
}

.detail-txt a {
	display: inline-block;
	line-height: 1.5;
	border-bottom: solid 1px transparent;
	color: #3797db;
}

.detail-txt a.tel {
	pointer-events: none;
}

.detail-txt .address-wrap {
	display: inline-block;
	padding: 3rem 4rem;
	background: #f0faff;
	margin-top: 3rem;
}

.detail-txt .date {
	text-align: right;
}

.phone-btn {
	margin: 0 1rem;
}

.phone-btn a {
	display: block;
	padding: 1rem 1rem 0.5rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	pointer-events: none;
}

.phone-btn .ttl {
	font-size: 1.4rem;
	letter-spacing: 1px;
	text-indent: 1rem;
	color: #3797db;
}

.phone-btn .num {
	display: inline-block;
	font-size: 2.4rem;
	letter-spacing: 1.8px;
	line-height: 1.3;
	white-space: nowrap;
	padding-left: 2.6rem;
	background: url(../img/common/2x/icon-tel.png) left center / 21px no-repeat;
}

.phone-btn .num span {
	font-weight: normal;
	display: inline-block;
	transform: translateY(-1px);
}

.phone-btn .note {
	display: block;
	font-size: 1.1rem;
	letter-spacing: 0;
}

/* tel 2つ
.phone-btn {
	margin: 0 1.4rem;
}

.phone-btn .phone-btn {
	display: block;
	padding: 1rem 1rem .5rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	pointer-events: none;
}

.phone-btn .ttl {
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 1px;
	text-indent: 1rem;
	color: #3797db;
}

.phone-btn .num {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.1;
	white-space: nowrap;
	padding-left: 2.2rem;
	background: url( ../img/common/2x/icon-tel.png ) left center / 17px no-repeat;;
}

.phone-btn .num span {
	font-weight: normal;
	display: inline-block;
	transform: translateY( -1px );
}

.phone-btn .note {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: .8px;
}
*/

.contact-btn a {
	display: block;
	color: #fff;
	padding: 8px 20px 8px 45px;
	text-align: center;
	border: solid 1px #3797db;
}

.sns-set li {
	padding: 0 1rem;
	line-height: 0.5;
}

.sns-set a {
	display: inline-block;
}

.link-box {
	margin: 4rem 0 1rem;
}

.link-box .txt {
	border: 2px solid #f73152;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	text-align: center;
}

.link-box a {
	padding: 2rem 0;
	display: inline-block;
	width: 100%;
	height: 100%;
}

.link-box a span {
	margin-left: 10px;
	border-bottom: solid 1px #f73152;
	color: #f73152;
}

.note-box {
	margin: 4rem 0 2rem;
}

.note-box .note {
	font-size: 1.8rem;
	text-align: center;
}

.note-box a {
	padding: 2px;
	border-bottom: solid 1px #3797db;
}

.note-box a span {
	color: #3797db;
}

.bnr-box {
	padding: 3rem 0;
}

.bnr-box a {
	display: block;
	text-align: center;
	line-height: 0.5;
	transition: all 0.4s;
}

.bnr-box .bnr-set {
	margin-bottom: 1.5rem;
	align-items: flex-end;
}

.bnr-box .bnr-set a {
	width: calc((100% - 2rem) / 2);
}

.bnr-box .bnr-set a:nth-child(even) {
	margin-left: 2rem;
}

.bnr-box .bnr-note {
	margin-top: 1rem;
	font-size: 1.2rem;
}

.bnr-box.bg-wh {
	background: #fff;
	margin-bottom: 5.5rem;
}

.bnr-box.bg-wh .ttl {
	text-align: center;
	line-height: 0.5;
	margin-bottom: 1rem;
}

/* block-howto-bnr */

.block-howto-bnr {
	display: none;
	margin: 1rem 0 8rem;
}

.block-howto-bnr a {
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	justify-content: flex-end;
	align-items: center;
	height: 20rem;
	padding: 0 9.8rem;
	background: url(../img/server/2x/howto-bnr-bg.png) left center / cover no-repeat;
	position: relative;
	transition: all 0.4s;
}

.block-howto-bnr a::after {
	content: "";
	width: 2rem;
	height: 3.6rem;
	background: url(../img/server/2x/arrow-01.png) center center / contain no-repeat;
	position: absolute;
	top: calc(50% - 1.8rem);
	right: 3rem;
	transition: all 0.4s;
}

.block-howto-bnr a .img {
	display: inline-block;
	padding: 0 2.2rem 4rem 0;
}

.block-howto-bnr a .ttl-jp {
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0;
	color: #3797db;
}

/* block-bnr-l */

.block-bnr-l {
	background: #fff;
	padding: 6rem 0 4rem;
}

.block-bnr-l .bnr-set {
	justify-content: center;
}

.block-bnr-l a {
	display: block;
	width: calc((100% - 2rem) / 2);
	position: relative;
	background: #000;
	overflow: hidden;
}

.block-bnr-l a::before {
	content: "";
	border: solid 1px #fff;
	position: absolute;
	top: 10px;
	right: 10px;
	bottom: 10px;
	left: 10px;
	pointer-events: none;
	z-index: 99;
}

.block-bnr-l a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(to right, #74b5e4 0%, #73c6c8 100%);
	pointer-events: none;
	z-index: 1;
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s;
}

.block-bnr-l a:nth-child(even) {
	margin-left: 2rem;
}

.block-bnr-l a .txt {
	height: 30rem;
	font-weight: bold;
	line-height: 1.5;
	padding-bottom: 2rem;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 99;
}

.block-bnr-l a .txt .en {
	font-size: 2rem;
	font-weight: bold;
	color: #139fe5;
	transition: all 0.2s;
}

.block-bnr-l a .txt .jp {
	font-size: 2.8rem;
	color: #333;
	transition: all 0.2s;
}

.block-bnr-l a .img {
	line-height: 0.5;
	margin: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	transition: all 0.2s;
}

.block-bnr-l a .img img {
	width: 100%;
	height: 100%;
}

.block-bnr-l a .img.pos_top img {
	object-position: top center;
}

/*
----------------------------------------

1400

----------------------------------------
*/

@media screen and (max-width: 1400px) {
	.bg-03 {
		background-position: left 10rem top;
	}

	.point-list .point .txt {
		padding: 0 5rem 7rem 0;
	}

	.point-list .point.reverse .txt {
		padding: 0 0 7rem 6rem;
	}

	.contact-box .contact.tel .num a {
		font-size: 2rem;
		padding-left: 2rem;
		background: url(../img/common/2x/icon-tel-l.png) left center / 1.5rem no-repeat;
		letter-spacing: 0;
	}
}

/*
----------------------------------------

1200

----------------------------------------
*/

@media screen and (max-width: 1200px) {
	.dl-01 dt {
		padding: 0.4rem 1.5rem;
	}

	.dl-01 dd {
		margin-right: 2rem;
	}

	.dl-03 dt {
		padding: 2rem;
	}

	.dl-03 dd {
		padding: 2rem 0;
	}

	.block-bnr-l a .txt {
		height: 25vw;
	}

	.point-ttl .ttl {
		font-size: 3.2rem;
	}

	.plan-box .price-list {
		width: calc(100% - 22rem);
	}

	.plan-box .price-list .ttl {
		font-size: 1.8rem;
		letter-spacing: 0;
	}

	.plan-box .price-list .read {
		font-size: 1.3rem;
		letter-spacing: 0;
	}

	.plan-box .price-total {
		width: 22rem;
	}

	.plan-box .more-wrap::before {
		left: 4vw;
	}

	.plan-box .more-wrap::after {
		right: 4vw;
	}

	.contact-box .contact.tel .num {
		line-height: 1;
		margin-top: 0.5rem;
	}

	.contact-box .contact .btn-01 a {
		min-width: 22rem;
	}

	.contact-box .contact.tel a .num {
		font-size: 3.2rem;
	}

	.illust-06::before {
		top: -10rem;
		left: -1.5rem;
	}

	.illust-06::after {
		top: -10rem;
		right: -1.5rem;
	}

	.block-bnr-box.vision-bnr a {
		background-position: left center, left 50% center;
	}

	.block-bnr-box.vision-bnr .ext-link {
		letter-spacing: 0.2px;
	}

	.ttl-06 .txt.ttl-jp {
		font-size: 2.8rem;
	}

	.h-02 .ttl-wrap::before {
		width: 18rem;
		top: -1.5rem;
	}

	.block-bnr-box.vision-bnr a::before,
	.block-bnr-box.line-bnr a::before {
		display: none;
	}

	.point-list .point .txt {
		padding: 0 3rem 2rem 0;
	}

	.point-list .point.reverse .txt {
		padding: 0 0 7rem 3rem;
	}

	.point-list .point .ttl-jp {
		font-size: 2.8rem;
	}

	.cont-box .user .name {
		font-size: 1.6rem;
	}

	.cont-box .user .name span {
		font-size: 2rem;
	}
}

/*
----------------------------------------

1100

----------------------------------------
*/

@media screen and (max-width: 1100px) {
	.block-bnr-box.line-bnr a {
		background-position: left 20% center;
		padding: 0 2rem;
	}

	.block-bnr-box.line-bnr a .ttl br.tb {
		display: inline;
	}

	.block-bnr-box.line-bnr a .ttl .ttl-jp {
		font-size: 1.8rem;
	}

	.block-bnr-box.line-bnr a .qr {
		margin: 0 2rem 0.8rem 0;
	}

	.server-box .server {
		width: calc((100% - 3rem) / 2);
	}

	.server-box .server + .server {
		margin-left: 0;
	}

	.server-box .server:nth-child(even) {
		margin-left: 3rem;
	}

	.contact-box .contact .tel .note br.sp {
		display: inline;
	}
}

/*
----------------------------------------

1000

----------------------------------------
*/

@media screen and (max-width: 1000px) {
	body {
		font-size: 1.4rem;
	}

	.ttl-01 .ttl {
		font-size: 3.2rem;
	}

	.ttl-01 .num {
		font-size: 4.8rem;
	}

	.ttl-02 .ttl {
		font-size: 2.4rem;
	}

	.ttl-04 .ttl-jp {
		font-size: 2.4rem;
	}

	.ttl-06 .txt {
		font-size: 2.8rem;
	}

	.ttl-06 .txt.ttl-jp {
		font-size: 2.4rem;
		line-height: 1.4;
	}

	.btn-01 a {
		min-width: initial !important;
	}

	.bg-02 {
		padding: 3rem;
	}

	.h-02 .ttl-wrap::before {
		width: 54%;
		height: 4rem;
		top: -1.5rem;
	}

	.table-01 th {
		width: 11rem;
		padding: 1.2rem 1rem;
	}

	.table-01 td {
		width: calc(100% - 11rem);
		padding: 1.2rem 0;
		letter-spacing: 0.4px;
	}

	.table-02 tbody th {
		width: 24rem;
		padding: 3rem 3rem 2.9rem;
	}

	.table-02 tbody td {
		width: calc((100% - 24rem) / 3);
	}

	.dl-01 {
		max-width: 640px;
		margin: 0 auto;
	}

	.dl-01 dt {
		letter-spacing: 0;
	}

	.dl-01 dd {
		letter-spacing: 0;
	}

	.dl-03 dt {
		width: 50%;
	}

	.dl-03 dd {
		width: 50%;
	}

	.dl-04 dd {
		padding: 3rem;
	}

	.bg-02.ribbon {
		padding: 6.2rem 4rem 5.6rem;
	}

	.border-bg {
		padding: 3rem;
	}

	.illust-wrap::before {
		transform: translate(-18%, -16%) scale(0.5);
	}

	.illust-wrap::after {
		transform: translate(18%, 16%) scale(0.5);
	}

	.cat-list li {
		margin: 0 0.8rem 0.8rem 0;
	}

	.cat-list .cat {
		font-size: 1.2rem;
		letter-spacing: 0;
		padding: 0.1rem 1.2rem;
	}

	.block-howto-bnr a {
		flex-direction: column;
		justify-content: center;
	}

	.block-howto-bnr a .img {
		margin: 0 9px 0 auto;
		padding: 0;
	}

	.block-howto-bnr a .ttl-jp {
		margin: 0 0 0 auto;
		font-size: 1.6rem;
	}

	.block-bnr-box.vision-bnr a {
		padding: 0 2.5rem;
		background-position: left 20% center, left 50% center;
	}

	.block-bnr-box.vision-bnr a .txt {
		width: 38%;
	}

	.block-bnr-box.vision-bnr .ext-link {
		font-size: 1.4rem;
		margin: 0;
	}

	.block-bnr-l a .txt .en {
		font-size: 1.8rem;
	}

	.block-bnr-l a .txt .jp {
		font-size: 2.4rem;
	}

	.cont-box a {
		border-radius: 1rem;
	}

	.cont-box .img img {
		height: 20vw;
	}

	.cont-box .txt {
		padding: 1.2rem 2rem 2.2rem;
	}

	.cont-box .user {
		flex-wrap: wrap;
		margin: 0.6rem 0 0.4rem;
	}

	.cont-box .user .name {
		font-size: 1.4rem;
	}

	.cont-box .user .name span {
		font-size: 1.8rem;
	}

	.cont-box .time {
		margin: 0 0 0 auto;
		letter-spacing: 0.5px;
	}

	.cont-box .ttl {
		letter-spacing: 0.4px;
		margin-top: 4px;
	}

	.cont-box .read {
		line-height: 1.7;
	}

	#price .plan-box {
		padding-top: 0.5rem;
	}

	#price .plan-box .price-wrap {
		margin-top: 0;
	}

	.plan-box .price-wrap {
		flex-direction: column;
	}

	.plan-box .price-list {
		width: 100%;
		padding-right: 0;
		margin-bottom: 3rem;
	}

	.plan-box .price-list .icon {
		width: 15vw;
		height: 15vw;
		padding: 2rem;
	}

	.plan-box .price-total {
		width: 100%;
	}

	.plan-box .more-wrap::before,
	.plan-box .more-wrap::after {
		width: 15vw;
		top: -1rem;
	}

	.plan-box .more-wrap {
		font-size: 3.6rem;
	}

	.interview-box .interview-list {
		margin: 0.6rem -1rem 0;
	}

	.interview-box .cont-box {
		margin: 0 2rem;
	}

	.contact-box.bg-01 {
		padding-bottom: 4rem;
	}

	.contact-box .ttl-02 .num {
		font-size: 4.8rem;
	}

	.contact-box .ttl-02 .main-ttl {
		font-size: 3.2rem;
	}

	.contact-box .contact .ttl {
		font-size: 1.6rem;
		letter-spacing: 0;
	}

	.contact-box.tel-box .contact-ttl .ttl-jp {
		font-size: 2.8rem;
	}

	.contact-box.tel-box .contact-read {
		letter-spacing: 0.2px;
	}

	.contact-box .contact .cont {
		padding: 2rem 1rem;
	}

	.contact-box .contact .tel .note {
		font-size: 1.2rem;
		letter-spacing: 0.8px;
		margin-bottom: 0.5rem;
	}

	.contact-box .contact .btn-01 a {
		padding: 0 5rem 0 2rem;
		text-align: left;
		line-height: 4rem;
	}

	.contact-box .contact.tel a .tel {
		padding: 0;
	}

	.contact-box .contact.tel a .note {
		margin-bottom: 0;
	}

	.contact-box .contact.tel a .num {
		font-size: 2.4rem;
	}

	.point-ttl .ttl {
		font-size: 2.8rem;
	}

	.point-ttl .read {
		font-size: 1.6rem;
		text-align: left;
	}

	.point-ttl .read .note {
		display: block;
		text-align: right;
	}

	.point-list .point .ttl-jp {
		font-size: 2rem;
		font-weight: bold;
	}

	.point-list .point .ttl-jp br.sp {
		display: inline;
	}

	.block-bnr-box.line-bnr .br-02 {
		display: inline;
	}
}

/*
----------------------------------------

768

----------------------------------------
*/

@media screen and (max-width: 768px) {
	html #wpadminbar {
		display: none;
	}

	body {
		padding-top: 66px;
		background: url(../img/common/sp/3x/body-bg-sp.png) center top 5% / 100% repeat-y;
		padding-bottom: 85px;
	}

	.wrap {
		padding: 0 2rem;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.detail-txt .ol-01 > li {
		padding-left: 2.5rem;
	}

	.detail-txt .ol-01 > li::before {
		width: 2rem;
	}

	#wrapper .slick-prev,
	#wrapper .slick-next {
		width: 3rem;
		height: 3rem;
	}

	#wrapper .slick-prev {
		left: 0;
		background: url(../img/common/sp/2x/arrow-prev-sp.png) center center / 13px no-repeat;
	}

	#wrapper .slick-next {
		right: 0;
		background: url(../img/common/sp/2x/arrow-next-sp.png) center center / 13px no-repeat;
	}

	#wrapper .slick-dots {
		bottom: -3rem;
	}

	#wrapper .slick-dots li button:before {
		font-size: 1rem;
	}

	#breadcrumbs {
		font-size: 1.2rem;
	}

	#breadcrumbs a {
		margin-right: 29px;
	}

	#breadcrumbs a::after {
		right: -20px;
	}

	#breadcrumbs .breadcrumb_last {
		letter-spacing: 1px;
	}

	.ttl-01 {
		margin-bottom: 0.8rem;
	}

	.ttl-01.wh {
		margin-bottom: 1rem;
	}

	.ttl-01 .icon {
		transform: scale(0.65);
		margin-bottom: -1rem;
	}

	.ttl-01 .icon.logo {
		transform: scale(0.5);
	}

	.ttl-01 .ttl {
		font-size: 2.4rem;
		line-height: 1.5;
		margin-bottom: 0.8rem;
	}

	.ttl-01 .num {
		font-size: 3.4rem;
		line-height: 0.9;
	}

	.ttl-01 .en span {
		font-size: 1.4rem;
		margin: 0 0.8rem;
	}

	.ttl-01 .en::before,
	.ttl-01 .en::after {
		height: 4px;
	}

	.ttl-02 .ttl {
		font-size: 1.8rem;
		letter-spacing: -2.2px;
		line-height: 1.5;
		padding: 1rem 1.6rem 1rem 2.4rem;
		margin: 0 -2rem 0.2rem;
		background-size: 1.6rem;
	}

	.ttl-02.wh-02 .ttl {
		background-size: 1.6rem;
		padding: 1rem 1.8rem 1rem 2.4rem;
	}

	.ttl-03 {
		margin-bottom: 1rem;
	}

	.ttl-03 span {
		font-size: 2rem;
	}

	.ttl-04 {
		margin: 0 0.2rem 0.5rem;
		padding: 0 0 1rem;
	}

	.ttl-04 .ttl-jp {
		font-size: 2rem;
	}

	.ttl-05 {
		font-size: 1.8rem;
		letter-spacing: 0.4px;
		margin: 3rem 0 1.5rem;
	}

	.ttl-05.num {
		padding-left: 2.4rem;
	}

	.h-01 > span {
		font-size: 2.6rem;
		background-size: 14px;
		padding: 0 2.4rem 0.5rem;
	}

	.h-02 .ttl-wrap {
		margin-top: 0.1rem;
		margin-bottom: 1.4rem;
		padding: 1.6rem 0 0 0;
		margin-left: 0;
		font-size: 1.8rem;
		letter-spacing: 0.4px;
	}

	.h-02 .ttl-wrap::before {
		top: -0.5rem;
		left: -0.5rem;
	}

	.h-03 .txt {
		font-size: 1.2rem;
		padding: 0.2rem 2.4rem;
	}

	.h-03 .txt::before {
		width: 2.5rem;
		height: 2.5rem;
		top: -0.6rem;
		left: -0.2rem;
	}

	.h-04 .ribbon {
		line-height: 3.8rem;
		background-size: auto 3.8rem;
		padding: 0 1.6rem;
	}

	.h-04 .ribbon .ttl-jp {
		font-size: 1.6rem;
		background-size: auto 3.8rem;
		padding: 0 3.6rem;
	}

	.h-04 .ribbon .s {
		font-size: 1.3rem;
	}

	.h-05 {
		font-size: 1.8rem;
		padding-bottom: 0.6rem;
	}

	.ttl-06 {
		margin: 0 0 1.4rem;
	}

	.ttl-06::before,
	.ttl-06::after {
		height: 1px;
		margin: 4px 4px 0px;
	}

	.ttl-06 .txt {
		font-size: 2.2rem;
		letter-spacing: 1.2px;
		padding: 0 0.2rem;
	}

	.ttl-06 .txt::before,
	.ttl-06 .txt::after {
		width: 2px;
		height: 2px;
		border: solid 1px #333;
		top: 50%;
	}

	.btn-01 a {
		width: 24rem;
		font-size: 1.4rem;
		line-height: 4rem;
		border-radius: 2rem;
	}

	.btn-01 a,
	.btn-01 .btn {
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
	}

	.btn-01 a::after {
		width: 1.3rem;
		height: 1.2rem;
		background: url(../img/common/sp/2x/arrow-01-sp.png) center center / contain no-repeat;
		top: calc(50% - 0.6rem);
		right: 1.2em;
	}

	.btn-01.back-btn a::after {
		left: 1.2rem;
	}

	.btn-01.ext-link a {
		font-size: 1.2rem;
	}

	.bg-01 {
		padding: 3.2rem 0 4.8rem;
	}

	.bg-01::before {
		background: url(../img/common/sp/3x/bg-shape-sp.png) center top / 100% no-repeat;
	}

	.bg-02.ribbon {
		background: #e5f7ff;
		padding: 5rem 2.5rem 3rem;
	}

	.bg-02.ribbon::after {
		display: block;
		top: 1rem;
		right: 1rem;
		bottom: 1rem;
		left: 1rem;
	}

	.bg-02.ribbon .ribbon-ttl {
		top: -2rem;
		transform: scale(0.8);
	}

	.bg-03 {
		padding: 4rem 0;
		background-position: left 1rem top;
		background-size: 12rem;
	}

	.bg-04 {
		background: #e5f7ff url(../img/common/sp/3x/bg-04-sp.png) center top / 100% no-repeat;
	}

	.table-02 {
		margin-top: 7.2rem;
	}

	.table-02 thead {
		position: sticky;
		top: 6.6rem;
		/* top: calc( 6.6rem + 7.2rem ); */
		z-index: 999;
		background: #fff;
	}

	/*
	.table-02 thead::before {
		content: '';
		background: #fff;
		position: absolute;
		top: -7.2rem;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
		transition: all .2s;
	}

	.table-02 thead::after {
		content: '';
		background: #139fe5;
		height: 2px;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0;
		visibility: hidden;
		transition: all .2s;
		z-index: 999;
	}

	.table-02 thead.on::before,
	.table-02 thead.on::after {
		opacity: 1;
		visibility: visible;
	}
	*/

	.table-02 thead tr {
		position: relative;
	}

	.table-02 thead th {
		position: relative;
		z-index: 999;
		padding-top: 7.2rem;
		border-bottom: none;
	}

	.table-02 thead th::after {
		content: "";
		background: #139fe5;
		height: 2px;
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		transition: all 0.2s;
		z-index: 999;
	}

	.table-02 tbody th {
		padding: 2.7rem 1.3rem;
	}

	.table-02 thead .label {
		font-size: 2rem;
		padding: 2rem 1rem 1rem;
		border-radius: 1rem 1rem 0 0;
	}

	.table-02 thead th:nth-of-type(2) {
		padding: 0 0.5rem 0 1rem;
	}

	.table-02 thead th:nth-of-type(3) {
		padding: 0 1rem 0 0.5rem;
	}

	.table-02 thead .img {
		transform: translateY(20%) scale(0.6);
	}

	.table-02 thead th:nth-of-type(3) .img {
		transform: translateY(2%) scale(0.8);
	}

	.table-02 tbody th {
		width: 8.5rem;
		padding: 2.7rem 1rem;
		font-size: 1.3rem;
		vertical-align: middle;
	}

	.table-02 tbody td {
		width: calc((100% - 8.5rem) / 3);
		padding: 2.7rem 0.5rem;
		font-size: 1.3rem;
		vertical-align: middle;
	}

	.caption {
		padding: 0 1.5rem;
		font-size: 1.2rem;
		letter-spacing: 0;
	}

	.table-03 tr {
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	.table-03 th {
		width: 100%;
		padding: 1.8rem 1rem 0.5rem;
		font-size: 1.6rem;
	}

	.table-03 th::before,
	.table-03 tr:last-child th::after,
	.table-03 tr:last-child td::after {
		width: 7.5rem;
	}

	.table-03 td {
		width: 100%;
		padding: 0 1rem 2rem;
		border: none;
	}

	.table-03 tr:last-child th::after {
		display: none;
	}

	.table-03 tr:last-child td::after {
		display: block;
	}

	.dl-01 .flex {
		justify-content: center;
		margin: 2rem 0;
	}

	.dl-01 dt {
		width: 100%;
		text-align: center;
		padding: 0.1rem 1.5rem;
		margin-bottom: 0.5rem;
		border-radius: 1.5rem;
	}

	.dl-01 dd {
		width: 100%;
		text-align: center;
		margin: 0 0 1rem;
	}

	.dl-03 dt {
		padding: 2rem 2rem 2rem 0;
	}

	.dl-03 dt::after,
	.dl-03 dt:first-of-type::before {
		width: 7.5rem;
	}

	.dl-04 dt span {
		font-size: 1.8rem;
		padding: 0 2rem;
	}

	.dl-04 dd {
		padding: 2.4rem 2.4rem 1.8rem;
		letter-spacing: 0.4px;
		text-align: justify;
	}

	.wave-bg::after {
		height: 25px;
		background-position: left 36% bottom;
		background-size: 500px;
	}

	.wave-top::after {
		background-position: left 36% top;
	}

	.bg-02 {
		padding: 0;
		background: transparent;
	}

	.bg-02::before {
		display: none;
	}

	.bg-02::after {
		display: none;
	}

	.border-bg {
		border-radius: 1rem;
		padding: 2rem 2rem 2.8rem;
	}

	.border-bg::after {
		top: 5px;
		right: 5px;
		bottom: 5px;
		left: 5px;
		border-radius: 0.6rem;
	}

	.phone-btn .phone-btn {
		pointer-events: auto;
	}

	.contact-box.tel-box .contact-ttl {
		margin: 2.5rem 0 1.5rem;
	}

	.contact-box.tel-box .contact-ttl::before,
	.contact-box.tel-box .contact-ttl::after {
		width: 4rem;
	}

	.contact-box.tel-box .contact-ttl .ttl-jp {
		text-align: center;
		font-size: 2.2rem;
		line-height: 1.5;
	}

	.contact-box.tel-box .contact .cont {
		padding-bottom: 1.8rem;
	}

	.contact-box.tel-box .contact-read {
		letter-spacing: 0.4px;
		text-align: center;
		margin-bottom: 2rem;
	}

	.contact-box .contact .cont.phone {
		pointer-events: auto;
	}

	.contact-box .contact.tel a .num {
		font-size: 2.7rem;
	}

	.clip::before {
		transform: translate(-26%, -24%) scale(0.7);
	}

	.block-howto-bnr {
		margin: 0;
		padding: 0 0 4rem;
		background: #fff;
	}

	.block-howto-bnr a {
		height: 15rem;
		padding: 0 11vw;
		background: url(../img/server/sp/3x/howto-bnr-bg-sp.png) left center / cover no-repeat;
	}

	.block-howto-bnr a::after {
		width: 1.2rem;
		height: 2rem;
		top: calc(50% - 1rem);
		right: 1rem;
	}

	.block-howto-bnr a .img img {
		max-height: 5.9rem;
	}

	.block-howto-bnr a .ttl-jp {
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.4;
		letter-spacing: 0.2px;
	}

	.block-bnr-l {
		padding: 4rem 0 3.5rem !important;
	}

	.block-bnr-l .bnr-set {
		flex-direction: column;
	}

	.block-bnr-l a {
		width: 100%;
	}

	.block-bnr-l a + a {
		margin-top: 3rem;
	}

	.block-bnr-l a:nth-child(even) {
		margin-left: 0;
	}

	.block-bnr-l a .txt {
		height: 12rem;
		padding: 0;
	}

	.block-bnr-l a .txt .en {
		font-size: 1.6rem;
	}

	.block-bnr-l a .txt .jp {
		font-size: 1.8rem;
	}

	.block-bnr-box.server-bnr {
		padding: 0;
		margin-bottom: 4rem;
	}

	.block-bnr-box.server-bnr a {
		/* background-image: url( ../img/interview/sp/tall-bnr-bg-sp.png ); */
		padding: 0 4.6rem;
	}

	.block-bnr-box.server-bnr a .txt {
		margin: 1.5rem 0 0 auto;
		padding: 0;
	}

	.block-bnr-box.server-bnr a .ttl::before {
		top: -3rem;
		left: -7rem;
	}

	.block-bnr-box.server-bnr a .ttl .en {
		font-size: 2.2rem;
		line-height: 1;
	}

	.block-bnr-box.server-bnr a .ttl .en .name {
		display: block;
		font-size: 3.2rem;
	}

	.block-bnr-box.server-bnr a .read {
		font-size: 1.2rem;
		letter-spacing: 0;
		margin-top: 0.4rem;
	}

	.block-bnr-box.line-bnr a {
		padding: 0.6rem 9vw;
	}

	.block-bnr-box.line-bnr a::after {
		display: block;
		background-image: url(../img/contact/sp/arrow-01.png);
	}

	.block-bnr-box.line-bnr a .ttl {
		margin-bottom: -0.5rem;
	}

	.block-bnr-box.line-bnr a .ttl::before {
		top: -0.6rem;
		left: -7.2rem;
	}

	.block-bnr-box.line-bnr a .ttl .ttl-jp {
		letter-spacing: -0.2px;
		line-height: 1.4;
	}

	.block-bnr-box.line-bnr a br.sp {
		display: none;
	}

	.block-bnr-box.vision-bnr a {
		width: 42rem;
		max-width: 100%;
		margin-right: auto;
		margin-left: auto;
		background-image: url(../img/partner/sp/vision-bnr-bg-01-sp.png), url(../img/partner/sp/vision-bnr-bg-02-sp.png);
		background-position: left top, center top;
		background-size: 100%;
		flex-direction: column;
		height: auto;
		border: solid 1px #0075c2;
	}

	.block-bnr-box.vision-bnr a::after {
		display: block;
		width: 1rem;
		height: 1.8rem;
		background-image: url(../img/partner/sp/arrow.png);
	}

	.block-bnr-box.about-bnr a {
		padding: 1.6rem 14vw;
		background-position: left 28% center;
		background-image: url(../img/partner/sp/about-bnr-bg.png);
	}

	.block-bnr-box.about-bnr a .ttl .ttl-jp {
		font-size: 1.4rem;
	}

	.block-bnr-box.about-bnr a .read {
		font-size: 1rem;
	}

	.block-bnr-box.vision-bnr a .vision-txt {
		width: 56%;
		margin-left: 44%;
		padding: 2rem 0 2.8rem;
	}

	.block-bnr-box.vision-bnr a .txt {
		width: 100%;
		padding: 0 2rem 1.5rem;
	}

	.block-bnr-box.vision-bnr .ext-link {
		font-size: 1.2rem;
		background-size: 11px;
		padding-left: 1.3rem;
		letter-spacing: 0.8px;
	}

	.cont-box .img img {
		height: 53.5vw;
	}

	.server-box {
		margin-top: 1.8rem;
	}

	.server-box .server-list {
		flex-direction: column;
		/* padding: 0 1rem; */
	}

	.server-box .server {
		width: 100%;
		margin-bottom: 0;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.server-box .server + .server {
		margin-top: 1.5rem;
	}

	.server-box .server:nth-child(even) {
		margin-left: 0;
	}

	.server-box .server .img-wrap .box {
		width: calc((100% - 2rem) / 2);
	}

	.server-box .server .img-wrap .box:nth-child(even) {
		margin-left: 2rem;
	}

	.server-box .server .img-wrap .img {
		height: 188px;
		padding-top: 0.8rem;
	}

	.server-box .server .btn-01 {
		margin-top: 1.5rem;
	}

	.server-box .server .btn-01 a,
	.server-box .server .btn-01 .btn {
		font-size: 1.4rem;
		line-height: 3rem;
		width: 18rem;
	}

	.btn-01 a::after,
	.btn-01 .btn::after {
		width: 1.2rem;
		height: 1.2rem;
		right: 1.2rem;
	}

	.illust-wrap::before {
		transform: translate(-14%, -11%) scale(0.45);
	}

	.illust-wrap.illust-03::before {
		transform: translate(-4%, -11%) scale(0.45) !important;
	}

	.illust-wrap::after {
		transform: translate(14%, 11%) scale(0.45);
	}

	.illust-wrap.illust-03::after {
		transform: translate(-16%, 11%) scale(0.45);
	}

	.illust-wrap.illust-pfas::after {
		transform: translate(9%, 25%) scale(0.45);
	}

	.list-01 li {
		letter-spacing: 0.8px;
		margin-bottom: 0.5rem;
	}

	.list-01 li::before {
		top: 9px;
	}

	.page-header {
		padding-top: 0;
	}

	.page-header .ttl-01 {
		height: 17.5rem;
		margin: 0;
		padding: 0.5rem 0 0;
	}

	.page-header .ttl-jp {
		font-size: 2.4rem;
		letter-spacing: 0 !important;
		margin-bottom: 1rem;
	}

	.page-header .ttl-jp .sub {
		font-size: 1.6rem;
	}

	.detail-txt {
		padding: 1rem 0 3rem;
	}

	.detail-txt .info-txt {
		margin-bottom: 3rem;
	}

	.detail-txt a.tel {
		pointer-events: auto;
	}

	.detail-txt .list-01 {
		margin-top: 2rem;
	}

	.detail-txt .address-wrap {
		display: block;
		padding: 1.5rem 2rem;
		margin-top: 2rem;
	}

	.ttl-01.wh .en span {
		font-size: 1.4rem;
	}

	.faq-list .faq {
		border-radius: 1rem;
		letter-spacing: 0.8px;
		padding: 0.8rem 0.8rem 0.8rem 0.5rem;
		margin-bottom: 1.5rem;
	}

	.faq-list .q-ttl {
		font-size: 1.6rem;
		padding: 0.5rem 4.5rem 0.5rem 4rem;
	}

	.faq-list .q-ttl::before {
		font-size: 2.1rem;
		top: 50%;
		transform: translateY(-50%);
	}

	.faq-list .q-ttl::after {
		width: 4.5rem;
		height: 4.5rem;
		top: calc(50% - 2rem);
	}

	.faq-list .q-txt {
		padding: 1.5rem 1.2rem 1.5rem 2rem;
		margin: 1rem;
		border-radius: 1rem;
	}

	.faq-list .q-txt h4 {
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.faq-list .q-txt p {
		line-height: 1.9;
		letter-spacing: 0.8px;
		text-align: justify;
	}

	.plan-box {
		padding: 3.5rem 0 0;
	}

	.plan-box .ttl-01 .icon {
		top: -1.8rem;
	}

	.plan-box .price-wrap {
		background: #e5f7ff;
		padding: 1.5rem 1.5rem 0.5rem;
		margin-top: 1.5rem;
	}

	.plan-box .price-list {
		margin-bottom: 2rem;
	}

	.plan-box .price-list .box {
		width: calc((100% - 2rem) / 3);
		padding: 1.5rem 1rem 1rem;
		margin-bottom: 3rem;
		border-radius: 1rem;
		position: relative;
	}

	.plan-box .price-list .box + .box {
		margin-left: 1rem;
	}

	.plan-box .price-list .ttl {
		font-size: 1.2rem;
	}

	.plan-box .price-list .read {
		font-size: 1rem;
		line-height: 1.6;
		position: absolute;
		right: 0;
		bottom: -3.4rem;
		left: 0;
	}

	.plan-box .price-list .box + .box::before {
		width: 2.2rem;
		height: 2.2rem;
		top: calc(50% + 0.6rem);
		left: -1.6rem;
	}

	.plan-box .price-list .icon {
		width: 18vw;
		height: 18vw;
		padding: 1rem;
		margin-bottom: 0.5rem;
	}

	.plan-box .price-total .ttl {
		margin-bottom: 0.5rem;
	}

	.plan-box .more-wrap {
		font-size: 3rem;
		letter-spacing: 0;
		padding: 3.5rem 2rem 2rem;
		margin-top: 5rem;
	}

	.plan-box .more-wrap .more {
		top: -4rem;
		left: calc(50% - 62px);
	}

	.plan-box .more-wrap::before,
	.plan-box .more-wrap::after {
		width: 21vw;
		top: -0.5rem;
	}

	.plan-box .more-wrap .sub {
		display: block;
		font-size: 2rem;
	}

	.link-box {
		margin: 2.3rem 0 0.4rem;
	}

	.link-box .txt {
		border-width: 1px;
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}

	.link-box .txt a {
		padding: 1.5rem 0;
	}

	.note-box {
		margin: 2.5rem 0 1.5rem;
	}

	.note-box .note {
		font-size: 1.6rem;
	}

	.bnr-box {
		max-width: 460px;
		padding: 2rem 0;
		margin-right: auto;
		margin-left: auto;
	}

	.bnr-box.bg-wh {
		margin-bottom: 0;
		padding: 1.8rem 0 3.8rem;
	}

	.bnr-box.bg-wh .ttl {
		margin: -0.5rem 0 0.4rem;
	}

	.bnr-box.bg-wh .ttl img {
		transform: scale(0.78);
	}

	.bnr-box.bg-wh .bnr-set {
		margin-bottom: 1.5rem;
	}

	.block-bnr-box a {
		height: 15rem;
		padding: 0 14vw;
	}

	.block-bnr-box a::after {
		width: 1.2rem;
		height: 2rem;
		top: calc(50% - 1rem);
		right: 1rem;
	}

	.block-bnr-box a .txt {
		padding: 0 0 0.5rem;
	}

	.block-bnr-box a .ttl::before {
		transform: scale(0.75);
		top: -1rem;
		left: -7.6rem;
	}

	.block-bnr-box a .ttl .en {
		font-size: 2.8rem;
		letter-spacing: 0;
		line-height: 1.9;
	}

	.block-bnr-box a .ttl .ttl-jp {
		display: inline-block;
		font-size: 1.4rem;
		font-weight: normal;
		line-height: 1.4;
		letter-spacing: -1.4px;
		margin-left: -0.5rem;
	}

	.block-bnr-box a .read {
		font-size: 1rem;
		letter-spacing: 0.3px;
	}

	.block-bnr-box.faq-bnr a {
		background: url(../img/flow/sp/3x/faq-bnr-bg-sp.png) center center / cover no-repeat;
		padding: 0.8rem 1.8rem 1.2rem;
	}

	#server .interview-box {
		padding-bottom: 5rem;
	}

	.interview-box {
		padding: 2.5rem 0;
	}

	.interview-box.bg-01 {
		padding-bottom: 6rem;
	}

	.interview-box .ttl-02 .ttl {
		padding: 1rem 2rem;
		line-height: 1.5;
		background-position: left bottom 40%, right bottom 40%;
		background-size: 2rem;
	}

	.bnr-box.bg-wh + .interview-box {
		margin-top: 2rem;
	}

	.interview-box .interview-list {
		margin: 0 -2rem;
	}

	.interview-box .mes p {
		font-size: 1.4rem;
		border-width: 1px;
		padding: 0.5rem 1.5rem;
	}

	#wrapper .interview-box .slick-prev,
	#wrapper .interview-box .slick-next {
		background-position: center center;
		background-size: 13px;
		background-repeat: no-repeat;
	}

	#wrapper .interview-box .slick-prev {
		left: 0;
		background-image: url(../img/common/sp/2x/arrow-prev-sp-wh.png);
	}

	#wrapper .interview-box .slick-next {
		right: 0;
		background-image: url(../img/common/sp/2x/arrow-next-sp-wh.png);
	}

	#wrapper .interview-box .slick-dots {
		bottom: -1.5rem;
	}

	#wrapper .interview-box .slick-dots li button:before {
		color: #fff;
	}

	#wrapper .interview-box .slick-dots li.slick-active button:before {
		color: #034d9b;
	}

	.interview-box .btn-01 {
		margin: 3.2rem 0 4rem;
	}

	.faq-box {
		padding: 5rem 0 4rem;
	}

	.faq-box .ttl-01 {
		margin-bottom: 1.8rem;
	}

	.contact-box .ttl-02 {
		margin: 2rem 0;
	}

	.contact-box .ttl-02 .ttl {
		font-size: 2rem;
		letter-spacing: -0.5px;
		padding: 0 3rem;
		background-size: 2rem;
	}

	.contact-box .ttl-02 .num {
		font-size: 3.6rem;
	}

	.contact-box .ttl-02 .main-ttl {
		font-size: 2.3rem;
		letter-spacing: -1.8px;
	}

	.contact-box .contact-list {
		flex-direction: column;
	}

	.contact-box .contact {
		width: 100%;
		border-radius: 1rem;
	}

	.contact-box .contact + .contact {
		margin: 1.5rem 0 0;
	}

	.contact-box .contact .ttl {
		padding: 0.1rem 1rem;
	}

	.contact-box .contact .cont {
		padding: 1.2rem 1rem;
	}

	.contact-box .contact .tel .note br.sp {
		display: none;
	}

	.contact-box .contact .btn-01 a {
		font-size: 1.4rem;
		text-align: center;
		padding: 0 5rem;
	}

	.point-wrap + .point-wrap {
		margin-top: -1.5rem;
	}

	.point-ttl {
		margin-bottom: 2rem;
	}

	.point-ttl .num {
		transform: scale(0.6);
		margin-bottom: -0.6rem;
	}

	.point-ttl .ttl {
		font-size: 2rem;
		line-height: 1.4;
		letter-spacing: 0.8px;
	}

	.point-list {
		padding: 0 !important;
		margin: 0 !important;
	}

	.point-list .point {
		flex-direction: column-reverse !important;
		margin-bottom: 3.5rem;
	}

	.point-list .point .txt {
		width: 100%;
		padding: 0 !important;
	}

	.point-list .point .en-02 {
		font-size: 1.8rem;
		text-align: center;
	}

	.point-list .point .ttl-jp {
		font-size: 2rem;
		text-align: center;
		margin-bottom: 0.5rem;
	}

	.point-list .point .read {
		line-height: 2;
	}

	.point-list .point .note {
		text-align: right;
		margin-top: 1rem !important;
	}

	.point-list .point .read a {
		display: flex;
		justify-content: flex-end;
	}

	.point-list .point .img-wrap {
		width: 100%;
		line-height: 0.5;
		padding: 0 1rem;
		margin-bottom: 1.5rem;
	}

	.point-list .point .img-wrap.illust-pfas {
		padding: 0 0.85rem;
		margin-bottom: 2rem;
	}

	.point-list .point .img-wrap img {
		border-radius: 1rem;
	}

	.point-list .point .img-wrap.illust-pfas img {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	.block-bnr-box a::before {
		background: linear-gradient(to right, transparent 0%, #fafbf6 60%);
	}
}

/*
----------------------------------------

min-width

----------------------------------------
*/

@media screen and (min-width: 1000px) {
	.server-box .col-03 .server {
		width: calc((100% - 4rem) / 3);
		margin: 0 2rem 3rem 0 !important;
		padding-right: 3rem;
		padding-left: 3rem;
	}

	.server-box .col-03 .server .h-02 .ttl-wrap::before {
		width: 120px;
	}

	.server-box .col-03 .server .h-02 .ttl-wrap {
		font-size: 2rem;
		letter-spacing: 0.3px;
		padding: 2rem 0 0;
	}

	.server-box .col-03 .server .h-01 > span {
		font-size: 3rem;
	}

	.server-box .col-03 .server:nth-child(3n) {
		width: calc((100% - 6rem) / 3);
		margin-right: 0 !important;
	}
}

/*
----------------------------------------

640

----------------------------------------
*/

@media screen and (max-width: 640px) {
	.block-bnr-box.line-bnr a .ttl .ttl-jp {
		font-size: 1.3rem;
	}

	.block-bnr-box.line-bnr a .read {
		font-size: 1rem;
		line-height: 1.5;
	}

	.block-bnr-box.line-bnr a br.sp {
		display: inline;
	}
}

/*
----------------------------------------

480

----------------------------------------
*/

@media screen and (max-width: 480px) {
	.block-bnr-box.line-bnr a .qr {
		display: none;
	}
}

/*
----------------------------------------

height

----------------------------------------
*/

@media screen and (min-width: 768px) and (max-height: 1100px) {
	.table-02 tbody th,
	.table-02 tbody td {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

/*
----------------------------------------

hover

----------------------------------------
*/

@media screen and (min-width: 768px) {
	.btn-01 a:hover,
	a:hover .btn-01 .btn {
		transform: scale(1.05);
	}

	.btn-01 a:hover::after,
	a:hover .btn-01 .btn::after {
		right: 1.5rem;
	}

	.btn-01.back-btn a:hover::after {
		left: 1.5rem;
	}

	.cat-list a:hover {
		transform: scale(1.05);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	.link-box a:hover span {
		color: #333;
		border-color: #333;
	}

	.note-box a:hover {
		color: #3797db;
	}

	.bnr-box a:not(.drop-shadow):hover,
	.interview-box .bnr a:hover {
		transform: translateY(-0.4rem) scale(1.02);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	.bnr-box a.drop-shadow img {
		transition: filter 0.4s ease;
	}

	.bnr-box a.drop-shadow:hover {
		transform: translateY(-0.4rem) scale(1.02);
	}

	.bnr-box a.drop-shadow:hover img {
		filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.1));
	}

	.block-howto-bnr a:hover {
		transform: translateY(-0.4rem) scale(1.02);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	.block-howto-bnr a:hover::after {
		right: 2rem;
	}

	.block-bnr-l a:hover::after {
		opacity: 1;
		visibility: visible;
	}

	.block-bnr-l a:hover .txt .en,
	.block-bnr-l a:hover .txt .jp {
		color: #fff;
	}

	.block-bnr-l a:hover .img {
		opacity: 0.35;
	}

	.faq-list .q-txt h4 a:hover {
		color: #333;
		border-color: #333;
	}

	.faq-list .q-txt p a:hover {
		border-bottom: solid 1px #139fe5;
	}

	.block-bnr-box a:hover {
		transform: translateY(-0.4rem) scale(1.02);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	.block-bnr-box a:hover::after {
		right: 2rem;
	}

	.cont-box a:hover {
		background: #e5f7ff;
	}

	.cont-box a:hover .img img {
		transform: scale(1.05);
	}

	.faq-list .faq.close:hover {
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	}

	#wrapper .slick-prev:hover,
	#wrapper .slick-next:hover {
		transform: translate(0, -50%) scale(1.15);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
	}

	.detail-txt a:hover {
		border-bottom: solid 1px #3797db;
	}
}

/*ヘッダー電話番号非表示*/
header .phone-btn.btn {
	display: none;
}

header .icon.tel-btn {
	display: none;
}

.frontpage_contact.contact-box .contact.tel {
	font-size: 1.4rem;
	font-weight: bold;
	display: none;
}

/**
 * キャンペーンバナー tmp-bnr-01
 */
.tmp-bnr-01 {
	width: 100%;
	position: relative;
	margin-bottom: 4rem;
	align-items: flex-end;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}
.tmp-bnr-01 > a {
	width: 100%;
}
.campaign-apply-box {
	display: none;
}

@media screen and (max-width: 768px) {
	.tmp-bnr-01 {
		margin-bottom: 2rem;
		grid-template-columns: repeat(1, 1fr);
		gap: 2.9rem;
	}
	.tmp-bnr-01 img {
		width: 100%;
	}
	.campaign-apply-box {
		display: flex;
		flex-flow: column;
		align-items: center;
		width: 100%;
	}
	.campaign-apply-btn-box {
		display: flex;
		width: 100%;
		justify-content: center;
		margin-bottom: 2.3rem;
	}
	.campaign-apply-btn {
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
		width: 100%;
	}
	.campaign-apply-btn > img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.campaign-apply-notes {
		width: 100%;
		list-style-type: none;
		counter-reset: list-counter;
		margin-bottom: 0.8rem;
	}
	.campaign-apply-notes > li {
		counter-increment: list-counter;
		position: relative;
		padding-left: 35px;
		margin-bottom: 0.8rem;
		line-height: 2;
		font-size: 1rem;
	}
	.campaign-apply-notes > li::before {
		content: "※" counter(list-counter);
		position: absolute;
		left: 0;
	}
	.campaign-apply-btn-box.btn-box-right {
		margin-bottom: 0;
		justify-content: flex-end;
	}
	.campaign-apply-btn-box.btn-box-right > a {
		font-size: 1rem;
		color: #139fe5;
		font-weight: bold;
		letter-spacing: 0.04em;
		text-decoration: underline;
		text-underline-offset: 2px;
		line-height: 1;
	}
}