@charset "utf-8";
a {
  letter-spacing: 0em;
}
.fv{
background-color: #defff4;
text-align: center;
background-image: url(/images/pc_fv_bg.png);
background-position: bottom center;
background-repeat: no-repeat;
}
.change{
background-color: #00a591;
text-align: center;
}
.hamburger{
max-width: 940px;
margin: 19px auto 0;
}
.gNav .gNav-menu li a {
font-size: 16px;
}
.fv .col_1{
height: 280px;
text-align: left;
margin: 0 auto;
width: 1024px;
padding-top: 1.6em;
}
.fv .col_1 p{
background-color: #00a591;
color: #fff;
font-weight: 700;
padding: 10px 15px 5px;
font-size: 1.4em;
letter-spacing: 1px;
display: inline-block;
margin: 10px 0 8px 10px;
}
.waku{
background-color: #e6faff;
margin: 0 auto 1em;
padding: 1.5em;
}
.waku p.memo{
border-bottom: 1px dotted #ccc;
margin-bottom: .5em;
font-size: 20px;
font-weight: 700;
text-align: center;
}
.yt_box{
width: 75%;
margin: 0 auto;
}
.greeting{
background-color: #FFF;
border-radius: 8px;
padding: 1.5em;
box-sizing: border-box;
margin: 1.5em 0 .5em;
text-align: left;
}
.greeting .flex_box, .flex_box.youtube, dl.memo .flex_box{
justify-content: space-between;
}
.flex_box.youtube .half{
width: 54%;
}
.greeting .sub_title{
color: #00a591;
font-weight: 700;
font-size: 1.4em;
border-bottom: 1px solid #00a591;
margin-bottom: .25em;
}
.txt{
padding: .5em;
line-height: 1.6;
}
.message .right_txt{
padding: .75em .5em 0;
text-align: right;
}
.ber{
background-color: #DF0075;
color: #fff;
text-align: center;
border-radius: 25px;
font-weight: 700;
padding: 5px;
margin: .5em 0;
}
dl.memo{
text-align: left;
}
dl.memo dt{
	border-bottom: 1px solid #ccc;
	font-weight: 700;
	margin: .5em 0 .15em 1em;	
}
dl.memo dt:before{
  content: '■';
  color: #00a591;
  margin-left: -1em;
}
dl.memo dd{
	margin: .25em 0 .75em 1em;
}
dl.memo dd ul.note li{
border-bottom: 1px dotted #b7b7b7;
list-style: disc;
margin: .25em 0 .5em 1em;
}
dl.memo dd.flex_box div.merit{
border: 2px dotted #ccc;
border-radius: 6px;
padding: 1em;
width: 45.5%;
margin: .5em 0;
}
dl.memo dd.flex_box div.merit p{
text-align: center;
font-size: 1.2em;
font-weight: 700;
text-decoration: underline;
text-decoration-color: currentcolor;
text-decoration-thickness: auto;
text-decoration-thickness: 0.5em;
text-decoration-color: rgba(168, 218, 251, 0.9);
text-underline-offset: -0.2em;
text-decoration-skip-ink: none;
padding: 0 0 .75em 0;
}
dl.memo dd.flex_box div p.sub_title1{
text-decoration-color: rgba(255, 255, 0, 0.9);
}
ul.disc li{
list-style: disc;
margin-left: 1em;
}
dl.memo dd.flex_box div.plan_list{
width: 37.5%;
margin: .5em 0;
text-align: center;
}
dl.memo dd.flex_box div.plan_list img{
width: 100%;
}
dl.memo dd.flex_box div.plan_txt{
width: 60.5%;
margin: .5em 0;
}
p.t_plan{
background-color: #1fb8ca;
color: #fff;
border-radius: 25px;
width: 285px;
text-align: center;
font-weight: 700;
}
p.t_plan.sta{
margin-top: 1.25em;
background-color: #ef8691;	
}
p.t_plan.spe{
background-color: #10a3dd;	
}
p.t_plan.yut{
margin-top: 1.25em;
background-color: #5188b1;	
}
p.t_plan.sei{
margin-top: 1.25em;
background-color: #f78a00;	
}
ul.note li ul.sub_list{
margin-bottom:.25em;
}
ul.note li ul.sub_list li{
list-style: circle;
border-bottom: none;
margin: 0 0 0 1em;
}
.ur{
border: 1px dashed #ccc;
padding: 1em 1.5em;
}
.ur p{
font-size: 14px;
}
.nuri{
background-color: #DF005A;
color: #fff;
font-weight: 700;
text-align: center;
padding: .25em 0;
margin-bottom: .5em;
font-size: 20px;
border-radius: 25px;
}
dl.memo dd ol li{
list-style-type: upper-roman;
margin: .5em 0 0 1.5em;
}
dl.memo dd ol li ul.disc li{
list-style: disc;
margin: 0 0 0 1em;
}
.graph_date{
background-color: #EDFAFF;
padding: 1em 1.5em;
border-radius: 8px;
}
.graph_date p.note{
border-bottom: 1px dotted #ccc;
padding-top: 5px;
}
.graph_date p.total{
border-top: 1px solid #999;
padding: 5px 10px 0 0;
text-align: right;
}
span.blue{
background-color: #005DBF;
color: #fff;
padding: 0 .5em;
}
.mokuji_box{
border: 1px solid #00a591;
margin: 0 auto .5em;
padding: 1em;
}
.mokuji_box h2{
text-align: center;
margin: 0 0 1em;
background-color: #00a591;
}
.mokuji_box h2::after, .main_contents h2::after{
background-color: #00a591;
}
.main_contents h2 {
background-color: #00a591;
}
dl.mokuji{
margin: 0 .5em 0 1.5em;
}
dl.mokuji dt{
border-bottom: 1px solid #6ac1b7;
margin-top: 7px;
line-height: 1.4;
font-weight: 700;
}
dl.mokuji dt::before {
  content: '■';
  color: #6ac1b7;
  margin-left: -1em;
}
dl.mokuji dd{
margin: .25em 0 .5em;
}
dl.mokuji ul.disc li{
border-bottom: 1px dotted #666;
margin-bottom: .25em;
}
p.obi{
border: 2px dotted #cc0000;
text-align: center;
padding: .5em 0;
color: #cc0000;
font-size: 1.1em;
font-weight: 700;
}
dl.memo dd ul.disc li{
margin-bottom: .5em;
border-bottom: 1px dotted #999;
}
/* 左上タイトル付きボックス */
.cstm-box-title-topleft {
  --box-color: #b32731; /* 基本色 */
  margin: 2em auto; /* 外側余白 */
  position: relative; /* タイトル基準 */
  border: 1px solid var(--box-color); /* 枠線 */
  border-radius: 3px; /* 角丸 */
  max-width: 100%; /* 最大幅 */
}

