@charset "UTF-8";

/*追従ボタン確認用*/
.dummy{
	margin-top: 4000px;
}
/* =============================================================================
   #Foundation
   ========================================================================== */
/* -----------------------------------------------------------------------------
   #base
   -------------------------------------------------------------------------- */
/* テーマカラー
  -------------------------------------------------------------------------- */
/*春割color*/
body.haruwari .list-qa-question::before,
body.haruwari .list-qa-answer::before,
body.haruwari .sec-option .ttl-01,
body.haruwari .sec-plan .ttl-01,
body.haruwari .sec-qa .ttl-01,
body.haruwari .mod-plan-price,
body.haruwari .mod-plan-point-btn,
body.haruwari .mod-plan-point-btn02 {
  color: #e17fa8;
}

body.haruwari .hero,
body.haruwari .mod-plan-card,
body.haruwari .sec-service,
body.haruwari .mod-option-price,
body.haruwari .mod-plan-point,
body.haruwari .mod-plan-point02 {
  background-color: #e17fa8;
}

body.haruwari .mod-option-card,
body.haruwari .list-qa-item,
body.haruwari .is-active .list-qa-question,
body.haruwari .mod-plan-card {
  border-color: #e17fa8;
}

body.haruwari .ico-arrow::before {
  border-left-color: #e17fa8;
}

body.haruwari .list-qa-answer,
body.haruwari .ico-slide::before {
  border-top-color: #e17fa8;
}

body.haruwari .list-qa-answer {
  background-color: rgba(225, 127, 168, 0.2);
}

/*秋割りcolor*/
body.akiwari .list-qa-question::before,
body.akiwari .list-qa-answer::before,
body.akiwari .sec-option .ttl-01,
body.akiwari .sec-plan .ttl-01,
body.akiwari .sec-qa .ttl-01,
body.akiwari .mod-plan-price,
body.akiwari .mod-plan-point-btn,
body.akiwari .mod-plan-point-btn02 {
  color: #f08200;
}

body.akiwari .hero,
body.akiwari .mod-plan-card,
body.akiwari .sec-service,
body.akiwari .mod-option-price,
body.akiwari .mod-plan-point,
body.akiwari.mod-plan-point02 {
  background-color: #f08200;
}

body.akiwari .mod-option-card,
body.akiwari .list-qa-item,
body.akiwari .is-active .list-qa-question,
body.akiwari .mod-plan-card {
  border-color: #f08200;
}

body.akiwari .ico-arrow::before {
  border-left-color: #f08200;
}

body.akiwari .list-qa-answer,
body.akiwari .ico-slide::before {
  border-top-color: #f08200;
}

body.akiwari .list-qa-answer {
  background-color: rgba(240, 130, 0, 0.2);
}

/*初割りcolor*/
body.hatsuwari .list-qa-question::before,
body.hatsuwari .list-qa-answer::before,
body.hatsuwari .sec-option .ttl-01,
body.hatsuwari .sec-plan .ttl-01,
body.hatsuwari .sec-qa .ttl-01,
body.hatsuwari .mod-plan-price,
body.hatsuwari .mod-plan-point-btn,
body.hatsuwari .mod-plan-point-btn02 {
  color: #e60012;
}

body.hatsuwari .hero,
body.hatsuwari .mod-plan-card,
body.hatsuwari .sec-service,
body.hatsuwari .mod-option-price,
body.hatsuwari .mod-plan-point,
body.hatsuwari .mod-plan-point02 {
  background-color: #e60012;
}

body.hatsuwari .mod-option-card,
body.hatsuwari .list-qa-item,
body.hatsuwari .is-active .list-qa-question,
body.hatsuwari .mod-plan-card {
  border-color: #e60012;
}

body.hatsuwari .ico-arrow::before {
  border-left-color: #e60012;
}

body.hatsuwari .list-qa-answer,
body.hatsuwari .ico-slide::before {
  border-top-color: #e60012;
}

body.hatsuwari .list-qa-answer {
  background-color: rgba(230, 0, 18, 0.2);
}

/*お試しCP color*/
body.otameshi .list-qa-question::before,
body.otameshi .list-qa-answer::before,
body.otameshi .sec-option .ttl-01,
body.otameshi .sec-plan .ttl-01,
body.otameshi .sec-qa .ttl-01,
body.otameshi .mod-plan-price,
body.otameshi .mod-plan-point-btn,
body.otameshi .mod-plan-point-btn02 {
  color: #0a385b;
}

body.otameshi .hero,
body.otameshi .mod-plan-card,
body.otameshi .sec-service,
body.otameshi .mod-option-price,
body.otameshi .mod-plan-point,
body.otameshi.mod-plan-point02 {
  background-color: #0a385b;
}

body.otameshi .mod-option-card,
body.otameshi .list-qa-item,
body.otameshi .is-active .list-qa-question,
body.otameshi .mod-plan-card {
  border-color: #0a385b;
}

body.otameshi .ico-arrow::before {
  border-left-color: #0a385b;
}

body.otameshi .list-qa-answer,
body.otameshi .ico-slide::before {
  border-top-color: #0a385b;
}

body.otameshi .list-qa-answer {
  background-color: rgba(10, 56, 56, 0.1);
}

body.otameshi .btn-in {
  background-color: #EF7694;
}


/*!
 * ress.css v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;

}

*,
::after,
::before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

::after,
::before {
  vertical-align: inherit;
  text-decoration: inherit;
}

* {
  margin: 0;
  padding: 0;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

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

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden],
template {
  display: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

a {
  background-color: transparent;

  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

b,
strong {
  font-weight: bolder;
}

dfn {
  font-style: italic;
}

mark {
  color: #000;
  background-color: #ff0;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

input {
  border-radius: 0;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

[type=number] {
  width: auto;
}

[type=search] {
  -webkit-appearance: textfield;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
}

button,
select {
  text-transform: none;
}

button,
input,
select,
textarea {
  border-style: none;
  color: inherit;
  background-color: transparent;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  display: table;
  max-width: 100%;
  border: 0;
  color: inherit;
  white-space: normal;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio,
canvas,
progress,
video {
  display: inline-block;
}

@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

::-moz-selection {
  color: #000;
  background-color: #b3d4fc;
  text-shadow: none;
}

::selection {
  color: #000;
  background-color: #b3d4fc;
  text-shadow: none;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
html {
  font-size: 62.5%;
}

@media screen and (min-width: 768px) {
  html {
    height: 100%;
  }
}

body {
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Lucida Grande", "Hiragino Kaku Gothic Pro", "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.5;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  body {
    min-width: 1134px;
    height: 100%;
    font-size: 1.8rem;
    line-height: 1.33;
    letter-spacing: 0.05em;
  }
}

a,
button {
  -webkit-transition: opacity 0.3s, color 0.3s, background-color 0.3s;
  transition: opacity 0.3s, color 0.3s, background-color 0.3s;
}

a {
  color: inherit;
  text-decoration: none;
}

a:visited {
  color: inherit;
}

a:hover,
a:active,
a:focus {
  opacity: 0.75;
  text-decoration: none;
}

a[href^="tel"] {
  color: inherit;
  cursor: default;
  pointer-events: none;
}

input,
select,
textarea {
  width: 100%;
  border: 1px solid #e7e7e7;
  vertical-align: middle;
  letter-spacing: normal;
  background-color: #fff;
}

input,
select {
  height: 3em;
  padding: 0.5em 1em;
}

textarea {
  height: 9em;
  padding: 0.5em 1em;
}

strong {
  font-weight: normal;
}

small {
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: normal;
}

ul,
ol {
  list-style-type: none;
}

figure,
figcaption {
  margin: 0;
}

figure {
  text-align: center;
}

table {
  width: 100%;
  border-spacing: 0;
}

th {
  text-align: left;
}

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

[src$=".svg"],
[data$=".svg"] {
  width: 100%;
}

i,
cite,
em,
address,
dfn {
  font-style: normal;
}

i,
source {
  display: inline-block;
}

i {
  line-height: 0;
  vertical-align: middle;
}

picture {
  display: block;
  line-height: 0;
  text-align: center;
}

code,
pre {
  font-family: Consolas, Menlo, Courier, monospace;
}

code {
  padding: 0.2em;
  border-radius: 2px;
  font-size: 1rem;
  background-color: rgba(0, 0, 0, 0.06);
}

pre code {
  padding: 0;
  font-size: 1rem;
  background-color: inherit;
}

svg {
  width: 20px;
  height: 20px;
}

:placeholder-shown {
  color: #999;
}

::-webkit-input-placeholder {
  color: #999;
}

::-moz-placeholder {
  opacity: 1;
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

/* =============================================================================
   #Layout
   ========================================================================== */
