﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

*{margin: 0;padding: 0}

html {overflow-y: scroll;}

body {
font-family: "Noto Sans JP","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
color: #252525;
font-weight: 400;
line-height : 2;
-webkit-text-size-adjust: 100%;
word-wrap: break-word;
background: #fff;
}

h1, h2, h3, h4, h5, h6 {font-size: 1.0em;	font-weight: normal;line-height: 1.5;}

table {border-collapse: collapse;}
ol, ul, li { list-style-type: none;line-height: 1.5;}
img {border: none; vertical-align : bottom; max-width : 100%; max-height: 100%;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

a img { border: none;}

@-o-viewport {
width : 320px;
zoom:1.0;}


/* link
----------------------------------------------- */

a { color: #6696be; text-decoration : underline; }

a:hover { color: #95b3cd; cursor: pointer; }
a img:hover {opacity: 0.7;cursor: pointer;}

a.link01 {
background: url(../images/icon_arrow01.png) no-repeat left 4px;
background-size: 8px;
padding-left: 12px;
}
a.link02 {
background: url(../images/icon_arrow02.png) no-repeat left 5px;
background-size: 8px;
padding-left: 12px;
}


/* clearfix
----------------------------------------------- */

/* ---IE7.IE8 clearfix--- */
.clearfix:after { content: ".";display: block;clear: both;height: 0;visibility: hidden; }

.clearfix { display: inline-block; }
/* Hides from IE-mac \*/

* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

.clear { clear: both; }


/* form-style
----------------------------------------------- */
input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
-webkit-appearance: none;
background-color: #ffffff;
border: 4px solid rgba(51, 51, 51, 0.1);
border-radius: 1px;
color: #555;
font-size: 1em;
width: 90%;
padding: 4% 3%;
transition: background-color 0.24s ease-in-out 0s;
vertical-align: middle;
}
input[type="text"]:focus, input[type="text"]:active, input[type="password"]:focus, input[type="password"]:active, input[type="datetime"]:focus, input[type="datetime"]:active, input[type="datetime-local"]:focus, input[type="datetime-local"]:active, input[type="date"]:focus, input[type="date"]:active, input[type="month"]:focus, input[type="month"]:active, input[type="time"]:focus, input[type="time"]:active, input[type="week"]:focus, input[type="week"]:active, input[type="number"]:focus, input[type="number"]:active, input[type="email"]:focus, input[type="email"]:active, input[type="url"]:focus, input[type="url"]:active, input[type="search"]:focus, input[type="search"]:active, input[type="tel"]:focus, input[type="tel"]:active, input[type="color"]:focus, input[type="color"]:active, select:focus, select:active, textarea:focus, textarea:active, .field:focus, .field:active {
background-color: #ffffdb;
border: 4px solid rgba(193, 159, 122, 0.5);
}
input[type="image"]{max-width: 100%;}
button {background: none;border: none;}


/* typography
----------------------------------------------- */

h2,h3 {
text-align: center;
font-weight: 400;
line-height: 1.5;
font-family: "Shippori Mincho", serif;
font-weight: 500;
font-style: normal;
}

h4 {
font-size: 1.1em;
margin: 1em 0 1em;
}

h5 {
font-size: 1.1em;
margin: 2em 0 1.5em;
}

p {
margin-bottom : 1.5em;
word-break: break-all;
}
li {
text-align : left;
}

/* heading-style
----------------------------------------------- */
.subhead01 {
  background: url(../images/contents/img_border.png) no-repeat top center;
  background-size: 100%;
  padding: 0 0 0;
  margin: 2.5em 0 0;
}
.subhead01 .title {
  background: linear-gradient(90deg, #7897c2 0%, #9db5d8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding: 2.5em 3% 2.5em;
  font-size: 1.4em;
}

.subhead02 {
  background: #333;
  color: #fff;
  padding: 0.5em 0 0.5em;
  margin: 3em 0 2em;
  }
.subhead02 .title {
  padding: 1em 3%;
  font-size: 1.2em;
  border: 2px solid #cbbd89;
  border-width: 2px 0 2px 0;
}

.subhead03 {
  position: relative;
  display: inline-block;
  margin: 2em 0 2em;
  padding: 1.5em 3%;
  width: 94%;
  color: #fff;
  font-size: 1.2em;
  background: #9f8d77;
}
.subhead03:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #9f8d77;
}

.imgtitle img{
max-width: 90%;
}

.heading01 {
font-size: 1.3em;
font-weight: 400;
color: #425891;
margin: 2em 0 2em;
}

.heading02 {
font-size: 1.2em;
font-weight: 400;
background: url(../images/common/icon_check.png) no-repeat left 0;
background-size: 28px;
padding: 0 0 0.5em 35px;
margin: 2em 0 1.5em;
text-align: left;
border-bottom: 1px dashed #ccc;
}

.heading03 {
font-size: 1.3em;
font-weight: 400;
color: #fff;
margin: 2em 0 1.5em;
padding: 0.5em 0.5em;
background: #89a4cb;
border: 3px solid #89a4cb;
box-shadow: 3px 3px 0 0 #6b86ab;
position: relative;
}
.heading03::before,
.heading03::after {
content: '';
height: 0;
width: 0;
border: solid transparent;
position: absolute;
left: 30px;
}
.heading03:before {
border-color: transparent;
border-top-color: #89a4cb;
border-right-color: #89a4cb;
border-width: 10px;
top: 100%;
left: 26px;
}
.heading03:after {
border-color: transparent;
border-top-color: #89a4cb;
border-right-color: #89a4cb;
border-width: 6.5px;
top: 99%;
}



/* text-style
----------------------------------------------- */
.txt-right { text-align: right !important; }
.txt-left { text-align: left !important; }
.center { text-align: center !important; }

.color-red { color: #dd0000; }
.color-salmon { color: #f96060; }
.color-lime { color: #007c36; }
.color-green { color: #6baa07; }

.font_s {
font-size: smaller;
line-height: 1.5;
}
.font12 {
font-size: 12px;
}
.font10 {
font-size: 10px;
}

.inlineb{display: inline-block;}


/* Emphasis
----------------------------------------------------------- */
.em1 {
color: #a69253;
}
.em2 {
font-size: 1.3em;
color: #a69253;
}
.em3 {
font-weight: bold;
}
.em4 {
font-weight: bold;
font-size: 1.3em;
}
.em5 {
font-weight: bold;
text-decoration: underline;
}
.em6{
background: #ffff9d;
font-weight: bold;
}
.em7{
font-weight: bold;
background: linear-gradient(transparent 60%, #f4edd5 30%);
padding-left: 3px;
}
.em1 a,.em2 a{
color: #a69253;
}


/* btn-style
----------------------------------------------- */
.submit-btn {
text-align: center;
margin: 2.5em 0;
}
.bnr {text-align: center; margin: 30px 0;}

.submit {
text-align: center !important;
margin: 1em 0;
}

/* btn-base */
.txt-btn {
display: inline-block;
max-width: 94%;
min-width: 280px;
text-align: center;
text-decoration: none;
line-height: 54px;
outline: none;
margin: 0 0.5em 1em;
border-radius: 3em;
}
.txt-btn::before,
.txt-btn::after {
position: absolute;
z-index: -1;
display: block;
content: '';
}
.txt-btn,
.txt-btn::before,
.txt-btn::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
/* btn-style */
.txt-btn {
background-color: #c1b280;
border: 2px solid #c1b280;
color: #fff;
line-height: 50px;
}
.txt-btn:hover {
background-color: #fff;
border-color: #c1b280;
color: #c1b280;
}

.txt-btn.big {
line-height: 72px;
}



/* image-style
----------------------------------------------------------- */
img{max-width:100%;height:auto;}

#contents img.alignleft {
float: left;
margin: 0 0 20px 20px;
max-width: 40%;
}
#contents img.alignright {
float: right;
margin: 0 0 20px 5px;
max-width: 40%;
}
#contents img.center {
display: block;
margin: 0 auto;
}
#contents img.alignright.w100 {
float: right;
margin: 0 0 20px 20px;
max-width: 100%;
}

img.border {
border: 1px solid #ddd;
padding: 4px;
}
img.shadow {
background: #fff;
padding: 8px;
-moz-box-shadow: 1px 2px 5px #ccc;
-webkit-box-shadow: 1px 2px 5px #ccc;
box-shadow: 1px 2px 5px #ccc;
}
img.frame {
border: 5px solid #fff;
box-shadow: 0px 1px 4px #999;
-moz-box-shadow: 0px 1px 4px #999;
-webkit-box-shadow: 0px 1px 4px #999;
}
img.circle,img.round {
border-radius: 50%;
}
/* img_switch
----------------------------------------------- */
.switch {
visibility: hidden;
}


/* box-style
----------------------------------------------- */
[class^="box0"], [class^="boxtext0"], [class^="boxcolor"] {
  margin: 2em 0;
  padding: 1.5em 5% 1em; }
  [class^="box0"].-round, [class^="boxtext0"].-round, [class^="boxcolor"].-round {
    border-radius: 10px; }
  [class^="box0"] p:last-of-type, [class^="boxtext0"] p:last-of-type, [class^="boxcolor"] p:last-of-type {
    margin-bottom: 0; }

.box01 {
  border: 3px double #ddd; }

.box02 {
  border: 2px solid #ddd;
  background: #f8f8f8;
 }
.box02.c-main {
  border-color: #00479d;
  background: none;
}

.box03 {
  box-shadow: 0px 0px 8px #ddd;
  -ms-box-shadow: 0px 0px 8px #ddd;
  -moz-box-shadow: 0px 0px 8px #ddd;
  -webkit-box-shadow: 0px 0px 8px #ddd;
  background: #fff; }

.box04 {
  border: solid 1px #ddd;
  box-shadow: 7px 7px 0px #ddd;
  -ms-box-shadow: 7px 7px 0px #ddd;
  -moz-box-shadow: 7px 7px 0px #ddd;
  -webkit-box-shadow: 7px 7px 0px #ddd;
  background: #fff; }

.box05 {
  background: #F7F7F7; }

.box06 {
  background: url("../images/common/box-note.png");
  color: #000; }
.box07 {
  background: url("../images/common/box-note.png");
  color: #000;
}

/* PROGRAM */
.programhead{
margin: 40px 0px 0 ;
padding: 20px 0;
border: 1px solid #ccc;
border-bottom: none;
background: #e8f0f3;
text-align: center;
font-size: 1.1em;
}
.programhead .point{
background: #89a4cb;
color: #fff;
border-radius: 32px;
display: inline-block;
padding: 0.2em 2em;
font-weight: bold;
font-size: 0.9em;
margin: 0 0 0.5em;
}


/* 見出し付きボックス（01・共通） */
.ptitle {
background: #eee;
text-align: left;
font-size: 1em;
margin: 30px 0 0;
padding: 15px  20px 15px 20px;
font-weight: bold;
border: 1px solid #ccc;
border-bottom: none;
}
h4.ptitle {
font-size: 1.1em;
}
.p-boxIn  {
margin: 0 0 30px;
padding: 20px 20px ;
border: 1px solid #ccc;
text-align: left;
}
.p-boxIn p  {
margin-left: 0;
margin-right: 0;
}


/* testimonials
----------------------------------------------- */
.testimonial {
margin: 20px 0;
padding: 20px 15px 0;
border: 6px solid #fff;
background: url(../images/common/testimonial_bg.png) no-repeat 98% 10px #f6f6f6;
background-size: 120px;
line-height: 1.7;
box-shadow: 0 2px 8px #ccc;
}

.testimonial .title {
font-weight: bold;
font-size: 1.2em;
padding-bottom: 1em;
border-bottom: 1px dotted #ccc;
margin-bottom: 1.5em;
text-align: left;
color: #715d47;
}
.t-name {
font-weight: bold;
}


/* list-style
----------------------------------------------- */

.list01 {
margin: 0 0 0 0;
}
.list01 li {
background: url(../images/common/icon_circle01.png) no-repeat 6px 0.5em;
background-size: 8px;
padding: 0 0 1em 20px;
font-weight: bold;
}
.list02 {
margin: 0 0 0 0;
}
.list02 li {
margin-bottom: 1em;
padding: 0 0 1em 26px;
background: url(../images/common/icon_check01.png) no-repeat left 2px;
background-size: 20px;
border-bottom: 1px dashed #ccc;
}
.list03 {
margin: 0 0 0 0;
}
.list03 li {
margin-bottom: 1em;
padding: 0 0 1em 30px;
background: url(../images/common/icon_check02.png) no-repeat left 0;
background-size: 24px;
border-bottom: 1px dashed #ccc;
}

/* dl-style
----------------------------------------------- */
.dl01 {
margin-bottom: 20px;
text-align: left;
}
.dl01 dt {
margin:20px 0 20px;
padding: 0 0 2px 15px;
font-size:106%;
font-weight: bold;
background-size: 10px;
border-bottom: 1px dotted #bababa;
}
.dl01 dd {
margin: 0 15px 25px;
font-size: 93%;
}
.dl02 {
margin: 20px 0;
text-align: left;
}
.dl02 dt {
margin:0 0 1em;
padding: 0 0 1em 0.5em;
border-bottom: 1px dotted #bababa;
font-size: 0.9em;
line-height: 1.5;
opacity: 0.8;
}
.dl02 dd {
margin: 0 0 2em;
}

.faq {
margin-bottom: 30px;
text-align: left;
}
.faq dt {
background: url("../images/common/icon_faq_q02.png") no-repeat scroll 4px 12px #e6e6e6;
background-size: 32px;
border-top: 1px dotted #bababa;
border-bottom: 1px dotted #bababa;
font-size: 1.1em;
font-weight: bold;
line-height: 1.5;
margin-bottom: 10px;
padding: 15px 10px 15px 44px;
}
.faq dd {
background: url("../images/common/icon_faq_a02.png") no-repeat scroll 4px top transparent;
background-size: 32px;
margin-bottom: 1em;
padding: 2px 10px 20px 44px;
}
.faq p{
margin: 0 0 0.75em !important;
}


/* table-style
----------------------------------------------- */
.table01 {
width: 100%;
margin-bottom: 30px;
background: #fff;
}
.table01 th, .table01 td {
border: 1px solid #dadada;
font-weight: normal;
padding: 10px 4% 10px 5%;
text-align: left;
vertical-align: top;
display: block;
}
.table01 th {
background: #eee;
}

.table01.center th,.table01.center td {
text-align: center;
}
.table01.w3070 th {
width: 30%;
}
.table01.w3070 td {
width: 70%;
}

table.table02 {
width: 100%;
margin: 0 0 20px;
border-collapse: separate;
background: #fff;
}
table.table02 tr.bdnone th,table.table01 tr.bdnone td{
border: none;
}
table.table02 th, table.table02 td {
font-weight: normal;
padding: 8px 1em 8px;
text-align: left;
vertical-align: top;
border: 1px solid #dadada;
}
table.table02 th {
background:#eee;
}
table.table02 td {
border-top: none;
}


/* other-style
----------------------------------------------- */
.MT0 { margin-top: 0px !important; }
.MT10 { margin-top: 10px !important; }
.MT20 { margin-top: 20px !important; }
.MT30 { margin-top: 30px !important; }
.MT50 { margin-top: 50px !important; }
.MB0 { margin-bottom: 0px !important; }
.MB10 { margin-bottom: 10px !important; }
.MB20 { margin-bottom: 20px !important; }
.MB30 { margin-bottom: 30px !important; }
.MB50 { margin-bottom: 50px !important; }

.PT0 { padding-top: 0px !important; }
.PT10 { padding-top: 10px !important; }
.PT20 { padding-top: 20px !important; }
.PT30 { padding-top: 30px !important; }
.PB0 { padding-bottom: 0px !important; }
.PB10 { padding-bottom: 10px !important; }
.PB20 { padding-bottom: 20px !important; }
.PB30 { padding-bottom: 30px !important; }

.mtb50 {margin-top: 50px; margin-bottom: 50px; }
.mrl50 {margin-right: 50px; margin-left: 50px; }

.ML0 { margin-left: 0px !important; }
.ML10 { margin-left: 10px !important; }
.ML20 { margin-left: 20px !important; }
.ML30 { margin-left: 30px !important; }
.ML50 { margin-left: 50px !important; }
.MR0 { margin-right: 0px !important; }
.MR10 { margin-right: 10px !important; }
.MR20 { margin-right: 20px !important; }
.MR30 { margin-right: 30px !important; }

.PL0 { padding-left: 0px !important; }
.PL10 { padding-left: 10px !important; }
.PL20 { padding-left: 20px !important; }
.PL30 { padding-left: 30px !important; }
.PL50 { padding-left: 50px !important; }
.PR0 { padding-right: 0px !important; }
.PR10 { padding-right: 10px !important; }
.PR20 { padding-right: 20px !important; }
.PR30 { padding-right: 30px !important; }


.ML120 { margin-left: 1em !important; }


hr {
background: #fff;
padding-bottom: 30px;
border: none;
}

.youtube-wrap {
position: relative;
width: 100%;
padding-top: 56.25%;
margin-bottom: 15px;
text-align: center;
}
.youtube-wrap iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}

.iframebox { text-align: center; }
.iframebox iframe { max-width: 100%; }


/* section-style
----------------------------------------------- */
.optin.first .subhead01 {
  background: none;
  margin: 0;
}
#bg01 {
background: linear-gradient(90deg, #9cc4f2 0%, #d4a7fb 100%);
padding: 0 0 10px;
}
#bg01 .subhead01 .title {
  background: linear-gradient(90deg, #fff 0%, #fff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #fff;
}
section.bg_dot{
background: url(../images/common/bg_dot.png) repeat top left;
}


/* 768px～ メディアクエリ開始 */
@media screen and (min-width : 767px) {
.pc_none { display: none;}
}
/* ～768px メディアクエリ開始 */
@media screen and (max-width : 768px) {
.sp_none{ display: none;}

table.table02 th, table.table02 td {
display: block;
width: 94%;
padding: 8px 3% 8px;
}
table.table02 th {
margin-top: 8px;
}

}

/* 768px～ メディアクエリ開始 */
@media screen and (min-width : 768px) {
body{font-size: 1em;}
p {
word-break: normal;
}
/* heading-style
----------------------------------------------- */
h2 {font-size: 1.3em;}
.subhead01 {
  background-size: 100% 21px;
}
.subhead01 .title {
  font-size: 1.5em;
}
.heading01{
    font-size: 1.5em;
  }
/* btn-style
----------------------------------------------- */
/* btn-base */
.txt-btn {
min-width: 320px;
line-height: 54px;
margin: 0 1em 1em;
}
.txt-btn.big {
line-height: 4em;
min-width: 560px;
font-size: 1.5em;
}

/* section-style
----------------------------------------------- */

}

/* 1024px～ メディアクエリ開始 */
@media screen and (min-width : 1024px) {

/* heading-style
----------------------------------------------- */
.subhead01 .title {
  font-size: 1.7em;
}

/* typography
----------------------------------------------- */

h4 {
font-size: 1.3em;
}

.subheadbg{
padding: 2em 3%;
}
.imgtitle img{
max-width: 100%;
}


/* image-align shadow
----------------------------------------------------------- */
#contents img {
}
#contents img.alignleft {
float: left;
margin: 0 30px 20px 0;
}
#contents img.alignright {
float: right;
margin: 0 0 20px 30px;
}
#contents img.center {
margin: 0 auto;
}

/* box-style
----------------------------------------------- */
/* ボックス01（枠線） */
.box01 {
margin: 0 0px 30px;
padding: 20px 20px 20px;
}

/* ボックス02（背景） */
.box02 {
margin: 40px 0px ;
padding: 40px 40px 30px;
}

/* ボックス03（枠線内影） */
.box03 {
margin: 40px 0px ;
padding: 50px;
}

/* ボックス04（枠線影） */
.box04 {
margin: 40px 0px ;
padding: 50px;
}

/* PROGRAM */
.programhead{
margin: 40px 0px 0 ;
padding: 30px 0;
font-size: 1.3em;
}
.programhead .point{
  font-size: 0.9em;
}
.programhead h4{
font-size: 1.7em;
margin: 0.8em 0 0.3em;
line-height: 1.5;
}

/* 見出し付きボックス（01・共通） */
.ptitle {
margin: 30px 0 0;
padding: 20px  20px 20px 20px;
}
.p-boxIn  {
margin: 0 0 30px;
padding: 20px 30px ;
}
/* 見出し付きボックス02（テキストアイコン付き） */
.p-box02 .point {
padding: 7px 20px;
}
.p-box02 .ptitle span{
margin-top: 1px;
}

/* 見出し付きボックス03（テキストアイコン付き） */
.p-box03 .point {
padding: 7px 20px;
}
.p-box03 .ptitle span{
margin-top: 1px;
}

/* 見出し付きボックス04（テキストアイコン付き） */
.p-box04 .point {
padding: 7px 20px;
}
.p-box04 .ptitle span{
margin-top: 1px;
}


/* list-style pc
----------------------------------------------- */
.list01 {
  margin: 1em 0 1em 5px;
}
.list01 li {
padding: 0 0 1em 24px;
}
.list02 {
margin: 1em 0 1em 0;
}
.list02 li {
padding: 0 0 1em 32px;
background-position: left 2px;
background-size: 24px;
}
.list03 {
margin: 1em 0 1em 0;
}
.list03 li {
padding: 0 0 1em 42px;
background-position: left 0;
background-size: 30px;
}

/* testimonials
----------------------------------------------- */
.testimonial {
background-size: 180px;
margin: 30px 0;
padding: 30px 30px 0 30px;
}
.testimonial .title {
font-size: 1.3em;
padding-bottom: 1em;
}


/* table-style
----------------------------------------------- */
.table01 {
width: 100%;
margin-bottom: 30px;
}
.table01 th, .table01 td {
border: 1px solid #dadada;
font-weight: normal;
padding: 15px 10px 15px 20px;
text-align: left;
vertical-align: top;
}
.table01 th {
background: #eee;
}

.table01.center th,.table01.center td {
text-align: center;
}
.table01.w3070 th {
width: 30%;
}
.table01.w3070 td {
width: 70%;
}

table.table02 {
width: 94%;
margin: 0 auto 20px;
}
table.table02 th, table.table02 td {
font-weight: normal;
padding: 0.8em 1em;
text-align: left;
vertical-align: top;
border-top: none;
border-left: none;
}


/* section-style
----------------------------------------------- */





} /* 1024px～ メディアクエリ終了 */
