
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,apply
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, main, hgroup, 
menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	color:#0d0d0d;
	font-family: 'Noto Sans JP' , 'ヒラギノ角ゴ ProN' , 'Hiragino Kaku Gothic ProN' , 'ヒラギノ角ゴシック' , 'Hiragino Sans' , 'メイリオ' , 'Meiryo' , 'ＭＳ Ｐゴシック' , 'MS PGothic' , sans-serif;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a:link {color: #1070C5; text-decoration: none; }
a:visited { color: #1070C5; text-decoration: none; }
a:hover { color: #0087FF; text-decoration: none; }
a:active { color: #1070C5; text-decoration: none; }
a:hover img { transition:0.5s; opacity: 0.6; filter:alpha(opacity=60); -ms-filter:"alpha(opacity=60)";}


/*** 要素出し分け ***/
.sp {
  display: inline-block;
}
.pc {
  display: none;
}

/* 480px～959px */
@media (480px <= width <= 959px) {
.sp {
  display: none;
}
.pc {
  display: inline-block;
}
.tb01 {
  display: none;
}
.tb02 {
  display: inline-block;
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
.sp {
  display: none;
}
.pc {
  display: inline-block;
}
}

/*** 見出しh2 ***/
h2 {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 600;
  margin: 0 auto 5px;
  display: inline-block;
}
h2.white {
  color: #fff;
}
h2 span.color {
  background:linear-gradient(transparent 60%, #fff 60%);
}
h2 span.sml {
  font-size: 80%;
}
p.white {
  color: #fff;
}

/* 480px～959px */
@media (480px <= width <= 959px) {
h2 {
  font-size: 30px;
  line-height: 1.4;
  margin-bottom: 5px
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
h2 {
  font-size: 38px;
  line-height: 1.4;
  margin-bottom: 8px;
}
}

/*** header ***/
header {
  min-width: 100%;
  background: rgba(255,255,255,1);
  padding: 15px 0px 10px;
  position: relative;
  z-index: 10;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);

  & #block {
    width: 100%;
    margin: 0 auto;
  }
  & #block div.logo {
    float: left;
    width: 110px;
  }
  & #block div.logo img {
    width: 100px;
    height: auto;
    padding: 0px 0px 0px 10px;
  }
  & #block .nav ul {
    padding: 0;
    list-style: none;
    float: right;
    padding-right: 5px;
  }
  & #block .nav .list {
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  & #block .nav .link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 7px 5px 10px;
  }
  & #block .nav a {
    color: #0d0d0d;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
  }
  & #block .nav a:hover {
    text-decoration: underline;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
header {

  & #block div.logo {
    width: 125px;
  }
  & #block div.logo img {
    width: 110px;
    padding: 0px 0px 0px 15px;
  }
  & #block .nav ul {
    padding-right: 10px;
  }
  & #block .nav .link {
    padding: 10px 5px 12px;
  }
  & #block .nav a {
    font-size: 16px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
header {
  min-width: 1050px;
  padding: 13px 0 13px;

  & #block {
    width: 1050px;
    margin: 0 auto;
  }
  & #block div.logo {
    width: 150px;
  }
  & #block div.logo img {
    width: 135px;
    padding: 5px 0px 0px 15px;
  }
  & #block .nav ul {
    padding-right: 0px;
  }
  & #block .nav .link {
    padding: 16px 0 15px 5px;
  }
  & #block .nav a {
    font-size: 17px;
  }
}
}

/*** mainV , footerV ***/
#mainV {
  background: #f3e7d1 url(../images/bg_mainV_sp.webp) center top/cover no-repeat;
  padding: 0.3em 0 0.6em;
}
#footerV {
  background: #F5F2EB;
  padding: 0;
}