/* #contents
  -------------------------------------------------------------------------- */
/**
 * contents
 */
.contents {
  /* padding-top: 48px; */
}

@media screen and (min-width: 768px) {
  .contents {
    /* padding-top: 93px; */
  }
}

/**
 * contents-main
 */
/**
 * contents-frame
 */
.contents-frame {
  padding: 0 15px;
}

@media screen and (min-width: 768px) {
  .contents-frame {
    width: 100%;
    max-width: 1034px;
    margin-right: auto;
    margin-left: auto;
    padding: 0 0;
  }
}

.contents-frame > :first-child {
  margin-top: 0;
}

.pc-only {
  display: none;
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
  .pc-only {
    display: block;
  }
}


/* #Footer
  -------------------------------------------------------------------------- */
.footer {
  padding: 11px 0 10px;
  color: #fff;
  background-color: #0a385b;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 21px 0;
  }
}

.footer-in {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 15px;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .footer-in {
    padding: 0;
  }
}

.footer-logo {
  width: 52px;
  height: 11px;
  font-size: 0;
}

@media screen and (min-width: 768px) {
  .footer-logo {
    width: 60px;
    margin-right: 22px;
  }
}

.footer-logo-img {
  margin-left: 3px;
}

.footer-copylight {
  margin: 0 0 3px 9px;
  padding-top: 2px;
  font-size: 1rem;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .footer-copylight {
    margin: 0;
    padding-top: 6px;
    font-size: 1.4rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/*20230127add*/
@media screen and (max-width: 1279px){
	.footer {
		margin-bottom: 78px;
	}
}

/* #Header
  -------------------------------------------------------------------------- */
/**
 * header
 */
.header {
  position: relative;
  z-index: 10;
}

/* @media screen and (min-width: 768px) {
  .header {

  }
} */

.header-in {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 10px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .header-in {
    margin-right: auto;
    margin-left: auto;
    padding: 32px 32px 0;
  }
}

.header-logo {
  width: 150px;
  height: auto;
  font-size: 0;
}

@media screen and (min-width: 768px) {
  .header-logo {
    width: 190px;
  }
}

.header-utility {
  margin-left: auto;
}

.header-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.header-list-item {
  width: auto;
}
.header-list-item a {
  display: inline-block;
}
.header-list-item.facebook img {
  width: 8px;
}
.header-list-item.twitter img {
  width: 16px;
}
.header-list-item + .header-list-item {
  margin-left: 16px;
}

@media screen and (min-width: 768px) {
  .header-list-item {
    width: auto;
  }
  .header-list-item.facebook img {
    width: 9px;
  }
  .header-list-item.twitter img {
    width: 18px;
  }
  .header-list-item + .header-list-item {
    margin-left: 24px;
  }
}

/*20230127add*/
.header {
    position: relative;
}
@media screen and (min-width: 768px), print{
	.header-ttl {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}
@media screen and (max-width: 767px){
	.nikkei_logo img {
		width: 32.1875vw;
	}
}
@media screen and (max-width: 414px){
	.nikkei_logo img {
		width: 42.1875vw;
		height: auto;
	}
}
.nikkei_logo {
    display: block;
    line-height: 1;
    text-align: center;
    font-weight: normal;
    font-size: 90%;
}
@media screen and (min-width: 768px), print{
	.nikkei_logo {
		width: 220px;
		height: 23px;
		padding-left: 20px;
	}
}
@media screen and (max-width: 767px){
	.nikkei_logo {
		padding: 1.4em 0;
	}
}

/*　タブ　*/
.cpnWrap{
	display: flex;
}
@media screen and (max-width: 767px){
	.cpnWrap{
		justify-content: space-around;
	}
}
@media screen and (max-width: 768px){
	.cpn-ttl{
	display: none;
	}
}
.cpn-ttl a {
    color: #fff;
    text-align: center;
}
@media screen and (min-width: 768px), print{
	.cpn-ttl a {
		width: 360px;
		padding: 19px 0px;
		margin-bottom: 0;
		font-size: 18px;
		font-weight: bold;
		border-radius: 8px 8px 0 0;
	}
}
@media screen and (max-width: 767px){
	.cpn-ttl a {
		width: 184px;
		padding: 6px 12px;
		margin-bottom: 0;
		font-size: 16px;
		font-weight: bold;
		border-radius: 8px 8px 0 0;
	}
}
.cpn-ttl.subLP1 a,.cpn-ttl.subLP2 a,.cpn-ttl.subLP3 a,.cpn-ttl.mainLP a{
    text-decoration: none;
    position: relative;
	display: block;
}
.cpn-ttl.mainLP a{
	background-color: #003e70;
}

.cpn-ttl:nth-child(2){
	margin: 0 5px;
}
.cpn-ttl:last-of-type{
	margin-right: 20px;
}
@media screen and (max-width: 767px){
.cpn-ttl:nth-child(2){
		margin: 0;
	}
	.cpn-ttl:last-of-type{
	margin-right: 0px;
}
}
.cpn-ttl.subLP1 a{
	background-color: #3D6CAE;
}
.cpn-ttl.subLP2 a{
	background-color: #54ABCF;

}
.cpn-ttl.subLP3 a{
	background-color: #EF7694;
}

/* 
   -------------------------------------------------------------------------- */
/**
 * otameshi-sidemenu
 */
.otameshi-sidemenu {
	display: none;
	width: 100%;
    position: fixed;
    bottom: 0;
    right: 0;
	justify-content: center;
    z-index: 2;
}

@media screen and (max-width: 414px){
	.otameshi-sidemenu {
		display: none;
		top: auto;
		bottom: 0;
		padding: 10px 10px 10px;
		min-height: 68px;
		background: rgba(255, 255, 255, 0.9);
		-webkit-writing-mode: horizontal-tb;
		-ms-writing-mode: lr-tb;
		writing-mode: horizontal-tb;
	}
}
.otameshi-sidemenu a{
	font-size: 1.4rem;
}
.btn-wrap--flex {
    display: flex;
}
.btn-area--otameshi-sidemenu .primary-btn {
    width: 100%
}
@media screen and (max-width: 1280px){
	.btn-area--otameshi-sidemenu {
		margin: 0 auto;
	}
}
@media screen and (max-width: 1280px){
	.btn-area--otameshi-sidemenu .primary-btn + .primary-btn {
    	margin-left: 7px;
	}
}
@media screen and (max-width: 1280px){
	.btn-area--otameshi-sidemenu .primary-btn {
		width: 100%;
	}
}
.primary-btn {
    width: 100%;
    font-weight: bold;
}
.primary-btn--otameshi-sidemenu .primary-btn__inner {
    height: 290px;
    background-color: #003e70;
    transition: opacity 0.3s;
	display: flex;
	border-top-left-radius: 8px;
}
@media screen and (max-width: 1280px){
	.primary-btn--otameshi-sidemenu .primary-btn__inner {
		height: 58px;
		border-top-left-radius: 0px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 414px){
	.primary-btn--otameshi-sidemenu .primary-btn__inner {
		font-size: 1.2rem;
		border-top-left-radius: 0px;
	}
}
@media screen and (min-width: 1281px){
	.primary-btn--otameshi-sidemenu .primary-btn__inner {
	    writing-mode: vertical-rl;
    text-orientation: upright;
	}
}
.primary-btn--otameshi-sidemenu1 .primary-btn__inner {
    height: 200px;
    background-color: #3D6CAE;
    transition: opacity 0.3s;
	display: flex;
	border-top-left-radius: 8px;
}

@media screen and (max-width: 1280px){
	.primary-btn--otameshi-sidemenu1 .primary-btn__inner {
		height: 58px;
		border-top-left-radius: 0px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 414px){
	.primary-btn--otameshi-sidemenu1 .primary-btn__inner {
		font-size: 1.2rem;
		border-top-left-radius: 0px;
	}
}
@media screen and (min-width: 1281px){
	.primary-btn--otameshi-sidemenu1 .primary-btn__inner {
		writing-mode: vertical-rl;
    	text-orientation: upright;
	}
}
.primary-btn--otameshi-sidemenu2 .primary-btn__inner {
    height: 280px;
    background-color: #54ABCF;
    transition: opacity 0.3s;
	display: flex;
}
@media screen and (max-width: 1280px){
	.primary-btn--otameshi-sidemenu2 .primary-btn__inner {
		height: 58px;
		border-bottom-left-radius: 0px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 414px){
	.primary-btn--otameshi-sidemenu2 .primary-btn__inner {
		font-size: 1.1rem;
		border-bottom-left-radius: 0px;
	}
}
.primary-btn--otameshi-sidemenu3 .primary-btn__inner {
    height: 64px;
    background-color: #EF7694;
    transition: opacity 0.3s;
	display: flex;
	font-size: 2.8rem;
}
@media screen and (max-width: 1280px){
	.primary-btn--otameshi-sidemenu3 .primary-btn__inner {
		height: 62px;
		border-bottom-left-radius: 0px;
		font-size: 2.2rem;
	}
}
@media screen and (max-width: 414px){
	.primary-btn--otameshi-sidemenu3 .primary-btn__inner {
		font-size: 1.8rem;
		border-bottom-left-radius: 0px;
	}
}
.primary-btn__inner {
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 64px;
    background-color: #003e70;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    line-height: 1.3;
    transition: all 0.3s;
}



/* #Wrapper
   -------------------------------------------------------------------------- */
/**
 * wrapper
 */
.wrapper {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .wrapper {
    overflow: visible;
  }
}

/* =============================================================================
   #Object
   ========================================================================== */
/* -----------------------------------------------------------------------------
   #Component
   -------------------------------------------------------------------------- */
/* #btn-end
   -------------------------------------------------------------------------- */
.btn-end {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-decoration: none;
  flex-direction: row;

  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
}

.btn-end-in {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: 42px;
  padding: 9px 30px;
  border-radius: 4px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.33;
  text-decoration: none;
  letter-spacing: 0.1em;
  background-color: #0a385b;
  cursor: pointer;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .btn-end-in {
    min-width: 664px;
    min-height: 65px;
    border-radius: 4px;
    font-size: 2.4rem;
  }
}

/* #btn-pagetop
   -------------------------------------------------------------------------- */
.btn-pagetop {
  opacity: 0;
  position: fixed;
  z-index: 10;
  right: 15px;
  bottom: 43px;
  width: 36px;
  height: 36px;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  -webkit-transform: rotateY(0deg);
  transform: rotateY(0deg);
}

@media screen and (min-width: 768px) {
  .btn-pagetop {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 72px;
    height: 72px;
  }
}

@media screen and (min-width: 768px) {
  .btn-pagetop_wrap {
    position: fixed;
    right: 0;
    bottom: 43px;
    left: 0;
    width: 100%;
    min-width: 1054px;
    max-width: 1174px;
    height: 0;
    margin: 0 auto;
  }
}

.btn-pagetop a {
  display: block;
  visibility: hidden;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

@media screen and (min-width: 768px) {
  .btn-pagetop a {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
  }
}

@media screen and (min-width: 768px) {
  .btn-pagetop a:hover {
    opacity: 0.7;
  }
}

.btn-pagetop img {
  width: 100%;
}

/* 表示されるとき */
.btn-pagetop.is-show {
  opacity: 1;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  -webkit-transform: rotateY(360deg);
  transform: rotateY(360deg);
}

.btn-pagetop.is-show a {
  visibility: visible;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}

/* #btn-wrap
   -------------------------------------------------------------------------- */
.btn-wrap {
  margin-top: 15px;
  text-align: center;
}
.sec-plan .btn-wrap {
  margin-top: 22px;
}
.sec-plan .btn-wrap .btn-wrap-bottomtext {
  margin-top: 16px;
}
.sec-service .btn-wrap {
  margin-top: 36px;
}
.img_device {
  margin-top: 28px;
  text-align: center;
}
.img_device img {
  width: 239px;
}

@media screen and (min-width: 768px) {
  .btn-wrap {
    margin-top: 30px;
  }
  .sec-plan .btn-wrap {
    margin-top: 52px;
  }
  .sec-plan .btn-wrap .btn-wrap-bottomtext {
    margin-top: 32px;
  }
  .sec-service .btn-wrap {
      margin-top: 72px;
  }
  .img_device {
    margin-top: 52px;
  }
  .img_device img {
    width: 480px;
  }
}

.btn-wrap.s-wide {
  margin-top: 30px;
}

.btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-decoration: none;
  flex-direction: row;

  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
}

.btn-in {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-width: 242px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 2px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: normal;
  text-decoration: none;
  letter-spacing: 0.1em;
  background-color: #245483;
  cursor: pointer;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .btn-in {
    display: block;
    min-width: 480px;
    min-height: 78px;
    padding-top: 18px;
    border-radius: 2px;
    font-size: 3.0rem;
  }
}

.btn-in-sp{
  display: none;
}

@media screen and (min-width: 768px) {
  .btn-in-sp {
    display: block;
    padding-top: 16px;
  }
}

.btn-wrap-bottomtext {
  margin: 8px 0 0;
  padding: 0 24px;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 768px) {
  .btn-wrap-bottomtext {
    padding: 0;
    margin: 18px 0 0;
  }
}

.btn-wrap-bottomtext-main {
  font-size: 1.0rem;
}
@media screen and (min-width: 768px) {
  .btn-wrap-bottomtext-main {
    font-size: 1.5rem;
  }
}

.btn-wrap-bottomtext-list {
  font-size: 1.2rem;
}
.btn-wrap-bottomtext-main + .btn-wrap-bottomtext-list {
  margin-top: 6px;
}

@media screen and (min-width: 768px) {
  .btn-wrap-bottomtext-list {
    font-size: 1.4rem;
  }
  .btn-wrap-bottomtext-main + .btn-wrap-bottomtext-list {
    margin-top: 18px;
  }
  .btn-wrap-bottomtext-list li + li {
    margin-top: 4px;
  }
}


/* #fig-option
  -------------------------------------------------------------------------- */
.fig-option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 66px;
  padding: 0 10px;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .fig-option {
		height: 135px;
  }
}

@media screen and (min-width: 768px) {
  .fig-option-img.s-viewer {
		width: 90px;
  }
  .fig-option-img.s-mj {
		width: 80px;
  }
  .fig-option-img.s-digital {
		width: 230px;
  }
  .fig-option-img.s-watch {
		width: 238px;
  }
  .fig-option-img.s-premium {
		width: 268px;
  }
}

/* #fig-plan
  -------------------------------------------------------------------------- */
.fig-plan-term {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .fig-plan-term {
    margin-top: 40px;
  }
}

.fig-plan-term-wrap {
  margin: 0 -10px;
}

@media screen and (min-width: 768px) {
  .fig-plan-term-wrap {
    margin: 0;
  }
}

.fig-plan-term-img-pc {
  max-width: 90%;
  display: none !important;
}

@media screen and (min-width: 768px) {
  .fig-plan-term-img-pc {
    max-width: 100%;
    display: block !important;
  }
}

.fig-plan-term-img-sp {
  margin: 0 auto;
  max-width: 94%;
  display: block !important;
}

@media screen and (min-width: 768px) {
  .fig-plan-term-img-sp {
    max-width: 100%;
    display: none !important;
  }
}



/* #hero
  -------------------------------------------------------------------------- */
.hero {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  color: #fff;
  flex-direction: column;

  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  background-size: cover;
background: #003e70;
}

.hero-in {
	position: relative;
    height: auto;
    padding-bottom: 24px;
}

@media screen and (min-width: 768px) {
  .hero-in {
    height: 500px;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
.hero-text{
position: relative;
}
}
.hero-img{
margin-top: 48px;
}
@media screen and (min-width: 768px) {
.hero-img{
position: absolute;
top:4%;
left: 65%;
padding:16px;
max-width: 528px;
}
}

.hero-text {
 max-width: 380px;
padding: 16px;
margin: 40px auto;
text-align: center;
}
@media screen and (min-width: 1040px) {
  .hero-text {
	  max-width: 1040px;
    height: auto;
    padding: 60px;
	margin: 130px auto;
  }
}
@media screen and (min-width: 768px) {
  .hero-text {
	  max-width: 1134px;
    height: auto;
    padding: 24px;
	text-align: left;
	margin: 100px auto;
  }
	.hero-label{
		margin-right: 20px;
	}
	.hero-label img{
	width: 117px;
	}
	.hero-textwrap{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.hero-label img{
		width: 110px;
	}
}
.hero-read {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 24px 0;
	letter-spacing: 0.2rem;
	line-height: 2.0;
	color: #ffffff;
	padding: 4px 8px;
	background: #EF7694;
}

.hero-read .strong {
  color: #f78600;
margin-top:24px; 
}

@media screen and (min-width: 768px) {
  .hero-read {
padding: 8px 16px;
    width: auto;
    margin:  auto;
	  font-size: 5rem;
  }
}

.hero-read-dsr3 {
  font-size: 6.8vw;
  margin-left: 50%;
  margin-right: 5px;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .hero-read-dsr3 {
    width: 380px;
    margin-left: auto;
	margin-right: 0;
    font-size: 3.0rem;
    text-align: center;
	font-weight: normal;
  }
}

.hero-title {
  margin: 24px 0 2px;
  font-size: 10vw;
  font-weight: bold;
  line-height: 1.1;
}

@media screen and (min-width: 768px) {
  .hero-title {
    margin: 40px 0 24px;
    font-size: 6.8rem;
  }
}

@media screen and (min-width: 768px) {
  .hero-end .hero-title {
    margin: 0;
  }
}

.hero-subtext {
  font-size: 3.0vw;
}
@media screen and (min-width: 768px) {
  .hero-subtext {
    margin-top: 8px;
    font-size: 1.8rem;
    font-weight: bold;
  }
}

.hero .btn-wrap {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .hero .btn-wrap {
    margin-top: 16px;
  }
}

.hero-sub{
  text-align: left;
  background-color: #ffffbc;
  padding: 8px 16px;
  font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
  .hero-sub {
    text-align: center;
    background-color: #ffffbc;
    padding: 16px 0;
    font-size: 1.4rem;
  }
}
/*20230202add*/
.hero{
	background: url("../images/bg_otameshi.jpg");
	background-size: cover;
	background-position: center center;
}


/* #ico-arrow
  -------------------------------------------------------------------------- */
.ico-arrow::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-width: 4px 0 4px 3px;
  border-style: solid;
  border-top-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
}

@media screen and (min-width: 768px) {
  .ico-arrow::before {
    border-width: 8px 0 8px 10px;
  }
}

/* #ico-slide
  -------------------------------------------------------------------------- */
.ico-slide::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-top: 2px;
  border-width: 8px 5px 0 5px;
  border-style: solid;
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-left-color: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media screen and (min-width: 768px) {
  .ico-slide::before {
    border-width: 11px 7px 0 7px;
  }
}

.is-active .ico-slide::before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

/* #Link-ico
   -------------------------------------------------------------------------- */
.link-ico {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: left;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.link-ico > :first-child {
  margin-right: 3px;
}

@media screen and (min-width: 768px) {
  .link-ico > :first-child {
    margin-right: 8px;
  }
}

/* #list-option
-------------------------------------------------------------------------- */
.list-option {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 15px -10px -18px;

  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .list-option {
    margin: 30px -17px -30px;
  }
}

.list-option-item {
  width: 43%;
  margin: 0 7px 18px;
}

@media screen and (min-width: 768px) {
  .list-option-item {
    width: 322px;
    margin: 0 17px 30px;
  }
}

/* #list-qa
-------------------------------------------------------------------------- */
.list-qa {
  font-size: 1.2rem;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .list-qa {
    font-size: 1.4rem;
    line-height: 1.9;
  }
}

.list-qa-item {
  margin-top: 8px;
  border: 1px solid;
  border-radius: 2px;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .list-qa-item {
    margin-top: 17px;
    font-size: 1.4rem;
  }
}

.list-qa-item:first-child {
  margin-top: 0;
}

.list-qa-question {
	display: block;
  overflow: hidden;
  position: relative;
  padding: 9px 20px 9px 10px;
  border-radius: 2px;
}

@media screen and (min-width: 768px) {
  .list-qa-question {
    padding: 10px 36px 10px 23px;
    cursor: pointer;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .list-qa-question:hover {
    opacity: 0.75;
  }
}

.list-qa-question::before {
  content: "Q";
  float: left;
  margin-right: 8px;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .list-qa-question::before {
    font-size: 1.8rem;
  }
}

.list-qa-body {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .list-qa-body {
    padding-top: 4px;
  }
}

@media screen and (min-width: 768px) {
  .list-qa-text {
    font-size: 1.6rem;
  }
}

.list-qa-answer {
  display: none;
  position: relative;
  padding: 7px 15px 7px 10px;
  border-top: 1px solid;
}

@media screen and (min-width: 768px) {
  .list-qa-answer {
    padding: 20px 36px 20px 23px;
  }
}

.list-qa-answer::before {
  content: "A";
  float: left;
  margin-right: 10px;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .list-qa-answer::before {
    margin-right: 23px;
    font-size: 1.8rem;
  }
}

.list-qa-question .ico-slide,
.list-qa-answer .ico-slide {
  position: absolute;
  top: 0;
  right: 6px;
  bottom: 0;
  height: 5px;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .list-qa-question .ico-slide,
  .list-qa-answer .ico-slide {
    right: 15px;
    height: 14px;
  }
}

.sec-qa-child_h{
	text-align: center;
    font-size: 2.6rem;
	margin: 36px 0 20px;
}
@media screen and (max-width: 767px) {
	.sec-qa-child_h{
		font-size: 1.8rem;
		margin: 20px 0 10px;
	}
}

/*「質問」を開いたとき*/
.is-active .list-qa-answer {
  display: block;
}

/* #List service
   -------------------------------------------------------------------------- */
.list-service {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 24px 0 -35px;
  padding: 0;

  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .list-service {
    margin: 48px auto -70px;
    padding: 0;
  }
}

.list-service-item {
  width: 50%;
  margin-bottom: 35px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .list-service-item {
    width: 25%;
    margin-bottom: 70px;
  }
}

.list-service-icon img {
  width: 50px;
}

@media screen and (min-width: 768px) {
  .list-service-icon img {
    width: 80px;
  }
}

.list-service-title {
  margin-top: 10px;
  color: inherit;
  font-size: 1.3rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .list-service-title {
    margin-top: 15px;
    font-size: 1.8rem;
	font-weight: normal;
  }
}

.list-service-text {
  width: 140px;
  margin: 8px auto 0;
  margin-top: 8px;
  font-size: 1.0rem;
  line-height: 1.6;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .list-service-text {
    width: 200px;
    margin: 16px auto auto;
    margin-top: 16px;
    font-size: 1.2rem;
  }
}

/* #nbd service
   -------------------------------------------------------------------------- */
.nbd-service-wrap{
  width: 100%;
  background-color: #fff;
}

.nbd-service-content{
  padding: 24px;
  margin-top: 8px;
  border: 1px solid #e17ea8;
  border-radius: 2px;
  padding: 32px 8px 16px;
}

@media screen and (min-width:768px) {
  .nbd-service-content{
    padding: 56px 32px 40px;
    margin-top: 32px;
    border: 2px solid #e17ea8;
    border-radius: 4px;
  }
}

.nbd-service-content p{
  font-size: 1.2rem;
  padding: 16px;
  line-height: normal;
  margin-top: 4px;
}

@media screen and (min-width:768px) {
  .nbd-service-content p{
    font-size: 1.5rem;
    margin-top: 24px;
  }
}

.nbd-service-img{
  margin: 0 auto;
  display: block !important;
}

@media screen and (min-width:768px) {
.nbd-service-img{
  width: 80%;
  margin: 0 auto;
  display: block !important;
 }
}

/* #nav-utility
  -------------------------------------------------------------------------- */
.nav-utility {
  padding: 25px 0;
}

@media screen and (min-width: 768px) {
  .nav-utility {
    padding: 8px 0;
  }
}

.nav-utility-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: -11px;

  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.nav-utility-list-item {
  margin: 11px 24px 0;
  color: #67779f;
}

@media screen and (min-width: 768px) {
  .nav-utility-list-item {
    color: #0a385b;
  }
}

.nav-utility-list-link {
  font-size: 12px;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .nav-utility-list-link {
    text-decoration: none;
  }
}

.nav-utility-list-link:hover {
  color: #8a8a8a;
}

/* #sec-option
-------------------------------------------------------------------------- */
.sec-option {
  padding: 20px 0 30px;
}

@media screen and (min-width: 768px) {
  .sec-option {
    padding: 40px 0 55px;
  }
}

@media screen and (min-width: 768px) {
  .sec-option-inner {
    width: 1034px;
    margin: 0 auto;
  }
}

/* #sec-plan
-------------------------------------------------------------------------- */
.sec-plan {
  padding: 30px 40px 30px;
}
@media screen and (min-width: 768px) {
  .sec-plan {
    padding: 42px 0 0;
	width: 990px;
    margin: auto;
  }
}
/*@media screen and (min-width: 768px){
	.col-service{
		width: 417px;
	}
}*/

[class|=lbl] img {
	width: 69px;
}
@media screen and (max-width: 767px), print{
	[class|=lbl] img {
		width: 65px;
		height: 65px;
	}
}

@media screen and (min-width: 768px){
	[class|=flxpc] {
		display: flex;
		justify-content: space-between;
	}
}

.img-plan-wplan,.img-plan-denshiban,.img-plan-takuhai {
    position: relative;
	margin: auto;
	text-align: center;
}


[class|=lbl] {
    position: absolute;
    z-index: 1;
	top: -1.8em;
	right: -1em;
}
@media screen and (max-width: 767px){
	.lbl-plan {
		top: -2.5em;
		right: 1em;
	}
	.wplan .lbl-plan{
	top: 0em;
	right: -1.5em;
}
}
.lbl-plan_w {
		top: 5.5em;
		left: 0em;
	}
.wplan .lbl-plan_w{
	top: 7em;
	left: 1.5em;
}
@media screen and (max-width: 767px), print{
	.wplan .lbl-plan_w{
		top: 7em;
		left: -0.5em;
	}
}
.lbl-plan_w img{
	width: 58px;
}
.plan-phrase {
    display: block;
    background-color: #F2F2F2;
	font-size: 1.6rem;
	text-align: center;
	padding: 7px 0;
}
@media screen and (max-width: 767px), print{
	.plan-phrase {
		padding: 3px 0;
	}
}
.subttl-plan,.btn-clr3,.num-price-plan,.txt-price-plan span{
	text-align: center;
	font-weight: bold;
}
.price-plan{
	text-align: center;
}
.subttl-plan,.num-price-plan{
	font-size: 2.6rem;
}
.subttl-plan{
	margin: 20px 0 45px;
}
@media screen and (max-width: 767px), print{
	.subttl-plan{
		font-size: 1.8rem;
		margin: 14px 0;
	}
}
.price-plan{
	margin: 20px 0 18px;
}
@media screen and (max-width: 767px), print{
	.price-plan{
		margin: 13px 0 12px;
	}
}
.txt-price-plan {
	margin-top: 5px;
	color: #DB4369;
	font-size: 16px;
	}
@media screen and (max-width: 767px), print{
	.txt-price-plan {
		font-size: 20px;
	}
}
.txt-price-plan em {
    text-decoration: line-through;
}
.txt-price-bottom-service{
margin-top: 16px;
text-align: left;
}
.txt-price-bottom-service a{
font-weight: 700;
color: #0069B7;
text-decoration-line: underline;
}
.list-plan {
    margin-top: 16px;
}
.modalWindow-open{
	text-decoration: underline;
}
.num-price-plan{
	color: #DB4369;
}
.num-price-plan small{
	font-size: 1.6rem;
	color: #333;
}
.btn-clr3{
	font-size: 2.3rem;
}
@media screen and (max-width: 767px){
	.flxpc-btn-wplan .btn-clr3:first-child {
		margin-bottom: 7px;
	}
}
.btn-clr3 span{
	font-size: 1.6rem;
}
@media screen and (max-width: 767px){
	.btn-clr3 span{
		font-size: 1.8rem;
	}
}

[class|=btn] a {
    display: inline-block;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: #fff;
}
.btn-clr3 a {
    background: #EF7694;
	border-radius: 2px;
}
@media screen and (min-width: 768px), print{
	.btn-clr3 a {
		padding: 0.9em 0;
		max-width: 417px;
		width: 100%;
	}
}
@media screen and (max-width: 767px){
	.btn-clr3 a {
		display: block;
		padding: 0.42em 0;
		font-size: 1.8rem;
	}
}
@media screen and (min-width: 768px), print{
	.flxpc-btn-wplan .btn-clr3 a {
		padding: 0.3em 0 0.43em;
		line-height: 1.2;
	}
}
@media screen and (min-width: 768px), print{
	.flxpc-btn-wplan .btn-clr3 {
		width: 49.2%;
	}
}
@media screen and (max-width: 767px){
	[class|=list] li {
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 768px), print{
	[class|=list] li {
		font-size: 1.3rem;
	}
}
@media screen and (min-width: 768px), print{
	[class|=list] li.notes {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 767px){
	[class|=list] li.notes {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 767px){
	.col-service+.col-service{
		margin-top: 30px;
	}
}
.col-service.wplan{
	position: relative;
}
	.col-service.denshiban {
		position: relative;
	}
@media screen and (min-width: 768px), print{
	.col-service.wplan {
		width: 360px;
	}
	.col-service.denshiban {
		width: 260px;
	}
	.col-service.takuhai {
		width: 260px;
	}
	.col-service.takuhai .price-plan{
		margin-bottom: 39px;
	}
}
.col-service .btn-clr3{
	font-size: 1.6rem;
}
.col-service .btn-clr3 span{
	font-size: 1.2rem;
}

/* #sec-qa
-------------------------------------------------------------------------- */
.sec-qa {
  padding: 20px 16px 0;
  background-color: #f3f3f3;
}

@media screen and (min-width: 768px) {
  .sec-qa {
    padding: 62px 0 0;
  }
}

@media screen and (min-width: 768px) {
  .sec-qa-child {
    margin-bottom: 30px;
  }
}

.sec-qa-child:last-child {
  margin-bottom: 0;
}

/* #sec-service
-------------------------------------------------------------------------- */
.sec-service {
  padding: 30px 0;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .sec-service {
    padding: 56px 0 55px;
  }
}

/* #sec-offerplan
-------------------------------------------------------------------------- */
.sec-offerplan {
margin: auto;
  padding: 30px 0;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .sec-offerplan {
    padding: 60px 0;
  }
}

/* #sec-letter
-------------------------------------------------------------------------- */
.sec-letter {
margin: auto;
  padding: 30px 0;
  background-color: #f7f7f7;
}

@media screen and (min-width: 768px) {
  .sec-letter {
    padding: 56px 0 20px;
  }
}

/* #sec-content
-------------------------------------------------------------------------- */
.sec-content {
margin: auto;
  padding: 32px 0;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .sec-content {
    padding: 62px 0;
  }
}

/* #ttl-01
-------------------------------------------------------------------------- */
.ttl-01 {
  font-size: 1.6rem;
  line-height: 1.28;
  text-align: center;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .ttl-01 {
    font-size: 3.2rem;
  }
}
.sec-service .ttl-01 {
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .sec-service .ttl-01 {
    font-size: 2.7rem;
  }
}
.ttl-01 .strong{
	color:#f48600;
}
/* #ttl-02
-------------------------------------------------------------------------- */
.ttl-02 {
  margin-top: 12px;
  font-size: 2.0rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .ttl-02 {
    margin-top: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
  }
}
.ttl-02 .strong {
 margin-top: 14px;
 font-size: 2.4rem;
font-weight: bold;
color: #f48600;
}

@media screen and (min-width: 768px) {
  .ttl-02 .strong {
    margin-top: 24px;
    font-size: 2.8rem;
    line-height: 1.5;
  }
}/* #ttl-03
-------------------------------------------------------------------------- */
.ttl-03 {
  margin-top: 4px;
  font-size: 1.2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .ttl-03 {
    margin-top: 8px;
    font-size: 1.8rem;
  }
}

/* #ttl-04
-------------------------------------------------------------------------- */
.ttl-04 {
  margin-top: 12px;
  font-size: 1.2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .ttl-04 {
    margin-top: 24px;
    font-size: 2.4rem;
  }
}

/* #attention
-------------------------------------------------------------------------- */
.attention {
    text-align: center;
    font-size: 1.0rem;
    margin-top: 4px;
}

@media screen and (min-width: 768px) {
  .attention {
    text-align: center;
    font-size: 1.3rem;
    margin-top: 8px;
  }
}

/* -----------------------------------------------------------------------------
   #Project
   -------------------------------------------------------------------------- */
/* mod-caution
-------------------------------------------------------------------------- */
.mod-caution {
  padding: 0 0 30px;
  font-size: 12px;
  line-height: 1.9;
  background-color: #f3f3f3;
}

@media screen and (min-width: 768px) {
  .mod-caution {
    padding: 0 0 30px;
    color: #333;
    font-size: 14px;
    line-height: 1.8;
    background-color: #f3f3f3;
  }
}

.mod-caution a:link {
  color: #67779f;
}

@media screen and (min-width: 768px) {
  .sec-inner {
    position: relative;
    width: 1034px;
    margin-right: auto;
    margin-left: auto;
  }
}

.mod-caution dl {
  width: 93.75%;
  margin: 0 auto;
  padding-top: 7.81%;
}

@media screen and (min-width: 768px) {
  .mod-caution dl {
    width: 100%;
    padding: 34px 0 0 0;
    font-size: 14px;
  }
}

.mod-caution dl dt {
  color: #03385c;
}

.mod-caution dl dd {
  padding-left: 1em;
  text-indent: -1em;
}

@media screen and (min-width: 768px) {
  .mod-caution dl dd {
    padding-left: 1em;
    text-indent: -1em;
  }
}

.mod-caution dl table,
.mod-caution dl table th,
.mod-caution dl table td {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #000;
  border-collapse: collapse;
  color: #000;
  text-align: center;
  vertical-align: middle;
}

.mod-caution dl table.table2 td {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #000;
  border-collapse: collapse;
  color: #000;
  text-align: left;
  vertical-align: middle;
}

.mod-caution dl table {
  width: 100%;
	margin-bottom: 8px;	
}

.mod-caution dl table th {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
}

.mod-caution dl table th,
.mod-caution dl table td {
  display: table-cell !important;
  padding: 2%;
	width: calc(100% / 4);
}

@media screen and (min-width: 768px) {
  .mod-caution dl table th,
  .mod-caution dl table td {
	width: calc(100% / 4);
    padding: 10px;
  }
}

.mod-caution dl table.tab01 .wid01 {
  width: 19%;
}

@media screen and (min-width: 768px) {
  .mod-caution dl table.tab01 .wid01 {
    width: auto;
  }
}

.mod-caution dl table.tab01 .wid02 {
  width: 27%;
}

.mod-caution dl table.tab02 th,
.mod-caution dl table.tab02 td {
  width: 50%;
}

.mod-caution dl table.tab01 .bor2_1,
.mod-caution dl table.tab01 .bor2_2,
.mod-caution dl table.tab01 .bor2_3 {
  border-bottom: 1px dotted #000;
}

.mod-caution dl table.tab01 .bor2_4 {
  border-bottom: 3px double #000 !important;
}

.mod-caution dl table.tab01 .bor3_1,
.mod-caution dl table.tab01 .bor3_2,
.mod-caution dl table.tab01 .bor3_3 {
  border-top: none;
  border-bottom: 3px double #000;
}

.mod-caution dl table.tab01 .wid03{
  width: 19%;
}

@media screen and (min-width: 768px) {

  .mod-caution dl table.tab01 .wid03.bor3_1 {
    width: 15%;
  }
  .mod-caution dl table.tab01 .wid03.bor3_2 ,
  .mod-caution dl table.tab01 .wid03.bor3_3 {
    width: 30%;
  }
}


/* mod-caution
-------------------------------------------------------------------------- */
.mod-end {
  position: relative;
  z-index: 1;
  margin-top: -17.7vw;
  padding: 12px 0 17px;
  color: #fff;
  font-size: 16px;
  background-color: #0a385b;
}

@media screen and (min-width: 768px) {
  .mod-end {
    margin: 0;
    padding: 34px 0 30px;
    font-size: 24px;
  }
}

.mod-end-text {
  margin-bottom: 12px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .mod-end-text {
    margin-bottom: 29px;
  }
}

.mod-end .btn-end-in {
  color: #0a385b;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .mod-end .btn-end-in {
    padding: 12px 30px 6px;
  }
}

/* mod-option
-------------------------------------------------------------------------- */
.mod-option-card {
  border: 1px solid;
  border-radius: 2px;
}

.mod-option-price {
  height: 25px;
  padding: 4px 0;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .mod-option-price {
    height: 50px;
    padding: 12px 0;
    font-size: 2.4rem;
  }
}

.mod-option-text {
  margin-top: 8px;
  font-size: 1.0rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .mod-option-text {
    font-size: 1.2rem;
    line-height: 1.24;
  }
}

/* mod-plan
-------------------------------------------------------------------------- */
.mod-plan-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 10px 0 -10px;
  margin-top: 10px;

  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .mod-plan-list {
    margin: 20px -17px -34px;
  }
}

.mod-plan-item {
  width: 100%;
  margin: 0 auto 10px;
}

@media screen and (min-width: 768px) {
  .mod-plan-item {
    width: 322px;
    margin: 0 17px 34px;
  }
}

.mod-plan-item02 {
  width: 100%;
  margin: 0 auto 10px;
}

@media screen and (min-width: 768px) {
  .mod-plan-item02 {
    width: 510px;
    margin: 0 8px 34px;
  }
}

.mod-plan-card {
  border: 1px solid;
  border-radius: 2px;
}

.mod-plan-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 75px;
  padding: 10px 12px 10px;
	background-color: #fff;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .mod-plan-head {
    flex-direction: column;
    padding: 10px 24px 19px;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
  }
}

.mod-plan-text {
  display: inline-block;
  float: left;
  width: 80%;
}

@media screen and (min-width: 768px) {
  .mod-plan-text {
    width: 100%;
  }
}

.mod-plan-title {
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-title {
    font-size: 2.2rem;
    line-height: 1.5;
    text-align: center;
  }
}

.mod-plan-title .s-small {
  display: inline-block;
  margin-right: -30%;
  font-size: 1.0rem;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
}

@media screen and (min-width: 768px) {
  .mod-plan-title .s-small {
    margin-right: 0;
    font-size: 1.4rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.mod-plan-price {
  position: relative;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-price {
    font-size: 2.4rem;
    text-align: center;
  }
}

.mod-plan-price-large {
  margin-left: 2px;
  font-size: 2.0rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-price-large {
    font-size: 3.0rem;
  }
}

.mod-plan-price-asterisk {
  position: absolute;
  color: #333;
  font-size: 1rem;
}

.mod-plan-detail{
  position: relative;
  font-size: 1.0rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-detail{
    position: relative;
    font-size: 1.2rem;
    margin: 8px 0;
    line-height: 1.5;
  }
}

.mod-plan-point {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 40px;
  padding: 8px 8px 8px;
  color: #fff;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/*マージン調整*/
ul.mod-plan-list .mod-plan-card div:nth-of-type(3).mod-plan-point{
	padding: 0 8px 8px;
}

@media screen and (min-width: 768px) {
  .mod-plan-point {
    padding: 16px 20px ;
  }
  ul.mod-plan-list .mod-plan-card div:nth-of-type(3).mod-plan-point{
	padding: 16px 20px ;
  }
}

.mod-plan-point02 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 40px;
  padding: 0 8px 8px;
  color: #fff;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .mod-plan-point02 {
    padding: 16px 20px 8px ;
  }
  .mod-plan-point02:last-child {
    padding: 0px 20px 16px ;
  }
}

.mod-plan-point03 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 40px;
  padding: 8px 8px 8px;
  color: #fff;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .mod-plan-point03 {
    padding: 28px 20px 24px ;
  }
}

.-subtext {
  margin-right: 10px;
  font-size: 10px;
  text-align: left;
}

.mod-plan-point-subtext {
  padding-right: 12px;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-subtext {
    margin-right: 15px;
    padding: 0;
    font-size: 2.0rem;
  }
}

.mod-plan-point-subtext.s-fontsize-01 {
  font-size: 1.6rem;
  padding-right: 12px;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-subtext.s-fontsize-01 {
    font-size: 2rem;
    padding-right: 0px;
  }
}

.mod-plan-point-subtext.s-margin-01 {
  margin: 0 7px 3px;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-subtext.s-margin-01 {
    margin: 0 22px 0 0;
    font-size: 1.8rem;
  }
}

.mod-plan-point-text {
  font-size: 2.8rem;
  line-height: 1.4;
  font-weight: bold;

  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-text {
    font-size: 6.0rem;
    line-height: 1.0;
	font-weight: normal;
  }
}

.mod-plan-point-text.s-fontsize-01 {
  font-size: 1.7rem;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-text.s-fontsize-01 {
    font-size: 3.6rem;
  }
}

.mod-plan-point-btn{
  background-color: #245483;
  font-size: 1.6rem;
  color: #fff !important;
  font-weight: normal;
  width: 100%;
  height: 48px;
  text-align: center;
  border-radius: 4px;
  padding-top: 12px;
  letter-spacing: 0.1em;
}


@media screen and (min-width: 768px) {
  .mod-plan-point-btn {
    background-color: #245483;
    font-size: 2.2rem;
    color: #fff !important;
    font-weight: normal;
    width: 100%;
    height: 132px;
    text-align: center;
    border-radius: 4px;
    padding-top: 48px;
  }
}

.mod-plan-point-btn02{
  background-color: #245483;
  font-size: 1.6rem;
  color: #fff !important;
  font-weight: normal;
  width: 100%;
  height: 48px;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  padding-top: 12px;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 768px) {
  .mod-plan-point-btn02 {
    background-color: #245483;
    font-size: 2.2rem;
    color: #fff !important;
    font-weight: normal;
    width: 100%;
    height: 62px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    padding-top: 18px;
  }

}

.mod-plan-fig {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-left: 18px;
  text-align: center;

  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .mod-plan-fig {
    padding-left: 0px;
    margin-top: 16px;
  }
}

.mod-plan-fig-image {
  width: 100%;
  margin: 0 auto ;
}


@media screen and (min-width: 768px) {
  .mod-plan-fig-image {
    width: 100%;
    margin: 0 auto ;
  }
}

@media screen and (min-width: 768px) {
  .mod-plan-point-present {
    font-size: 2.4rem;
  }
}

.mod-plan-link {
  text-decoration: none;

  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

@media screen and (min-width: 768px) {
  .mod-plan-link {
    margin: 10px 0 0 0;
    font-size: 1.6rem;

    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

@media screen and (max-width: 374px) {
  .mod-plan-link {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

.mod-plan-attention-list {
  margin-top: 5px;
  font-size: 1rem;
  text-align: left;
  letter-spacing: -0.05em;
}

@media screen and (min-width: 768px) {
  .mod-plan-attention-list {
    margin-top: 15px;
    font-size: 1.2rem;
    line-height: 1.7;
    text-align: left !important;
    letter-spacing: normal;
  }
}

@media screen and (max-width: 374px) {
  .mod-plan-attention-list {
    text-align: left;
  }
}

.mod-plan-term-list {
  margin-top: 7px;
  font-size: 1rem;
  letter-spacing: -0.025em;
}

@media screen and (min-width: 768px) {
  .mod-plan-term-list {
    margin-top: 20px;
    font-size: 1.2rem;
    line-height: 1.7;
    letter-spacing: normal;
  }
}

/* mod-content
-------------------------------------------------------------------------- */
.mod-content-wrap {
  padding: 30px 0 0;
}
.mod-content-wrap ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.mod-content-wrap ul li {
  width: calc(100% / 3);
}

@media screen and (min-width: 768px) {
  .mod-content-wrap {
    max-width: 1008px;
    margin: 48px auto 0;
    padding: 0;
  }
  .mod-content-wrap ul li {
    width: 240px;
    margin-left: 16px;
  }
  .mod-content-wrap ul li:nth-of-type(even) {
    margin-left: 16px;
  }
  .mod-content-wrap ul li:nth-of-type(4n+1) {
    margin-left: 0;
  }
  .mod-content-wrap ul li:nth-of-type(n+5) {
    margin-top: 16px;
  }
}


/* -----------------------------------------------------------------------------
   #scope
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   #Utility
   -------------------------------------------------------------------------- */
/* #Align
  -------------------------------------------------------------------------- */
/*doc
---
name: s-align
category: utility
tag: Align
---

画像などを左右や中央に配置します。

```ejs
<div class="s-left">
 <img src="http://via.placeholder.com/150x150">
</div>

<div class="s-center">
 <img src="http://via.placeholder.com/150x150">
</div>

<div class="s-right">
 <img src="http://via.placeholder.com/150x150">
</div>
```
*/
.s-left {
  text-align: left !important;
}

@media screen and (min-width: 375px) {
  .s-left-sm {
    text-align: left !important;
  }
}

@media screen and (min-width: 768px) {
  .s-left-md {
    text-align: left !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-left-lg {
    text-align: left !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-left-xl {
    text-align: left !important;
  }
}

.s-center {
  text-align: center !important;
}

@media screen and (min-width: 375px) {
  .s-center-sm {
    text-align: center !important;
  }
}

@media screen and (min-width: 768px) {
  .s-center-md {
    text-align: center !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-center-lg {
    text-align: center !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-center-xl {
    text-align: center !important;
  }
}

.s-right {
  text-align: right !important;
}

@media screen and (min-width: 375px) {
  .s-right-sm {
    text-align: right !important;
  }
}

@media screen and (min-width: 768px) {
  .s-right-md {
    text-align: right !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-right-lg {
    text-align: right !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-right-xl {
    text-align: right !important;
  }
}

/* #Display
   -------------------------------------------------------------------------- */
/*doc
---
name: s-display
category: utility
tag: Display
---

表示非表示を切り替えます。改行位置のコントロールもできます。

```ejs
<p class="s-dn-md"><code>$-md</code>以降は非表示になります。</p>
<p class="s-dn s-db-md"><code>$-md</code>以降は表示されます。</p>
<p>基本はなりゆきでウィンドウサイズが狭くなると、<span class="s-dib">ここから改行されます。</span></p>
<p><code>$-md</code>以降になると、<span class="s-db-md">ここから改行されます。</span></p>
```
*/
.s-dn {
  display: none !important;
}

@media screen and (min-width: 375px) {
  .s-dn-sm {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .s-dn-md {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-dn-lg {
    display: none !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-dn-xl {
    display: none !important;
  }
}

.s-db {
  display: block !important;
}

@media screen and (min-width: 375px) {
  .s-db-sm {
    display: block !important;
  }
}

@media screen and (min-width: 768px) {
  .s-db-md {
    display: block !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-db-lg {
    display: block !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-db-xl {
    display: block !important;
  }
}

.s-di {
  display: inline !important;
}

@media screen and (min-width: 375px) {
  .s-di-sm {
    display: inline !important;
  }
}

@media screen and (min-width: 768px) {
  .s-di-md {
    display: inline !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-di-lg {
    display: inline !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-di-xl {
    display: inline !important;
  }
}

.s-dib {
  display: inline-block !important;
}

@media screen and (min-width: 375px) {
  .s-dib-sm {
    display: inline-block !important;
  }
}

@media screen and (min-width: 768px) {
  .s-dib-md {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1000px) {
  .s-dib-lg {
    display: inline-block !important;
  }
}

@media screen and (min-width: 1200px) {
  .s-dib-xl {
    display: inline-block !important;
  }
}

/* #inner
  -------------------------------------------------------------------------- */

.sec-plan .s-inner,
.sec-service .s-inner {
  padding: 0;
}

@media screen and (min-width: 768px) {
  .s-inner {
    width: 1056px;
    margin-right: auto;
    margin-left: auto;
  }
}

/* #Sr-only
   -------------------------------------------------------------------------- */
/*doc
---
name: s-sr-only
category: utility
tag: Sr-only
---

要素を非表示にさせますが、スクリーンリーダーには読み上げられます。

```block
<div>
  <span class="p-icon p-icon--rss" aria-hidden="true"></span>
  <span class="s-sr-only">rss購読</span>
</div>
```
*/
.s-sr-only {
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
}

/*お試しCP用 追記_181009*/

.offerplan-read{
text-align: center;
	margin-bottom: 18px;
}
.offerplan-img{
margin: 32px 0 0;
text-align: center;
}
@media screen and (max-width:768px){
.offerplan-read{
font-size: 1.4rem;
	margin-bottom: 8px;
}
}
@media screen and (min-width:768px){
.offerplan-img_sp{
display: none;
}
}
@media screen and (max-width:768px){
.offerplan-img_pc{
display: none;
}
}

/* -------------------------------
  heading
---------------------------------*/
.primary-heading {
  position: relative;
  padding-bottom: 24px;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: .1em;
}
@media screen and (max-width: 1279px) {
  .primary-heading {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 768px) {
  .primary-heading {
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 414px) {
  .primary-heading {
    font-size: 1.8rem;
    line-height: 1.4;
  }
}

.primary-heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: "";
  display: inline-block;
  width: 56px;
  height: 4px;
  margin-left: -12px;
  background-color: #003e70;
}

.primary-heading.heading--houjin {
  font-family: YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック","MS PGothic", sans-serif;
  font-weight: bold;
}

.primary-heading--sub {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .primary-heading--sub {
    font-size: 1.8rem;
  }
}
.list__block-text {
    padding: 32px 24px;
}
.list__block2{
margin: 0 16px;
}
@media screen and (min-width: 1000px) {
.list__block2 {
    width: calc((100% - 40px)/ 2);
	margin: 0 0;
}
}
@media screen and (min-width: 768px) {
.list__block-text {
    padding: 40px;
}
}

@media screen and (min-width: 1000px) {
.letter-wrap{
	width: calc(100vw - 200px);
    max-width: 1034px;
	padding-top: 32px;
    margin: 0 auto;
	}
.support__contents-list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.list__block-image {
    overflow: hidden;
}
	@media screen and (min-width: 768px) {
.list__block-text {
    padding: 40px;
}
}
.list__block-text {
    padding: 40px;
}
}
.section__text-body {
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
    text-align: left;
    margin-bottom: 20px;
}
.section__text-left {
    font-size: 1.4rem;
    font-weight: 400;
    color: #515151;
    text-align: left;
}

@media screen and (max-width:768px){
.section__text-left {
    font-size: 1.2rem;
}
}
.section__text-body:after {
    content: "";
    background: #0a385b;
    height: 4px;
    width: 64px;
    display: block;
    margin-top: 16px;
}
@media screen and (max-width:768px){
.section__text-body:after {
    height: 4px;
    width: 32px;
}
}
/*news_com_sec*/
.ttl_news_com{
	font-size: 7.467vw;
	color: #3bb32e;
	line-height: 1.4;
	margin-bottom: 2.933vw;
}

.contents_inner .inner{
	margin: 0 auto 12.667vw;
	padding: 6.667vw 4vw;
	width: 100%;
	background: #ffffff;
}

.ttl_news_top{
	font-size: 5.600vw;
	color: #0a0a0a;
	line-height: 1.3;
	margin-bottom: 8vw;
	text-align: center;
}

.news_list{
	margin: 16px;
}
@media screen and (max-width:768px){
.news_list li{
margin-bottom: 24px;
}
}
.news_list li.slick-slide{
	text-align: left;
	max-width: 432px;
	width: 56.250vw;
	margin: 0 4vw;
}

.news_list li img{
	width: 100%;
	height: auto;
	margin-bottom: 2.667vw;
}

.news_list li h4.ttl_news_com{
	font-size: 1.6rem;
	color: #333333;
	font-weight: bold;
}

.news_list li p.txt_news_com{
	font-size: 1.2rem;
	color: #333333;
	font-weight: normal;
}
@media (min-width: 768px) {
	.news_list li p.txt_news_com{
		font-size: 1.4rem;
		color: #333333;
		font-weight: normal;
	}
}
@media (min-width: 768px) {
	.ttl_news_com{
		font-size: 4.6rem;
		margin-bottom: 2.429vw;
	}

	.contents_inner .inner{
		padding: 2.143vw;
		text-align: center;
		margin-bottom: 1.857vw;
	}

	.contents_inner .inner.last{
		margin-bottom: 2vw;
	}

	.ttl_news_top{
		font-size: 3.2rem;
		margin-bottom: 2.500vw;
	}

	.news_list{
		margin:32px 0; 
		width: 100%;
		display: flex;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: center;
		        justify-content: center;
	}

	.news_list li{
		width: 31.5%;
		text-align: left;
	}

	.news_list li + li{
		margin: 0 1vw;
	}

	.news_list li:last-child{
		margin: 0;
	}

	.news_list li img{
		width: 100%;
		height: auto;
		margin-bottom: 0.714vw;
	}

	.news_list li h4.ttl_news_com{
		font-size: 1.6rem;
		margin: 24px 0 16px;
	}
}
.support .list__block {
margin-bottom: 8px;
    background: #f3f3f3;
}
.support__other {
	padding: 0 16px;
}
@media screen and (min-width: 768px){
	.support__other {
		margin-top: 0;
		padding: 0;
	}
}
@media screen and (min-width: 768px){
.support__other {
	  margin-top: 0px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.list__block {
    width: calc((100% - 80px)/ 3);
	margin-top: 60px;
}
.support .list__block {
    display: flex;
	margin-bottom: 0;
    align-items: center;
    justify-content: center;
    background: #f3f3f3;
}
}
.support .list__block .list__block-text {
    display: block;
    align-items: center;
}

@media screen and (min-width: 768px) {
.support .list__block .list__block-text {
    display: flex;
}
}
.support .list__block .other__detail {
    font-size: 1.4rem;
    text-align: center;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
.support .list__block .other__detail {
    font-size: 1.8rem;
}
}
.offer .btn-in{
font-size: 1.8rem;
font-weight: bold;
}
@media screen and (min-width: 768px) {
.offer .btn-in{
font-size: 2.6rem;
padding-top: 22px;
}
}
.c-code {
  margin: 0 auto 5em;
}
.c-code p {
}
.c-code input {
  margin: 1em 0;
  padding: 1em 0;
  width: 60%;
  border: 1px solid #999;
  text-align: center;
  font-size: 87.5%;
}

@media screen and (max-width: 767px) {
  .c-code {
    max-width: 70vw;
  }
  .c-code input {
    width: 62.5vw;
  }
}
@media screen and (min-width: 768px), print {
  .c-code p {
  }
  .c-code input {
    padding: 1em 0;
    width: 300px;
  }
}
/* コード入力欄 */
.form_container {
text-align: center;
}
@media screen and (max-width: 767px) {
	.form_container {
		padding: 0 0px;
}
	}
.form_container .form_box {
  width: 0px;
  margin: 0 auto;
  color: #fff;
}
.form_container .form_box .error_box {
  width: 0px;
  margin: 0 auto 0px;
  padding: 0px 0px;
  font-size: 0px;
 border: solid 0px #f78600;
  text-align: center;
	color: #f78600;
}
.form_container .form_box .left {
  display: table-cell;
}
.form_container .form_box input[type="text"] {
  height: auto;
  font-size: 0px;
  padding: 0px;
  ime-mode: disabled;
  width: 480px;
  border: solid 0px #333333;
	color: #333333;
	text-align: center;
}
@media screen and (max-width: 767px) {
  .form_container .form_box {
    width: auto;
  }
  .form_container .form_box h3 {
    margin-bottom: 0px;
    font-size: 0px;
    line-height: 0;
  }
  .form_container .form_box .error_box {
    width: 0%;
    padding: 0px;
    margin-bottom: 0px;
    font-size: 0px;
    text-align: left;
  }
  .form_container .form_box input[type="text"] {
    width: 0%;
    font-size: 0px;
    padding: 0px;
  }
  .form_container .form_box .left,
  .form_container .form_box .right {
    display: block;
  }
  .form_container .form_box .right {
    margin-top: 0px;
    padding-left: 0;
    font-size: 0px;
  }
}
.common-inner{
margin-bottom: 40px;
}
@media screen and (max-width: 768px){
.common-inner{
margin-bottom: 32px;
}
}
.common-inner_top{
padding-top: 24px;
}

@media screen and (min-width: 768px){
.common-inner_top{
padding-top: 32px;
}
}
/* ******************************************************
modal
****************************************************** */
.modal-window {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1001;
}
.modal-overlay {
  position: absolute;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  background: #fff;
  box-sizing: border-box;
  text-align: center;
  width: 87%;
  padding: 5em 1.6em 2.5em;
}
.modal-close {
  position: absolute;
  top: 1.5em;
  right: 1.25em;
}
.modal-close img {
  display: block;
  margin: auto;
  width: 6.72vw;
  height: 6.72vw;
}
.modal-content-txt-area.inline {
  text-align: left;
}
.ttl-modal-area {
  display: block;
  font-size: 114.3%;
	font-weight: bold;
	margin-bottom: 0.4em;
}
.flx-modal {
  align-items: stretch;
  justify-content: space-between;
  margin: 1.5em auto 0;
}
.flx-modal a {
  display: block;
  width: 45%;
  padding: .5em 0;
  background-color: #2C2C2C;
  text-decoration: none;
  font-size: 128.6%;
  font-weight: bold;
  color: #fff;
}
.modal-movie .modal-content {
  padding: 0;
}
.modal-movie .modal-close {
  top: -1.0em;
  right: -3em;
  z-index: 1;
}
@media screen and (max-width:768px){
.modal-movie .modal-close {
  right: -1em;
}
}
.list-modal {
  margin-top: 1.5em;
  text-align: left;
}
.modal-content-txt-area p + .ttl-modal-area {
  margin-top: 1em;
}
@media screen and (min-width: 768px), print {
  .modal-overlay {
    cursor: pointer;
  }
  .modal-content {
    width: 650px;
    padding: 5em 2em 3em;
  }
  .modal-close {
    top: 24px;
    right: 38px;
  }
  .modal-close img {
    width: 36px;
    height: 36px;
  }
  .modal-content-txt-area {
    padding: 0 1em;
    box-sizing: border-box;
  }
  .modal-movie .modal-content {
    width: 80%;
  }
  .modal-movie .modal-content-txt-area {
    padding: 0;
  }
  .flx-modal {
    width: 334px;
  }
  .modal-movie .modal-close {
    top: -2.5em;
  }
}
.n4-modal-dl{
	margin-top: 1em;
}
.modal-content-txt-area ul li+li{
	margin-top: 0.8em;
}
.modal-content-txt-area ul{
	margin-bottom: 1em;
}