@charset "utf-8";
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, address, img, dl, dt, dd, ol, ul, li, form, label, table, tr, th, td {
font-family: "メイリオ", "Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS P Gothic","Osaka",Verdana,Arial,Helvetica,sans-serif;
margin: 0;
padding: 0;
font-size: 18px;
line-height: 1.5;
list-style: none;
}
body {
background-color: #eaeaea;
}
header{
background-color: #fff;
}
header .col_1.flex_box{
justify-content: space-between;
align-items: flex-end;
}
ol,
ul {
    list-style: none;
    list-style-type: none;
}
section.white{
background-color: #fff;
padding: 1em 0;
}
a {
    text-decoration: none;
    color: #004787;
    letter-spacing: 0.1em;
}
a:hover {
    text-decoration: none;
    color: #277eb3;
}
.flex_box{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.col_1, .contents_block, .main_contents{
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
}
.main_contents{
box-sizing: border-box;
}
.main_contents.foot{
margin: 1em auto .5em;
}
.main_contents.foot .site_list li{
list-style: disc;
border-bottom: 1px dotted #999;
line-height: 100%;
margin-bottom: 5px;
text-align: left;
}
p.t_sub{
background-color: #277eb3;
color: #fff;
width: 45%;
padding: .45em .75em .25em;
margin: 0 auto .75em;
border-radius: 25px;
text-align: center;
}
p.t_sub a{
color: #fff;
font-weight: 700;
}
.col_1 .logo{
	width: 26.5%;
	height: 62px;
}
#head-nav .flex_box .half{
width: 49.5%;
}
span.price {
  font-size: 100%;
  font-weight: 700;
  color: #DB002F;
}
.movie_box {
width: 44%;
margin-top: 10px;
}
.movie_box img{
  width: 100%;
}
.common_block{
border: 1px solid #277eb3;
padding: 1em;
box-sizing: border-box;
}
.main_contents h2{
font-weight: bold;
background-color: #4c9ac0;
color: #fff;
padding: 0.5em 1em calc(0.5em - 6px);
position: relative;
margin: 2em 0 .75em;
font-size: 1.4em;
}
.main_contents h2::after {
  content: '';
  background-color: #4c9ac0;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -6px;
  left: 0;
}
.main_contents h2 a{
font-weight: bold;
color: #fff;
font-size: 100%;
}
.main_contents h2 a:hover{
color: #ffff00;
}
.futomi{
height: 0;
}
.futomi img{
	width: 0;
	height: 0;
}
body{
margin-bottom: 55px;
}
.foot_info{
background-color: #277eb3;
height: 55px;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding-top: 5px;
}
span.red{
font-weight: 700;
color: #db002f;
}
.table_design01 {
  border-collapse: collapse;
  width: 100%;
}
.table_design01 th, .table_design01 td {
  border: 2px solid #fff;
  background-color: #e6f1f6;
  padding: 1em;
  text-align: left;
}
.table_design01 th {
  background-color: #4d9bc1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 18%;
  min-width: 4em;
}
.table_design01 td li{
list-style: disc;
margin-left: 1em;
}
table.cost th, table.cost td {
    border: solid 1px #ccc;  /* 枠線指定 */
    padding: 10px;      /* 余白指定 */
}
table.cost th{
background-color: #1fb8ca;
color: #fff;
}
table.cost {
    border-collapse:  collapse; /* セルの線を重ねる */
}
table.cost td{
text-align: left;
}
table.cost td.center{
text-align: center;
}
.center{
text-align: center;
margin: 0 auto;
}
.change{
background-color: #277eb3;
height: 66px;
padding-top: 1px;
color: #fff;
text-align: center;
}
.hamburger {
    margin: 18px auto;
    width: 100%;
    max-width: 1090px;
    display: flex;
    justify-content: space-between;
	color: #fff;
}
.hamburger .btn-gNav {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 12;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #277eb3;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span:nth-child(1) {
    top: 0;
}

.hamburger .btn-gNav span:nth-child(2) {
    top: 10px;
}

.hamburger .btn-gNav span:nth-child(3) {
    top: 20px;
}

.hamburger .btn-gNav.open span:nth-child(1) {
    background: #277eb3;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.hamburger .btn-gNav.open span:nth-child(2),
.hamburger .btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #277eb3;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn-gNav {
    display: none;
}

.gNav .gNav-menu {
    display: flex;
    justify-content: space-between;
}

.gNav .gNav-menu li {
    margin: 0 auto;
    padding: 0 5px;
	border-left: 1px solid #fff;
}
.gNav .gNav-menu li:last-child {
	border-right: 1px solid #fff;
}
.gNav .gNav-menu li a{
margin: 0 11px;
color: #fff;
font-weight: 700;
font-size: 13px;
}
#page-top {
  position: fixed;
  bottom: 66px;
  right: 5px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