#mainV,
#footerV {
  min-width: 100%;
  overflow: hidden;

  & .contents {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  & p.catch01 {
    font-size: 20px;
    line-height: 1.6;
    font-weight: 800;
    margin: 20px auto 0px;
  }
  & p.catch01 span {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-underline-offset: 3px;
    text-decoration-color: #ff0000;
    color: #ff0000;
  }
  & p.catch02 {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 600;
    margin: 5px auto 0px;
  }
  & p.catch02 span {
    background: #FFDD00;
  }
  & p.catch03 {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    margin: 5px auto 15px;
  }
  & p.catch03 span.type01 {
    font-size: 15px;
    color: #ff0000;
    border: solid 1px #ff0000;
    padding: 0px 4px 1px;
  }
  & p.catch03 span.type02 {
    font-size: 15px;
    color: #ff0000;
  }
  & h1 {
    font-size: 23px;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.1em;
    margin-top: 10px;
  }
  & .cover {
    margin: 5px auto 10px;
    width: 100%;
  }
  & .cover .cover_box {
    margin: 0 auto 0;
    width: 190px;
    position: relative;
  }
  & .cover .cover_box img.cover {
    width: 190px;
    height: 253px;
    padding-bottom: 20px;
  }
  & div.box .cover div.circle {
    position: absolute;
    right: -40px;
    bottom: 10px;
  }
  & div.box .cover div.circle img {
    width: 90px;
    height: 90px;
  }
  & p.button a {
    color: #fff;
    font-size: 15.5px;
    line-height: 1.2;
    font-weight: 600;
    background-color: #1070C5;
    border-radius: 10px;
    padding: 25px 10px;
    margin: 0 auto 15px;
    display: block;
    width: 95%;
  }
  & p.button a:hover {
    background-color: #2385DC;
  }
  & p.notes {
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: -0.05em;
    margin-bottom: 5px;
  }
  & p.notes02 {
    color: #666;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 400;
    text-align: left;
    width: 90%;
    margin: 0 auto 35px;
  }
  & .balloon {
    position: relative;
    display: inline-block;
    background: #a38237;
    border-radius: 8px;
    margin: 35px auto 0px;
    padding: 15px;
  }
  & .balloon:before {
    content: "";
    border: 10px solid transparent;
    border-top: 10px solid #a38237;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
  }
  & .balloon p {
    color: #fff;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#mainV {
  background: #f3e7d1 url(../images/bg_mainV_sp.webp) center center/cover no-repeat;
  padding: 0em 0 1.5em;
}
#footerV {
  padding: 0;
}

#mainV,
#footerV {
  min-width: 100%;

  & h1 {
    font-size: 40px;
    margin-top: 10px;
  }
  & p.catch01 {
    font-size: 30px;
    margin: 30px auto 0px;
  }
  & p.catch01 span {
    text-underline-offset: 4px;
  }
  & p.catch02 {
    font-size: 22px;
    margin: 10px auto 0px;
  }
  & p.catch03 {
    font-size: 15px;
    margin: 5px auto 20px;
  }
  & p.catch03 span.type01 {
    font-size: 16px;
  }
  & p.catch03 span.type02 {
    font-size: 16px;
  }
  & .cover {
    margin: 0 auto 10px;
    width: 90%;
  }
  & .cover .cover_box {
    margin: 0 auto 0;
    width: 380px;
    position: relative;
  }
  & div.box .cover_box img.cover {
    width: 230px;
    height: 307px;
    padding-bottom: 20px;
  }
  & .cover .footer {
    margin-bottom: 30px;
  }
  & div.box .cover div.circle {
    position: absolute;
    right: 10px;
    bottom: 5px;
  }
  & div.box .cover div.circle img {
    width: 120px;
    height: 120px;
  }
  & p.button a {
    font-size: 22px;
    padding: 28px 10px;
    display: block;
    width: 500px;
    margin: 0 auto 20px;
  }
  & p.notes {
    font-size: 15px;
    letter-spacing: 0em;
  }
  & p.notes02 {
    font-size: 12px;
    width: 83%;
    margin: 0 auto 45px;
  }
  & .balloon {
    margin: 50px auto 0px;
    padding: 16px;
  }
  & .balloon p {
    font-size: 22px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#mainV {
  background: #f3e7d1 url(../images/bg_mainV.webp) center top/1588px 450px no-repeat;
  padding: 0em 0 1.5em;
  min-width: 1050px;

  & h1 {
    font-size: 40px;
    margin-top: 5px;
  }
  & div.box div.title {
    width: 700px;
  }
  & div.box div.cover {
    width: 350px;
    text-align: right;
  }
  & .cover .cover_box {
    width: 350px;
    position: relative;
  }
  & div.box .cover div.circle {
    position: absolute;
    right: 190px;
    bottom: -15px;
  }
}
#footerV {
  padding: 0;
  min-width: 1050px;

  & h1 {
    font-size: 42px;
    margin-top: 5px;
  }
  & div.box div.title {
    width: 780px;
  }
  & div.box div.cover {
    width: 270px;
    text-align: left;
  }
  & .cover .cover_box {
    width: 270px;
    position: relative;
  }
  & div.box .cover div.circle {
    position: absolute;
    right: 220px;
    bottom: -15px;
  }
}