.cstm-box-title-topleft .box-title {
  background: var(--box-color); /* 背景 */
  color: #fff; /* 文字色 */
  padding: 0.2em 1em; /* 内側余白 */
  position: absolute; /* 左上固定 */
  top: -0.7em; left: 0.7em; /* 位置 */
  display: inline-block; /* 内容幅 */
  font-size: 1.3em; /* サイズ */
  font-weight:bold; /* 太字 */
  border-radius: 3px; /* 角丸 */
  max-width: calc(100% - 2em); /* 幅調整 */
  white-space: nowrap; /* 折返しなし */
  overflow: hidden; text-overflow: ellipsis; /* 省略 */
}

.cstm-box-title-topleft .box-content {
  padding: 2.5em 2em 2em; /* タイトル分の余白 */
}

/* 段落の余白なし */
.cstm-box-title-topleft p { margin: 0; }
/* 004 */
.button004 a {
    background: #00a591;
    border-radius: 50px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 75%;
    padding: 10px 25px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button004 a:after {
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.2s ease-in-out;
    content: "\f0da";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    transform: translateY(-50%);
}
.button004 a:hover {
    background: #313131;
    color: #FFF;
}
.arrow {
  display: inline-block;
  width: 47.6px;
  height: 40px;
  background: #000000;
  clip-path: polygon(0 46.5%, 30% 46.5%, 30% 0, 70% 0, 70% 46.5%, 100% 46.5%, 50% 100%);
}
.normal{
background-color: #E8FDFB;
margin: .25em auto .75em;
text-align: center;
padding: .5em 1em;
}
.topic{
border: 1px solid #000000;
margin: .25em auto .75em;
text-align: center;
padding: .5em 1em;
}
.double{
border: 3px double #cc0000;
margin: .5em auto;
padding: .5em 1em;
}
p.y_obi{
background-color: #FFFF00;
text-align: center;
font-weight: 700;
margin: .5em 0 .35em;
padding-top: 2px;
color: #cc0000;
}
.fv_katazuke .col_3 {
  width: 30%;
  margin: 1% .5%;
  background: linear-gradient(to bottom, #fff, #89ff7859);
  box-shadow: 0 3px 5px rgb(0 0 0 / 22%);
  border-radius: 6px;
  text-align: center;
  list-style: none;
  padding: 0 .5rem;
}
.fv_katazuke .col_3 p {
  font-size: 1.1em;
}
.fv_katazuke .col_3 img{
width: 100%;
height: auto;
}
.half_box {
  width: 49.5%;
  border: 1px solid #bbb;
  margin-bottom: 10px;
}
.sub_box{
border: 1px solid #ccc;
border-radius: 6px;
width: calc(96% / 5);
margin-bottom: .5em;
text-align: center;
}
.flex_box.note div{
border: 1px solid #ccc;
text-align: center;
padding: .5em;
width: calc(93% / 3);
}
.anbun{
border: 1px solid #ccc;
border-radius: 6px;
width: calc(98% / 2);
margin-top: .5em;
}
p.t_sta, p.t_pre{
background-color: #00a591;
border-radius: 6px 6px 0 0;
text-align: center;
color: #fff;
font-weight: 700;
padding: 5px 0 0;
}
p.t_pre{
background-color: #E00020;
color: #ffff00;
}
.anbun ul.disc{
margin: .5em 1em .5em 1.5em;
}
.red_obi{
border: 1px solid #E00020;
color: #E00020;
text-align: center;
width: 80%;
margin: 0 auto .5em;
}
.item_box{
border: 1px solid #00a591;
padding: 1em; 
}
.item_box h3{
background-color: #00a591;
color: #fff;
padding: 5px 0 2px 5px;
}
.item_box h3 a{
color: #fff;
}
.item_box h3 a:hover{
color: #ffff00;
}
h3+p.obi{
margin-top: .5em;
}
ul.flex_box.col_3 li{
width: calc(92% / 3);
border: 1px dotted #ccc;
padding: .5em;
margin-top: .25em;
background-color: #e8fdfb;
}
ul.disc.flex_box li{
width: calc(94% / 2);
}
.item_box ul.disc li{
border-bottom: 1px dotted #999;
margin-bottom: .5em;
line-height: 1.3;
}
.pf_waku {
  border: 2px solid #ccc;
  border-radius: 6px;
  background-color: #e2f5f7;
  padding: 0 0 .25em .25em;
margin: .75em auto;
}
.pf_waku img{
width: 100%;
}
span.point{
background-color: #ffff00;
border-radius: 6px;
margin-right: 10px;
color: #E00030;
padding: .25em .5em .15em;
vertical-align: middle;
}
ul.sub_star li{
list-style: none;
}
dl.memo dd ul.disc li ul.sub_star li:last-child{
border-bottom: none;
}
ul.sub_star li::before {
  content: '★';
  color: #6ac1b7;
  margin-left: -1em;
}
ul.disc.flex_box li.col_3 {
  width: calc(92% / 3);
}
.sitemap .flex_box{
border: 1px solid #00a591;
margin: 0 auto .5em;
padding: 1em 2em 1em;
}
.sitemap .flex_box dl.site{
width: calc(94% / 2);
margin-left: 1em;
}
.sitemap .flex_box dl.site dt{
border-bottom: 1px dotted #6ac1b7;
margin-top: 7px;
line-height: 1.4;
font-weight: 700;
}
.sitemap .flex_box dl.site dt::before {
  content: '■';
  color: #6ac1b7;
  margin-left: -1em;
}
@media screen and (max-width: 810px) {
img{
width: 100%;
height: auto;
}
.col_1 .logo {
width: 33.5%;
}
.fv .col_1, .greeting .message{
width: 100%;
height: auto;
}
.fv .col_1 .left {
width: 75%;
margin: 0 auto;
}
.fv .col_1 .right {
width: 100%;
margin: 0 auto;
text-align: center;
}
.fv .col_1 .right .flex_box{
justify-content: space-around;
}
.fv .col_1 .right .flex_box .point{
width: 48%;
}
.change{
height: 0;
margin: 0;
padding: 0;
}
    .btn-gNav {
        display: block;
    }

    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.8);
        font-size: 16px;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 50px;
        transition: .3s;
    }

    .gNav.open {
        right: 0;
    }

    .gNav .gNav-menu {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        /*justify-content: center;*/
    }

    .gNav .gNav-menu li {
        width: 86%;
        padding: 15px;
        border-bottom: #525252 1px solid;
		border-left: none;
    }
.gNav .gNav-menu li:last-child {
	border-right: none;
}
    .gNav .gNav-menu li a{
        color: #fff;
    }
.fv{
width: 100%;
max-width: 100%;
margin: 0 auto;
height: auto;
}
.hanbai_box .plan{
width: calc(98% / 2);
text-align: center;
margin-bottom: .5em;
}
.hanbai_box ul.note.flex_box li {
  width: calc(84% / 2);
}
}
@media screen and (max-width: 480px) {
.col_1 .logo {
width: 55.5%;
}
.fv {
background-size:cover;
}
.flex_box.youtube .half {
width: 100%;
}
.greeting{
padding: .5em;		
}
dl.memo dd.flex_box div.merit {
width: 85.5%;
}
dl.memo dd.flex_box div.plan_txt {
width: 100%;
margin: .5em 0;
}
dl.memo dd.flex_box div.plan_list {
display: none;
}
.anbun, ul.flex_box.col_3 li, ul.disc.flex_box li.col_3, ul.disc.flex_box li{
width: 100%;
}
.fv_katazuke .col_3 {
width: 44%;
}
.sub_box {
  width: calc(96% / 3);
}
.flex_box.note div {
  width: calc(84% / 3);
}
.sitemap .flex_box{
padding: .5em;
}
.sitemap .flex_box dl.site{
width: 100%;
margin-left: 1em;
}
.sp{
display: block;
}
}