background: #ab101b;
text-decoration: none;
color: #fff;
width: 43px;
padding: 16px 5px;
text-align: center;
display: block;
border-radius: 32px;
opacity: 0.9;
transition: all .3s ease;
font-size: 14px;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}
#footer{
	margin-top: 1em;
	background-color: #277eb3;
	padding: .5em 0;
}
#footer .col_1.flex_box{
justify-content: space-between;
}
#footer p{
	text-align: left;
}
#footer p.site_name a{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 20px;
	color: #fff;
	font-weight: 700;
}
#footer p.site_name a:hover{
	color: #ffff00;
}
#footer p.address, #footer p.tel{
	color: #fff;
	font-size: 16px;
}
#footer .sitemap{
	text-align: left;
	margin-top: 1.5em;
	color: #fff;
}
#footer .sitemap a{
	color: #fff;
	font-size: 16px;
}
#footer .sitemap a:hover{
	color: #ffff00;
}
.ft.sp .flex_box, .sp{
display: none;
}


/* 通常サイズのブラウザに適用する基本的なテーブルのスタイル */
table{
  border-collapse: collapse; /* セルの境界線を重ね合わせるため、ボーダーを重ねる */
  width: 100%; /* テーブルの幅を100%に設定 */
}

.responsive-table th,
.responsive-table td{
  padding: 15px; /* セル内のコンテンツとセルの境界線の間に余白を設ける */
  border: solid 1px #ccc; /* セルの境界線のスタイルを設定 */
  text-align:center; /* セル内のテキストを中央揃えに設定 */
  box-sizing:border-box; /* ボックスのサイズをコンテンツボックスに設定 */
}

.responsive-table th {
  width:19%;
  background: #1fb8ca; /* 背景色を設定 */
  color: #fff; /* テキスト色 */
}
.responsive-table td{
  text-align:left; /* セル内のテキストを中央揃えに設定 */
}
.responsive-table td ul li{
list-style: disc;
margin-left: 1em;
}
a.youtubesm {
  display: block;
  position: relative;
  line-height: 0.6;
}
a.youtubesm:before {
  content: "";
  background-image: url(https://shukatsu-koredeyoshi.jp/images/yt_icon_mono_light.png);
  display: inline-block;
  background-size: contain;
  width: 68px;
  height: 48px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.9;
}
.link_btn a {
    padding: 0.5em 0;
    display: block;
    text-align: center;
    color: #fff;
    font-weight: bold;
    background-color: #00aa03;
    margin-bottom: 0.5em;
    position: relative;
    -webkit-transition: none;
    transition: none;
    box-shadow: 0 4px 0 #007a02;
    border-radius: 3px;
    margin-top: 5px;
}
.pc_type_menu a:hover {
  font-weight: bold;
  color: #000dbb;
  background: #fcbe4c;
}

/* ブラウザサイズが600px以下になったときのスタイル */
@media screen and (max-width: 600px) {
  .responsive-table {
    width: 100%; /* テーブルの幅を100%に設定 */
  }
  
.responsive-table th,
.responsive-table td {
    display: block; /* ブロック要素として表示 */
    width: 100%; /* 幅を100%に設定 */
    border-bottom:none; /* セルの下部の境界線を削除 */
  }
  
  .responsive-table tr:last-child{
    border-bottom: solid 1px #ccc; /* 最後の行の下部に境界線を追加 */
  }
}


@media screen and (max-width: 810px) {
.tab,.pc{
display: block;
}
.sp, .navi.flex_box, .shacho{
display: none;
}
body {
	}
img{
width: 100%;
height: auto;
}
.col_1 .logo {
width: 36.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) {
.tab,.pc,.hidden{
display: none;
}
.sp, .ft.sp .flex_box{
display: block;
}
.ft.sp .flex_box{
display: flex;
}
.col_1 .logo {
width: 65.5%;
}
.fv .col_1 .left {
width: 90%;
}
.fv .col_1 .right .flex_box .point{
font-size: 19px;
}
.flex_box.work div{
width : calc(96% / 2) ; 
}
.hanbai_box .plan{
width: 100%;
margin: 0 auto .75em;
}
.hanbai_box .flex_box.ser .plan{
width : calc(96% / 2) ; 
margin: 0 auto .75em;
}
.hanbai_box ul.note, .follow_box ul.note{
margin-left: 0;
}
.hanbai_box ul.note.flex_box2 li {
  width: 100%;
}
.hanbai_box ul.note.flex_box li {
    width: 100%;
  }
.kyokai{
padding-left: .5em;
}
.movie_box {
  width: 100%;
}
table.keihi th, table.keihi td {
    border: solid 1px #ccc;  /* 枠線指定 */
    padding: 10px;      /* 余白指定 */
}
table.keihi th{
background-color: #1fb8ca;
color: #fff;
}
table.keihi {
    border-collapse:  collapse; /* セルの線を重ねる */
}
table.keihi td{
text-align: left;
}
table.keihi td.center{
text-align: center;
background-color: #EDFEFF;
}
.main_contents.foot{
display: none;
}
footer.ft{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background: #44aa33;
box-sizing: border-box;
}
footer.ft a{
color: #fff;
display: block;
font-size: 24px;
}
footer.ft p{
  font-size: 50%;
}
footer.ft .container .flex_box div{
width : calc(100% / 3) ;
text-align: center;
color: #fff;
line-height: 100%;
padding: 5px 0 2px;
}
footer.ft .container .flex div.tel{
background-color: #45aeff;
}
footer.ft .container .flex div.mail{
background-color: #f389a5;
}
footer.ft .container .flex div.line{
background-color: #00c462;
}
footer.ft .container .flex div i{
font-size: 1.6em;
line-height: 100%;
}
footer.ft .container .flex div span{
font-size: 12px;
}
}