#mainV,
#footerV {
  min-height: auto;

  & .contents {
    width: 1050px;
    margin: 0 auto;
    text-align: center;
  }
  & div.box {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin: 45px auto 0px;
  }
  & div.box div.col {
    margin-bottom: 10px;
  }
  & p.catch01 {
    font-size: 34px;
    margin: 5px auto 0;
  }
  & p.catch01 span {
    text-underline-offset: 5px;
  }
  & p.catch02 {
    font-size: 26px;
    margin: 5px auto 0px;
  }
  & p.catch03 {
    font-size: 17px;
    margin: 5px auto 10px;
  }
  & p.catch03 span.type01 {
    font-size: 18px;
  }
  & p.catch03 span.type02 {
    font-size: 18px;
  }
  & .cover .cover_box img.cover {
    width: 248px;
    height: 331px;
    margin-top: 0px;
    padding: 0;
  }
  & .cover .footer {
    margin-bottom: 40px;
  }

  & div.box .cover div.circle img {
    width: 110px;
    height: 110px;
  }
  & p.button {
    margin: 10px 0 15px;
  }
  & p.button a {
    font-size: 26px;
    padding: 25px 15px;
    margin: 0 auto 5px;
    width: 530px;
  }
  & p.notes {
    font-size: 16px;
    letter-spacing: 0em;
    margin: 0 0 3px;
  }
  & p.notes02 {
    font-size: 12px;
    width: 710px;
    margin: 0 auto 45px;
  }
  & .balloon {
    margin: 30px auto 20px;
    padding: 16px;
  }
  & .balloon p {
    font-size: 28px;
  }
}
}


/*** about ***/
#about {
  min-width: 100%;
  overflow: hidden;
  background: #CCB383;
  padding: 2.8em 0 2em;

  & .contents {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  & div.summary_box {
    display: flex;
    flex-direction: column;
    text-align: center;
    background: #fff;
    width: 85%;
    border-radius: 10px;
    box-shadow: 0 0px 7px rgba(0,0,0,0.1);
    margin: 20px auto 15px;
    padding: 25px 15px 15px;
    position: relative;
  }
  & div.summary_box div.circle {
    position: absolute;
    left: -10px;
    top: -50px;
  }
  & div.summary_box div.circle img {
    width: 102px;
    height: 91px;
  }
  & div.summary_box div.illust {
    position: absolute;
    right: -10px;
    top: -60px;
  }
  & div.summary_box div.illust img {
    width: 102px;
    height: 104px;
  }
  & div.summary_box p.summary {
    text-align: center;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  & div.summary_box p.summary img {
    width: 100%;
    height: auto;
  }
  & p.notes {
    color: #fff;
    font-size: 10px;
    line-height: 1.4;
    font-weight: 400;
    text-align: left;
    width: 90%;
    margin: 0 auto 5px;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#about {
  min-width: 100%;
  padding: 3.0em 0 2.5em;

  & div.summary_box {
    width: 80%;
    margin: 20px auto 15px;
    padding: 30px 25px 25px;
    position: relative;
  }
  & div.summary_box div.circle {
    position: absolute;
    left: -40px;
    top: -40px;
  }
  & div.summary_box div.circle img {
    width: 130px;
    height: 116px;
  }
  & div.summary_box div.illust {
    position: absolute;
    right: -10px;
    top: -70px;
  }
  & div.summary_box div.illust img {
    width: 150px;
    height: 154px;
  }
  & div.summary_box p.summary {
    text-align: center;
    width: 100%;
    height: auto;
  }
  & div.summary_box p.summary img {
    width: 480px;
    height: auto;
  }
  & p.notes {
    font-size: 12px;
    width: 83%;
    margin: 0 auto 5px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#about {
  min-width: 1050px;
  min-height: auto;
  padding: 3.0em 0 2.8em;

  & .contents {
    width: 1050px;
    margin: 0 auto;
    text-align: center;
  }
  & div.summary_box {
    width: 680px;
    margin: 10px auto 15px;
    padding: 30px 25px 15px;
    position: relative;
  }
  & div.summary_box div.circle {
    position: absolute;
    left: -60px;
    top: -25px;
  }
  & div.summary_box div.circle img {
    width: 130px;
    height: 116px;
  }
  & div.summary_box div.illust {
    position: absolute;
    right: -140px;
    top: 170px;
  }
  & div.summary_box div.illust img {
    width: 230px;
    height: 235px;
  }
  & div.summary_box p.summary {
    text-align: center;
    width: 100%;
    height: auto;
  }
  & div.summary_box p.summary img {
    width: 544px;
    height: auto;
  }
  & p.notes {
    font-size: 12px;
    width: 710px;
    margin: 0 auto 5px;
  }
}
}


/*** summary ***/
#summary {
  min-width: 100%;
  padding: 2.0em 0 2.5em;
  background: #fff url(../images/bg_pattern.png) repeat;

  & .contents {
    width: 96%;
    margin: 0 auto;
    text-align: center;
    position: relative;
  }
  & p.catch {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 600;
    margin: 5px auto 10px;
  }
  & p.catch span {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-decoration-color: #ff0000;
  }
  & div.circle {
    position: absolute;
    left: 0px;
    top: -20px;
  }
  & div.circle img {
    width: 102px;
    height: 91px;
  }
  & div.summary_wrap {
    display: flex;
    flex-direction: column;
    margin: 5px 15px 0;
  }
  & div.summary_wrap div.col {
    background-color: #fff;
    border-radius: 8px;
    padding: 0 0 20px;
    margin: 40px auto 5px;
    width: 100%;
    position: relative;
  }
  & div.summary_wrap div.col .tab {
    position: absolute;
    top: -10px;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin: 0;
    padding: 0;
  }
  & div.summary_wrap div.col .tab img {
    width: 180px;
    height: auto;
  }
  & div.summary_wrap div.col .number {
    position: absolute;
    top: 15px;
    left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    margin: 0;
    padding: 0;
  }
  & div.summary_wrap div.col .number img {
    width: 74px;
    height: auto;
  }
  & div.summary_wrap div.col p.title {
    font-size: 24px;
    line-height: 1.6;
    font-weight: 600;
    margin: 55px auto 25px;
  }
  & div.summary_wrap div.col p.title span.underline01 {
    border-bottom: 6px solid #F3981C;
  }
  & div.summary_wrap div.col p.title span.underline02 {
    border-bottom: 6px solid #6CBB5A;
  }
  & div.summary_wrap div.col p.intro {
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    text-align: left;
    width: 85%;
    margin: 0px auto 20px;
  }
  & div.summary_wrap div.page_wrap {
    display: flex;
    flex-direction: row;
    margin: 25px 20px 10px;
  }
  & div.summary_wrap div.page_wrap div.box01,
  & div.summary_wrap div.page_wrap div.box02 {
    padding: 0 8px;
    margin: 0px auto;
    width: 50%;
    position: relative;
  }
  & div.summary_wrap div.page_wrap div.box01 img,
  & div.summary_wrap div.page_wrap div.box02 img {
    width: 100%;
    height: auto;
  }
  & div.summary_wrap div.page_wrap div.box01 .icon01,
  & div.summary_wrap div.page_wrap div.box02 .icon02 {
    position: absolute;
    bottom: 10px;
    right: 15px;
    margin: 0;
    padding: 0;
  }
  & div.summary_wrap div.page_wrap div.box01 .icon01 img,
  & div.summary_wrap div.page_wrap div.box02 .icon02 img {
    width: 40px;
    height: 40px;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#summary {
  padding: 3.5em 0 3.0em;

  & p.catch {
    font-size: 23px;
    margin: 5px auto 10px;
  }
  & div.circle {
    position: absolute;
    left: 70px;
    top: -40px;
  }
  & div.circle img {
    width: 130px;
    height: 116px;
  }
  & div.summary_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin: 65px auto 20px;
  }
  & div.summary_wrap div.col {
    display: flex;
    flex-direction: column;
    width: calc(48% - 25px);
    margin: 0 15px 5px;
  }
  & div.summary_wrap div.col p.title {
    font-size: 23px;
    margin: 60px auto 25px;
  }
  & div.summary_wrap div.col p.intro {
    font-size: 17px;
    width: 82%;
    margin: 0px auto 10px;
  }
  & div.summary_wrap div.page_wrap div.box01 .icon01 img,
  & div.summary_wrap div.page_wrap div.box02 .icon02 img {
    width: 50px;
    height: 50px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#summary {
  min-width: 1050px;
  padding: 4em 0 4em;

  & .contents {
    width: 1050px;
    margin: 0 auto;
  }
  & p.catch {
    font-size: 28px;
    margin: 5px auto 15px;
  }
  & div.circle {
    position: absolute;
    left: 160px;
    top: -40px;
  }
  & div.circle img {
    width: 130px;
    height: 116px;
  }
  & div.summary_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    margin: 70px auto 10px;
  }
  & div.summary_wrap div.col {
    display: flex;
    flex-direction: column;
    width: calc(48% - 25px);
    margin: 0 15px 10px;
  }
  & div.summary_wrap div.col p.title {
    font-size: 28px;
    margin: 60px auto 25px;
  }
  & div.summary_wrap div.col p.intro {
    font-size: 18px;
    width: 82%;
    margin: 0px auto 10px;
  }
  & div.summary_wrap div.page_wrap div.box01 .icon01 img,
  & div.summary_wrap div.page_wrap div.box02 .icon02 img {
    width: 50px;
    height: 50px;
  }
}
}


/*** plan ***/
#plan {
    min-width: 100%;
    padding: 2.5em 0 2em;
    overflow: hidden;
    background: #F5F2EB;

  & .contents {
    width: 96%;
    overflow: hidden;
    margin: 0 auto;
    text-align: center;
  }
  & div.plan_wrap {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 0px 7px rgba(0,0,0,0.1);
    padding: 20px 15px 30px;
    margin: 20px 15px 30px;
  }
  & div.plan_wrap h3 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;
    margin: 10px auto 25px;
  }
  & div.plan_wrap div.col_block01 {
    display: flex;
    flex-direction:row;
    width: 100%;
    margin: 20px auto 20px;
  }
  & div.plan_wrap div.col_block01 div {
    margin: 0;
  }
  & div.plan_wrap div.col_block01 div.col-1 {
    flex-basis: 35%;
  }
  & div.plan_wrap div.col_block01 div.col-2 {
    flex-basis: 65%;
    padding-left: 15px;
    text-align: left;
  }
  & div.plan_wrap div.col_block01 div p.cover {
    margin: 0;
  }
  & div.plan_wrap div.col_block01 div p.cover img {
    width: 100%;
    height: auto;
  }
  & div.plan_wrap div.col_block01 div p.detail01 {
    font-size: 14px;
    line-height:1.4;
    margin-top: -5px;
  }
  & div.plan_wrap div.col_block01 div p.detail02 {
    color: #ff0000;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    margin: 15px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.detail02 span.type01 {
    color: #ff0000;
    border: solid 1px #ff0000;
    padding: 0px 4px 1px;
  }
  & div.plan_wrap div.col_block01 div p.price01 {
    font-size: 36px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price01 span {
    font-size: 14px;
    font-weight: 400;
  }
  & div.plan_wrap div.col_block01 div p.price02 {
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
    margin: -5px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price02 span {
    font-size: 13px;
    font-weight: 400;
  }
  & div.plan_wrap p.detail03 {
    font-size: 13px;
    line-height:1.6;
    text-align: left;
    margin: 20px auto 0px;
  }
  & div.plan_wrap p.detail04 {
    font-size: 15px;
    line-height:1.6;
    text-align: left;
    margin: 15px auto 0px;
  }
  & div.plan_wrap p.detail04 span {
    background:linear-gradient(transparent 60%, #F8DAA2 60%);
  }
  & div.single_wrap {
    padding: 0px 10px 30px;
    margin: 20px 15px 0px;
  }
  & div.single_wrap p.lead {
    font-size: 15px;
    line-height:1.6;
    text-align: left;
    font-weight: 600;
    margin: 20px auto 25px;
  }
  & div.single_wrap p.title {
    font-size: 15px;
    line-height:1.6;
    text-align: left;
    font-weight: 600;
    margin: 35px auto 5px;
  }
  & div.single_wrap p.detail {
    font-size: 14px;
    line-height:1.6;
    text-align: left;
    font-weight: 400;
    margin: 0px auto 0px;
  }
  & div.single_wrap div.col_block01 {
    flex-direction: column;
  }
  & div.single_wrap div.col_block01 div {
    flex: 1;
  }
  & div.single_wrap p.button a {
    color: #1070C5;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 600;
    background-color: #fff;
    border: solid 1px #1070C5;
    border-radius: 10px;
    padding: 20px 10px;
    margin: 0 auto 10px;
    display: block;
    width: 90%;
  }
  & div.single_wrap p.button a:hover {
    background-color: #DCEFFF;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#plan {
    padding: 3.5em 0 3.0em;

  & div.plan_wrap {
    width: 70%;
    padding: 30px 60px 40px;
    margin: 40px auto 50px;
  }
  & div.plan_wrap h3 {
    font-size: 24px;
    margin: 10px auto 45px;
  }
  & div.plan_wrap div.col_block01 div.col-1 {
    flex-basis: 30%;
  }
  & div.plan_wrap div.col_block01 div.col-2 {
    flex-basis: 70%;
    padding-left: 50px;
  }
  & div.plan_wrap div.col_block01 div p.detail01 {
    font-size: 16px;
    line-height:1.6;
    margin-top: 0;
  }
  & div.plan_wrap div.col_block01 div p.detail02 {
    font-size: 16px;
    margin: 25px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price01 {
    font-size: 40px;
    margin: 5px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price01 span {
    font-size: 15px;
  }
  & div.plan_wrap div.col_block01 div p.price02 {
    font-size: 22px;
    margin: -3px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price02 span {
    font-size: 14px;
  }
  & div.plan_wrap p.detail03 {
    font-size: 14px;
  }
  & div.plan_wrap p.detail04 {
    font-size: 16px;
  }
  & div.single_wrap {
    margin: 20px 50px 0px;
  }
  & div.single_wrap p.lead {
    font-size: 16px;
    margin: 20px auto 35px;
  }
  & div.single_wrap p.title {
    font-size: 16px;
    margin: 40px auto 5px;
  }
  & div.single_wrap p.detail {
    font-size: 15px;
  }
  & div.single_wrap p.button a {
    font-size: 19px;
    width: 70%;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#plan {
    min-width: 1070px;
    padding: 5em 0 5em;
    overflow: hidden;

  & .contents {
    width: 1070px;
    overflow: hidden;
    margin: 0 auto;
  }
  & div.plan_wrap {
    width: 700px;
    padding: 30px 60px 40px;
    margin: 30px auto 40px;
  }
  & div.plan_wrap h3 {
    font-size: 28px;
    margin: 10px auto 35px;
  }
  & div.plan_wrap div.col_block01 div.col-1 {
    flex-basis: 30%;
  }
  & div.plan_wrap div.col_block01 div.col-2 {
    flex-basis: 70%;
    padding-left: 55px;
  }
  & div.plan_wrap div.col_block01 div p.detail01 {
    font-size: 20px;
  }
  & div.plan_wrap div.col_block01 div p.detail02 {
    font-size: 20px;
    margin: 35px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price01 {
    font-size: 48px;
    margin: 5px auto 0px;
  }
  & div.plan_wrap div.col_block01 div p.price01 span {
    font-size: 18px;
  }
  & div.plan_wrap div.col_block01 div p.price02 {
    font-size: 24px;
    margin: 0px auto 0px;
  }
  & div.plan_wrap p.detail04 {
    font-size: 20px;
  }
  & div.single_wrap {
    width: 810px;
    margin: 20px auto 0px;
    padding: 0px;
  }
  & div.single_wrap div.col_block01 {
    display: flex;
    flex-direction:row;
    margin: 40px auto 0;
  }
  & div.single_wrap div.col_block01 div {
    flex: 1;
  }
  & div.single_wrap p.lead {
    font-size: 18px;
    margin: 20px auto 35px;
  }
  & div.single_wrap p.button a {
    font-size: 19px;
    line-height: 1.4;
    margin: 0 auto;
    width: 89%;
  }
}
}


/*** faq ***/
#faq {
  min-width: 100%;
  background: #fff;
  padding: 2.5em 0 3em;

  & .contents {
    width: 96%;
    margin: 0 auto;
    text-align: center;
  }
  & h2 {
    margin-bottom: 30px;
  }
  & div.faq_info {
    border: solid 1px #D1BA8E;
    background: #fff;
    border-radius: 5px;
    margin: 0 auto 15px;
    padding: 15px 15px;
    width: 80%;
  }
  & div.faq_info div.box {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    width: 100%;
  }
  & div.faq_info div.box div.col {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    padding: 7px;
  }
  & div.faq_info div.box .Q_01,
  & div.faq_info div.box .A_01 {
    flex-grow: 0;
  }
  & div.faq_info div.box .Q_02,
  & div.faq_info div.box .A_02 {
    flex-grow: 1;
  }
  & div.faq_info div.box div.col p {
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
  }
  & div.faq_info div.box div.Q_01 p,
  & div.faq_info div.box div.A_01 p {
    font-size: 20px;
    font-weight: 600;
  }
  & div.faq_info div.box div.Q_01 p,
  & div.faq_info div.box div.Q_02 p {
    color: #876e3d;
  }
  & div.faq_info div.box div.Q_02 p {
    font-weight: 600;
  }
  & div.faq_info div.box div.A_02 p.note {
    font-size: 13px;
    margin-top: 10px;
  }
  & p a {
    color: #1070C5;
    text-decoration: none;
  }
  & p a:hover {
    text-decoration: underline;
  }
  & div.faq_info ul.arw {
    font-size: 15px;
    line-height: 1.8;
    font-weight: 400;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
  }
  & div.faq_info ul.arw li{
    position: relative;
    padding-left: 27px;
    text-align: left;
    display: inline;
  }
  & div.faq_info ul.arw li:before {
    content: "";
    position: absolute;
    top: 0em;
    left: 0px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #1070C5;
  }
  & div.faq_info ul.arw li:after {
    content: "";
    position: absolute;
    top: .50em;
    left: 7px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  & div.faq_info ul.arw a:link, a:visited, a:hover, a:focus, a:active {
    text-decoration: none;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#faq {
  padding: 3.5em 0 4em;

  & h2 {
    margin-bottom: 40px;
  }
  & div.faq_info {
    width: 85%;
  }
  & div.faq_info div.box {
    gap: 7px;
  }
  & div.faq_info div.box div.col {
    padding: 10px;
  }
  & div.faq_info div.box div.col p {
    font-size: 17px;
  }
  & div.faq_info div.box div.Q_01 p,
  & div.faq_info div.box div.A_01 p {
    font-size: 21px;
  }
  & div.faq_info div.box div.A_02 p.note {
    font-size: 14px;
    margin-top: 13px;
  }
  & div.faq_info ul.arw {
    font-size: 17px;
  }
  & div.faq_info ul.arw li{
    padding-left: 30px;
  }
  & div.faq_info ul.arw li:before {
    top: 0.05em;
    width: 24px;
    height: 24px;
  }
  & div.faq_info ul.arw li:after {
    top: .55em;
    left: 8px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#faq {
min-width: 1050px;
  padding: 4em 0 4.5em;

  & .contents {
    width: 1050px;
    margin: 0 auto;
  }
  & h2 {
    margin-bottom: 50px;
  }
  & div.faq_info {
    margin: 0 auto 20px;
    padding: 15px 20px 20px;
    width: 90%;
  }
  & div.faq_info div.box {
    gap: 10px;
  }
  & div.faq_info div.box div.col {
    padding: 12px;
  }
  & div.faq_info div.box div.col p {
    font-size: 18px;
  }
  & div.faq_info div.box div.Q_01 p,
  & div.faq_info div.box div.A_01 p {
    font-size: 22px;
  }
  & div.faq_info div.box div.A_02 p.note {
    font-size: 15px;
    margin-top: 13px;
  }
  & div.faq_info ul.arw {
    font-size: 18px;
  }
  & div.faq_info ul.arw li{
    padding-left: 32px;
  }
  & div.faq_info ul.arw li:before {
    top: 0.06em;
    width: 25px;
    height: 25px;
  }
  & div.faq_info ul.arw li:after {
    top: .57em;
    left: 8.5px;
  }
}
}


/*** contact ***/
#contact {
  min-width: 100%;
  background: #eee;
  padding: 2em 0 3em;

  & .contents {
    width: 96%;
    margin: 0 auto;
    text-align: center;
  }
  & p.contact_form {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    width: 90%;
    text-align: left;
    margin: 30px auto 10px;
  }
  & .call-to-action .button {
    display: inline-block;
    color: #0088FF;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 600;
    background-color: #fff;
    border: solid 2px #0088FF;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    padding: 15px 10px;
    margin: 20px auto 0;
    width: 60%;
  }
  & .call-to-action .button:hover {
    background-color: #F6FBFF;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#contact {
  padding: 3.5em 0 4em;

  & p.contact_form {
    font-size: 16px;
    margin: 40px auto 20px;
  }
  & .call-to-action .button {
    font-size: 18px;
    width: 300px;
    padding: 20px 10px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#contact {
  min-width: 1050px;
  padding: 4em 0 4.5em;

  & .contents {
    width: 1050px;
    margin: 0 auto;
  }
  & p.contact_form {
    font-size: 16px;
    width: 70%;
    margin: 40px auto 40px;
  }
  & .call-to-action .button {
    font-size: 20px;
    width: 320px;
    padding: 20px 10px;
    margin: 0 auto;
  }
}
}

/*** pageTop ***/
#pageTop {
  display: none;
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#pageTop {
  position: fixed;
  bottom: 30px;
  right: 20px;
  z-index: 100;

  & #pagetop-icon {
    display: block;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,0.4);
    text-decoration: none;
    text-align: center;
  }
  & #pagetop-icon:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  & #pagetop-icon:before, 
  & #pagetop-icon:after {
    width: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  & #pagetop-icon:before {
    width: 50px;
    height: 50px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: rgba(0,0,0,0.4);
  }
  & #pagetop-icon:after {
    top: 3px;
    left: 18px;
    width: 11px;
    height: 11px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 


#pageTop {
  position: fixed;
  bottom: 35px;
  right: 40px;
  z-index: 100;

  & #pagetop-icon {
    display: block;
    border-radius: 50%;
    width: 58px;
    height: 58px;
    background: rgba(0,0,0,0.4);
    text-decoration: none;
    text-align: center;
  }
  & #pagetop-icon:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  & #pagetop-icon:before, 
  & #pagetop-icon:after {
    width: 58px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
  }
  & #pagetop-icon:before {
    width: 58px;
    height: 58px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: rgba(0,0,0,0.4);
  }
  & #pagetop-icon:after {
    top: 3px;
    left: 21px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
}

/*** footer ***/
footer {
  min-width: 100%;
  background: #fff;
  padding: 20px 0px 130px;
  margin: 0;

  & .footer-content-wrap {
    width: 96%;
    margin: auto;
    text-align: center;
  }
  & .footer-content-wrap ul {
    text-align: center;
    width: 70%;
    margin: auto;
  }
  & .footer-content-wrap ul li {
    display: inline-block;
    padding: 0 8px 0 0;
  }
  & .footer-content-wrap ul li a {
    font-size: 12px;
    line-height: 2.5;
    color: #555;
    font-weight: 400;
  }
  & p.footer-logo img {
    width: 120px;
    height: auto;
    margin: 20px auto 10px;
  }
  & p.footer-copyright {
    font-size: 14px;
    color: #616161;
    font-weight: 400;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
footer {
  padding: 30px 0px 150px;

  & .footer-content-wrap ul {
    width: 100%;
  }

  & .footer-content-wrap ul li {
    padding: 0 10px;
  }
  & .footer-content-wrap ul li a {
    font-size: 13px;
  }
  & p.footer-logo img {
    width: 150px;
    margin: 20px auto 10px;
  }
  & p.footer-copyright {
    font-size: 14px;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
footer {
  min-width: 1050px;
  padding: 30px 0px 160px;

  & .footer-content-wrap {
    min-width: 1050px;
    margin: auto;
    text-align: center;
  }
  & .footer-content-wrap ul li {
    padding:0 16px;
  }
  & .footer-content-wrap ul li a {
    font-size: 14px;
  }
  & .footer-content-wrap ul li a:hover{
    text-decoration: underline;
  }
  & p.footer-logo img {
    width: 160px;
    margin: 20px auto 20px;
  }
  & p.footer-copyright {
    font-size: 14px;
  }
}
}

/*** footer_CTA ***/
#footer_CTA {
  display: block;
  width: 100%;
  position: fixed;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 90;
  bottom: -190px;
  transition-duration: 0.5s;
  box-sizing: border-box;
  padding: 15px 0;
  font-weight: bold;
  text-align: center;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05);

  &.show {
    bottom:0px;
    transition-duration: 0.5s;  
  }
  & p.button a {
    color: #fff;
    font-size: 15.5px;
    line-height: 1.2;
    font-weight: 600;
    background-color: #1070C5;
    border-radius: 10px;
    padding: 25px 10px;
    margin: 0 auto;
    display: block;
    width: 85%;
  }
  & p.button a:hover {
    background-color: #2385DC;
  }
}

/* 480px～959px */
@media (480px <= width <= 959px) {
#footer_CTA {
  padding: 18px 0;

  & p.button a {
  font-size: 22px;
  padding: 28px 10px;
  width: 500px;
  }
  & p.button a:hover {
    background-color: #2385DC;
  }
}
}

/* 960px～ */
@media screen and (min-width: 960px) { 
#footer_CTA {
  padding: 20px 0;

  & p.button a {
  font-size: 26px;
  padding: 28px 15px;
  width: 600px;
  }
}
}

.button.disabled a {
  pointer-events: none;
  opacity: 0.5;
  cursor: default;
}

.button.disabled a:hover {
  background-color: inherit;
}