 /*
Theme Name: Susty Child
Theme URI: https://sustywp.com
Template: susty-master
Author: Jack Lenox
Author URI: https://blog.jacklenox.com
Description: A theme for WordPress focused on performance and sustainability.
Version: 1.0.0.1557919383
Updated: 2019-05-15 20:23:03

*/

/*--------------------------------------------------------------
## リセット
--------------------------------------------------------------*/

* {
    margin: 0px;
    padding: 0px;
}

ul {
  list-style: none;
}

a{ text-decoration: none!important; }

a:link {
      color: #000;
      text-decoration: none;
}

a:visited {
      color: #000;
      text-decoration: none;
}

a:hover {
    color: #000;
    text-decoration: none;
	border-bottom: 0;
}

article a{
    background: none;
    border-bottom: none;
    line-height: 1.6em;
}

/*【日本語書体設定のみ】おすすめのゴシック体のCSS(font-family)設定 */
body{
     font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif!important;
}

/*--------------------------------------------------------------
## 共通設定
--------------------------------------------------------------*/



/* レイアウト */
.block-middle {
    display: flex;
    justify-content: center;
    align-items: center;
}

.photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-left{ width:50%; }
.photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-right{ width:50%; }
.photo-str-layout-5_5-5_5-100 .flex-2-box .flex-2-box-left{ width:50%; }
.photo-str-layout-5_5-5_5-100 .flex-2-box .flex-2-box-right{ width:50%; }
/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
    .photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-left{ width:60%; }
    .photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-right{ width:40%; }
}
/* ##### 画面の横幅640ピクセル以下 ##### */
@media screen and (max-width: 640px) {
    .photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-left{ width:100%; }
    .photo-str-layout-6_4-5_5-100 .flex-2-box .flex-2-box-right{ width:100%; }
    .photo-str-layout-5_5-5_5-100 .flex-2-box .flex-2-box-left{ width:100%; }
    .photo-str-layout-5_5-5_5-100 .flex-2-box .flex-2-box-right{ width:100%; }
}

/* フォント */

/* ホバー */

.hover-lightup:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;

}

/* 枠 */

.waku-kasen-2px-gray {
  border-bottom: solid 2px #eee;
  padding-bottom:2em;
  margin-bottom:3em;
}

/* 文字装飾 */

.fontweight800 {font-weight: 800;}

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

/* サイズ */

.width100 {width:100%;}
.width80 {width:80%;}

.padding-lr-1em {padding-left: 1em; padding-right: 1em;}
.padding-top-0 {padding-top:0;}
.padding-top-20px {padding-top:20px;}

.padding-1em-res640{padding: 1em;}

.padding10_top0 {padding:0 10px 10px 10px;}
.padding10px {padding:10px;}
.padding1em {padding:1em;}

/* ##### 画面の横幅640ピクセル以下 ##### */
@media screen and (max-width: 640px) {
    .padding-1em-res640{padding: 1em 0;}
}

.margin_v_big{margin:30px 0}
@media only screen and (max-width: 768px) {.margin_v_big{margin:20px 0}}
@media only screen and (max-width: 640px) {.margin_v_big{margin:10px 0}}

.marginbottom_mini {margin-bottom:20px!important;}
.marginbottom_small {margin-bottom:30px!important;}
.marginbottom_middle {margin-bottom:40px!important;}
.marginbottom_large {margin-bottom:60px!important;}

.margintop_mini {margin-top:20px!important;}
.margintop_small {margin-top:30px!important;}
.margintop_middle {margin-top:40px!important;}
.margintop_large {margin-top:60px!important;}

.margintop_mini {margin-top:20px;}

.margintopm20{ margin-top:20px; }
.margin-bottom-10px{ margin-bottom:10px; }

.margin_v_1em {margin:1em 0!important;}
.margin-bottom-3em{margin-bottom:3em;}

.grad4 {
 display: inline-block;
 padding: .5em 1em;
 background: linear-gradient(#6795fd 0%, #67ceff 100%);
 color: #fff;
}
.grad4:hover {
 background: linear-gradient(#6795fd 0%, #67ceff 70%);
}

.img_marginbottom20{ width:100%; height:auto; margin-bottom:20px; }
.img_marginbottom1em{ width:100%; height:auto; margin-bottom:1em; }
.img_marginbottom2em{ width:100%; height:auto; margin-bottom:2em; }
.img_marginbottom3em{ width:100%; height:auto; margin-bottom:3em; }
@media only screen and (max-width: 640px) { .img_marginbottom3em{ margin-bottom:2em; } }

.white_bold {color:#fff;font-weight: bold;}

.lineheight150{line-height:150%!important;}

.flex-box-center{
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
}

.flex-box-right{
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

.flex-vertical-middle{
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
}


p.blue-box, p.pink-box, p.orange-box{
  vertical-align: middle;
  position: relative;
  font-size: 0.8em;
  font-weight: bold;
  padding: 0.15em 0.3em;
  text-decoration: none;
  color: #FFF;
  background: #00bcd4;
  transition: .4s;
  margin: 0;
}

p.pink-box{background: #ff69b4;}
p.orange-box{background: #ff7f50;}

.ymd-box{
    vertical-align: middle;
    font-size: 0.8em;
    padding-left:3px;
    margin: 0;
}

.yokonarabi{display: flex;align-items: center;}

.padding-1em{
	padding:1em;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 640px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

/*--------------------------------------------------------------
文字の大きさ
--------------------------------------------------------------*/

/* p_big_01　通常よりも大きく、スマホになると1列になり再び大きくなる */
.p_big_01 { font-size:24px; line-height: 1.5em;}
.p_big_01 br{ line-height: 2em; }

/* p_middle_01　通常サイズ、スマホになると1列になり再び大きくなる */
.p_middle_01 { font-size:18px; line-height: 1.5em;}
.p_middle_01 br{ line-height: 2em; }

/* midashi_big_01　通常よりも大きい見出し */
.midashi_big_01 { font-size:20px; line-height: 1.5em; }
.midashi_big_02 h2{ font-size:28px; line-height: 1.5em; }

/* ボタンの文字の大きさ */
.btn-str-mid-01 {font-size:18px; line-height: 1.5em;}

/* ##### （大画面PC）画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    .p_big_01 {font-size:25px;}
    .p_middle_01{font-size:20px;}
    .midashi_big_01 { font-size:20px; }
    .midashi_big_02 { font-size:28px; }
    .btn-str-mid-01 {font-size:20px; line-height: 1.5em;}
}
/* ##### （普通PC）画面の横幅769～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .p_big_01 { font-size:calc( 20px + 4 * (100vw - 769px) / 256); }
    .p_middle_01{ font-size:calc( 16px + 4 * (100vw - 769px) / 256); }
    .midashi_big_01 { font-size:calc( 18px + 2 * (100vw - 769px) / 256); }
    .midashi_big_02 { font-size:calc( 26px + 2 * (100vw - 769px) / 256); }
    .btn-str-mid-01 { font-size:calc( 14px + 4 * (100vw - 769px) / 256); }
}
/* ##### （タブレット縦）画面の横幅641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
    .p_big_01 {font-size:calc( 16px + 4 * (100vw - 641px) / 128); }
    .p_middle_01 {font-size:calc( 12px + 4 * (100vw - 641px) / 128); }
    .midashi_big_01 { font-size:16px; }
    .midashi_big_02 { font-size:calc( 24px + 2 * (100vw - 641px) / 128); }
}
/* ##### （スマホ大の縦）画面の横幅481～640ピクセル ##### */
@media (min-width: 480px) and (max-width: 640px) {
    .p_big_01 { font-size:calc( 18px + 4 * (100vw - 481px) / 160); }
    .p_middle_01{ font-size:calc( 16px + 4 * (100vw - 481px) / 160); }
    .midashi_big_01 { font-size:16px; }
    .midashi_big_02 { font-size:calc( 22px + 2 * (100vw - 481px) / 160); }
}
/* ##### （スマホ中の縦）画面の横幅321～480ピクセル ##### */
@media (min-width: 320px) and (max-width: 480px) {
    .p_big_01 { font-size:calc( 16px + 2 * (100vw - 321px) / 160); }
    .p_middle_01{ font-size:calc( 14px + 2 * (100vw - 321px) / 160); }
    .midashi_big_01 { font-size:16px; }
    .midashi_big_02 { font-size:calc( 18px + 4 * (100vw - 321px) / 160); }
}
/* ##### （スマホ小の縦）画面の横幅320ピクセル以下 ##### */
@media only screen and (max-width: 320px) {
    .p_big_01 { font-size:16px; }
    .p_middle_01{ font-size:14px; }
    .midashi_big_01 { font-size:16px; }
    .midashi_big_02 { font-size:18px; }
}

/*--------------------------------------------------------------
文字の装飾
--------------------------------------------------------------*/

.text-center {text-align: center;}
.white-space-nowrap {white-space: nowrap;}

/*--------------------------------------------------------------
ふきだし
--------------------------------------------------------------*/

.balloon1-right {
    position: relative;
    display: inline-block;
    margin: 0 15px 0 0;
    padding: 7px 5px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #e0edff;
}

.balloon1-right:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #e0edff;
}

/* 吹き出し本体 */
.balloon_right{
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #ffffff;
  background-color: #4682B4;
  margin-right:10px;
}

/* 三角アイコン */
.balloon_right::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -15px;
  top: 20px;
  border-left: 15px solid #4682B4;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

.balloon_left{
  position: relative;
  padding: 20px;
  border-radius: 10px;
  color: #ffffff;
  background-color: #DB7093;
    margin-left:10px;
}

/* 三角アイコン */
.balloon_left::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -15px;
  top: 20px;
  border-right: 15px solid #DB7093;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}

/*--------------------------------------------------------------
## admin-bar
--------------------------------------------------------------*/
.admin-bar header#masthead{
  top:35px;  
}
@media screen and (max-width: 782px) {
  .admin-bar header#masthead{
    top:47px;  
  }
}

/*--------------------------------------------------------------
## Page
--------------------------------------------------------------*/

/* ##### 画面の横幅1025ピクセル以上 ##### */
@media only screen and (min-width: 1025px) {
#page {
	background-repeat : repeat; 
    background-image: url("images/backpattern05.png");
    padding-bottom:3em;
    }
}

/*--------------------------------------------------------------
## Content
--------------------------------------------------------------*/
#content {
    max-width: 1024px;
    width:100%;
	margin: 0 auto;
	padding: 2.5em 0 0 0;
    box-shadow: 0 3px 6px rgba(0,0,0,.18);
    background-color: #fff;
}

/*--------------------------------------------------------------
## Section
--------------------------------------------------------------*/

/* ##### 通常のセクション ##### */

section.sec-padding{ padding: 1em; }

/* ##### ランディングページのセクション ##### */

section.sec-padding1{ padding: 1em; }
section.sec-padding2 { padding: 4em; }
section.sec-padding3 { padding: 1em 4em; }

/* ##### （大画面PC）画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    section.sec-padding2 { padding: 4em; }
    section.sec-padding3 { padding: 1em 4em; }
}
/* ##### （普通PC）画面の横幅769～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    section.sec-padding2 { padding: 3em; }
    section.sec-padding3 { padding: 1em 3em; }
}
/* ##### （タブレット縦）画面の横幅641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
    section.sec-padding2 { padding: 2em; }
    section.sec-padding3 { padding: 1em 2em; }
}
/* ##### （スマホ大の縦）画面の横幅481～640ピクセル ##### */
@media (min-width: 480px) and (max-width: 640px) {
    section.sec-padding{ padding: 0.5em; }
    section.sec-padding1{ padding: 0.5em; }
    section.sec-padding2 { padding: 1em; }
    section.sec-padding3 { padding: 0.5em; }
}
/* ##### （スマホ中の縦）画面の横幅321～480ピクセル ##### */
@media (min-width: 320px) and (max-width: 480px) {
    section.sec-padding{ padding: 0.5em 0; }
    section.sec-padding1{ padding: 0.5em; }
    section.sec-padding2 { padding:0.5em; }
    section.sec-padding3 { padding:0.5em; }
}
/* ##### （スマホ小の縦）画面の横幅320ピクセル以下 ##### */
@media only screen and (max-width: 320px) {
    section.sec-padding{ padding: 0.5em 0; }
    section.sec-padding1{ padding: 0.5em; }
    section.sec-padding2 { padding:0.5em; }
    section.sec-padding3 { padding:0.5em; }
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

header#masthead{
	position: fixed;
	top:0;
    z-index: 99;
	box-shadow: 0 3px 6px rgba(0,0,0,.18);
	margin:0 0 1em 0;
	padding:0.5em 0;
	max-width: 100%;
	width:100%;
	background-color: #fff;
}
header#masthead #inner-header {
	display: flex;
	align-items: center;
    max-width: 100%;
    width:100%;
	margin: 0 auto;
	padding: 0 0.5em;
}

header#masthead #inner-header a {
	border-bottom: unset;
}

header#masthead #inner-header > a {
	font-weight: bold;
}

header#masthead #inner-header .logo_box_all {
    width:100%;
    max-width: 1024px;
    margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
header#masthead #inner-header .logo_box {
    -webkit-flex: 1; flex: 1; width:auto;
	margin:0;
    padding: 0 0.5em;
    display: flex;
    justify-content: center; /*左右中央揃え*/
    align-items: center;     /*上下中央揃え*/
}
header#masthead #inner-header .logo_str {
	width: 60%;
	display: -webkit-flex;
 	display: flex;
 	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 	align-items: center; /* 縦方向中央揃え */
 	-webkit-justify-content: left; /* 横方向左揃え（Safari用） */
 	justify-content: left; /* 横方向左揃え */
	margin:0;
	padding: 0 10px 0 0;
}
header#masthead #inner-header .logo_str p.site-title{
	font-size:18px;
	line-height: 1.5em;
	font-weight:normal;
}
header#masthead #inner-header .logo_box img {
	width: 100%;
    height: auto;
     display: table-cell;
    vertical-align: middle;
}

/* ##### 画面の横幅769～1024ピクセル ##### */
@media (min-width: 769px) and (max-width: 1024px) {
    header#masthead #inner-header .logo_str p.site-title{
        font-size: calc(13px + 5 * (100vw - 769px) / 255);
    }
    header#masthead #inner-header .logo_str {
        width:calc(50% + (102.4 * (100vw - 769px) / 255));
    }
}

/* ##### 画面の横幅タブレット641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
        header#masthead #inner-header .logo_str p.site-title{
        font-size: calc(11px + 2 * (100vw - 481px) / 287);
    }

    header#masthead #inner-header .logo_str {
        width:calc(50% - 24px + (24 * (100vw - 481px) / 287));
    }
}

/* ##### 画面の横幅スマートフォン640ピクセル以下（SEは320px） ##### */
@media screen and (max-width: 640px) {
    #content { padding-top: 2.5em; }
	header#masthead #inner-header .logo_box { width: 100%; }
    header#masthead #inner-header .logo_str { width: 100%; padding:10px; display: none;}
    header#masthead #inner-header .logo_str p.site-title{
        font-size: calc(14px + 2 * (100vw - 320px) / 160);
    }
}

/*--------------------------------------------------------------
## グローバルナビ
--------------------------------------------------------------*/

@media only screen and (max-width: 599px) {
    .gmenu li a {
    font-size: 16px;
    display: block;
    }
}

#global_menu {
    width: 100%;
    display: block !important;
}
.gmenu ul {
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
}
.gmenu li a {
    font-size: 20px !important;
    display: block;
    color: #fff;
    text-decoration: none;
    padding: 0;
}
.gmenu ul:after {
    display: block;
    content: "";
    clear: both;
}
.gmenu li {
    float: left;
    width: 20%;
}
@media only screen and (max-width: 480px) {
  .gmenu span {
    display:none;
  }
}

.header-nav {
    width: 100%;
    background-color: #ddd;
}
.header-nav .btn {
    width: 100%;
    font-size: 14px;
    border: 0;
    border-bottom: 4px solid #ccc;
    font-weight: bold;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    -moz-box-shadow: 0 5px 5px -6px rgba(0,0,0,.3);
    -webkit-box-shadow: 0 5px 5px -6px rgba(0,0,0,.3);
    -o-box-shadow: 0 5px 5px -6px rgba(0,0,0,.3);
    box-shadow: 0 5px 5px -6px rgba(0,0,0,.3);
    padding: 10px 0 8px 0;
    margin: 0;
}
.header-nav .btn .btn-block:active, .btn .btn-lg:active {
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
    -moz-box-shadow: inset 0 3px 3px -5px rgba(0,0,0,.3);
    -webkit-box-shadow: inset 0 3px 3px -5px rgba(0,0,0,.3);
    -o-box-shadow: inset 0 3px 3px -5px rgba(0,0,0,.3);
    box-shadow: inset 0 3px 3px -5px rgba(0,0,0,.3);
}
.header-nav .btn-success {
    background-color: #78c2c4;
    border-color: #6699a1;
    text-shadow: 1px 1px 0 #336774;
}
.header-nav .btn-success:hover, .btn-success:focus {
    background-color: #33a6b8;
    border-color: #2b5f75;
}
.header-nav .btn-info {
    background-color: #dc9fb4;
    border-color: #e87a90;
    text-shadow: 1px 1px 0 #b5495b;
}
.header-nav .btn-info:hover, .btn-info:focus {
    background-color: #e16b8c;
    border-color: #9f353a;
}
.header-nav .btn-warning {
    background-color: #f6c555;
    color: #fff!important;
    border-color: #d79a34;
    text-shadow: 1px 1px 0 #c99833;
}
.header-nav .btn-warning:hover, .btn-warning:focus {
    color: #fff;
    background-color: #f5a620;
    border-color: #74673e;
}
.header-nav .btn-danger {
    background-color: #86c166;
    border-color: #7ba23f;
    text-shadow: 1px 1px 0 #516e41;
}
.header-nav .btn-danger:hover, .btn-danger:focus {
    background-color: #00aa90;
    border-color: #42602d;
}

.header-nav .btn-primary {
    background-color: #ffba84;
    border-color: #fb9966;
    text-shadow: 1px 1px 0 #c1693c;
}
.header-nav .btn-primary:hover, .btn-primary:focus {
    background-color: #e79460;
    border-color: #96632e;
}

.header-nav .btn_honbu {
    background-color: #58B2DC;
    border-color: #3A8FB7;
    text-shadow: 1px 1px 0 #2B5F75;
}
.header-nav .btn_honbu:hover, .btn_honbu:focus {
    background-color: #3A8FB7;
    border-color: #006284;
}

.header-nav .btn_fc {
    color:#fff;
    background-color: #DDD23B;
    border-color: #B1B479;
    text-shadow: 1px 1px 0 #6C6024;
}
.header-nav .btn_fc:hover, .btn_fc:focus {
    color:#fff;
    background-color: #A28C37;
    border-color: #867835;
}

.header-nav .btn_contact {
    background-color: #9B90C2;
    border-color: #6E75A4;
    text-shadow: 1px 1px 0 #6A4C9C;
}
.header-nav .btn_contact:hover, .btn_contact:focus {
    background-color: #6E75A4;
    border-color: #4E4F97;
}

.header-nav .btn-pressure {
    margin-bottom: 0;
    position: relative;
}
.header-nav .btn-pressure:focus {
    outline: medium none;
    -moz-outline-style: none;
}
.header-nav .btn-pressure:active, .btn-pressure.active {
    position: relative;
    top: 4px;
    border: 0;
}
.header-nav .btn-sensitive:active, .btn-sensitive.active {
    margin-top: 4px;
    top: 1px;
}

.header-nav .btn {
    font-size: 18px;
    color:#fff;
 }
 @media only screen and (max-width: 767px) {
     .header-nav .btn {
        font-size: 18px;
    }
    .header-nav .btn  span {
        font-size: 0px;
        display: inline-block;
        text-indent: -9999px;
    }
    .header-nav .nav_change_str {font-size:0;}
    .header-nav .nav_change_str:before {font-size: 18px; content: "FC";}
}
@media only screen and (max-width: 599px) {
    .header-nav .btn { font-size: 16px; }
    .header-nav .nav_change_str:before {font-size: 16px;}
}
@media only screen and (min-width: 768px) {
    .header-nav .btn { font-size: 18px; }
}
@media only screen and (min-width: 1190px) {
    .header-nav .btn { font-size: 20px; }
}

/*--------------------------------------------------------------
## 投稿
--------------------------------------------------------------*/

/* h1 */

.post h1{
    position: relative;
    background: #eff4ff;
    padding: 0.3em 0.3em 0.3em 2.0em;
    margin:0.5em 0 1em 0;
    font-size: 28px;
    line-height: 1.5em;
    color: #474747;
    border-radius: 0 10px 10px 0;
}
.post h1:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f075";
    display: inline-block;
    line-height: 1.1em;
    position: absolute;
    padding: 0.4em 0em 0em 0em;
    font-size:1.1em;
    color: white;
    background: #81a1e4;
    font-weight: normal;
    width: 2em;
    text-align: center;
    height: 2em;
    line-height: 40px;
    left: -1.0em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    box-shadow: 0px 2px 1px rgba(181, 202, 160, 0.5);
    border-bottom: solid 2px #4967b4;
}

.post .category-news h1{
    background-color: rgba( 204, 255, 204, 0.55 );
}
.post .category-news h1:before{
    background: #66cdaa;
    border-bottom: solid 2px #2e8b57;
    font-weight: 900;
    content: "\f0a1";
  }

.post .category-event h1{
    background-color: rgba( 240, 169, 134, 0.35 );
}
.post .category-event h1:before{
    background: #ff8c00;
    border-bottom: solid 2px #d2691e;
    font-weight: 900;
    content: "\f274";
}

/* h2 */

.post h2{
    font-size: 2em;
    font-weight: 500;
    padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
    color: #494949;/*文字色*/
    background: #fff;/*背景色*/
    border-left: solid 7px #7db4e6;/*左線*/
    border-bottom: solid 5px #d7d7d7;/*下線*/
}

  /* ##### （大画面PC）画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    .post h1{ font-size: 30px; padding: 0.4em 0.3em 0.3em 2.0em; }
}
/* ##### （普通PC）画面の横幅769～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .post h1 { font-size:calc( 26px + 4 * (100vw - 769px) / 256); padding: 0.4em 0.3em 0.4em 1.8em; }
}
/* ##### （タブレット縦）画面の横幅641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
    .post h1 {font-size:calc( 22px + 4 * (100vw - 641px) / 128); padding: 0.4em 0.3em 0.4em 2.0em; }
}
/* ##### （スマホ大の縦）画面の横幅481～640ピクセル ##### */
@media (min-width: 480px) and (max-width: 640px) {
    .post h1 { font-size:calc( 16px + 2 * (100vw - 481px) / 160); padding: 0.5em 0.3em 0.5em 2.0em; }
}
/* ##### （スマホ中の縦）画面の横幅321～480ピクセル ##### */
@media (min-width: 320px) and (max-width: 480px) {
    .post h1 { font-size:calc( 14px + 2 * (100vw - 321px) / 160); padding: 0.6em 0.3em 0.6em 2.0em; }
}
/* ##### （スマホ小の縦）画面の横幅320ピクセル以下 ##### */
@media only screen and (max-width: 320px) {
    .post h1 { font-size:14px; padding: 0.6em 0.3em 0.6em 2.0em; }
}

/*--------------------------------------------------------------
## パート別見出し
--------------------------------------------------------------*/

/* トップの見出し */
h1.top_midashi {
    font-size: 1em;
    font-weight: 700;
    margin-top: 5px;
    margin-bottom: 12px;
    line-height: 1.4;
    position: relative;
    border-top: dotted 1px gray;
    border-bottom: dotted 1px gray;
    background-color: #fffff4;
    color: #ff6a6a;
    padding: 0.5em 0.5em 0.5em 1.5em;
}
h1.top_midashi:before {
    font-family: "Font Awesome 5 Free";
    font-size: 1em;
    left: 0.25em;
    position: absolute;
    top: 0.5em;
    color: #ff6a6a;
    content: "\f0a1";
}

/* イベント見出し */
h3.midashi-sidebar-icon {
    width:100%;
  font-size:18px;
  position: relative;
  background: #f1f8ff;
  padding: 0.25em 0.5em;
  border-left: solid 2em #5c9ee7;
}
h3.midashi-sidebar-icon:before {
  font-family: "Font Awesome 5 Free";
  content: "\f274";
  position: absolute;
  padding: 0em;
  color: white;
  font-weight: normal;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* ニュース見出し */
h3.midashi-sidebar-icon-news {
    width:100%;
    font-size:18px;
    position: relative;
    background: #add8e6;
    padding: 0.25em 0.5em;
    border-left: solid 2em #5c9ee7;
}
h3.midashi-sidebar-icon-news:before {
  font-family: "Font Awesome 5 Free";
  content: "\f099";
  position: absolute;
  padding: 0em;
  color: white;
  font-weight: normal;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/*------------------------------------------------------------
共通見出し
-------------------------------------------------------------*/

/* アイコン付き見出し h1 */

.midashi-icon-2color {
  border-bottom: solid 3px skyblue;
  position: relative;
}

.midashi-icon-2color:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #ffc778;
  bottom: -3px;
  width: 30%;
}


.midashi_dashed {
  color: #6594e0;/*文字色*/
  /*線の種類（点線）2px 線色*/
  border-bottom: dashed 2px #6594e0;
  line-height: 1.3em;
  padding-bottom:10px;
  margin-bottom:1em;
}

.midashi-normal-blue,.midashi-normal-red,.midashi-normal-green,.midashi-normal-pink,.midashi-normal-yellow,.midashi-normal-orange,.midashi-normal-purple {
    padding: 0.25em 0.5em;/*上下 左右の余白*/
    color: #494949;/*文字色*/
    background: transparent;/*背景透明に*/
}
.midashi-normal-blue{border-left: solid 5px #7db4e6;/*左線*/}
.midashi-normal-red{border-left: solid 5px #dc143c;/*左線*/}
.midashi-normal-green{border-left: solid 5px #3cb371;/*左線*/}
.midashi-normal-pink{border-left: solid 5px #ff69b4;/*左線*/}
.midashi-normal-yellow{border-left: solid 5px #ffd700;/*左線*/}
.midashi-normal-orange{border-left: solid 5px #ff8c00;/*左線*/}
.midashi-normal-purple{border-left: solid 5px #ba55d3;/*左線*/}

/*------------------------------------------------------------
共通ボックス
-------------------------------------------------------------*/
/* ボタン */

.button-50per-min150px {
    width: 50%;
    min-width: 0px150px;
}

/* ボックス */
.box8 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-left: solid 6px #ffc06e;
 background: #fff8e8;
 color: #232323;
}

.box16 {
    width:100%;
    height:100%;
 margin: 2em 0;
 padding: 1.5em 1em;
 background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px, #e9f4ff 3px, #e9f4ff 7px);
}

.box25 {
 position: relative;
 margin: 2em 5px;
 padding: 1.5em 1em;
 border: dashed 2px white;
 background: #fff0cd;
 box-shadow: 0 0 0 5px #fff0cd;
 color: #454545;
}
.box25:after {
 position: absolute;
 top: -7px;
 right: -7px;
 border-width: 0 15px 15px 0;
 border-style: solid;
 border-color: #ffdb88 #fff #ffdb88;
 box-shadow: -1px 1px 1px rgba(0, 0, 0, .15);
 content: "";
}
.box28 {
 position: relative;
 margin: 3em 0 2em;
 padding: 1.5em 1em;
 border: solid 3px #62c1ce;
}
.box28 .box-title {
 display: inline-block;
 position: absolute;
 top: -30px;
 left: -3px;
 height: 28px;
 padding: 0 9px;
 border-radius: 5px 5px 0 0;
 background: #62c1ce;
 color: #fff;
 font-size: 17px;
 vertical-align: middle;
 line-height: 28px;
}
.box28 p {margin-bottom:0;}

.box29 {
 position: relative;
 margin: 0;
 padding: 30px 15px 15px;
 border: solid 2px #ffc107;
}
.box29 .box-title {
 display: inline-block;
 position: absolute;
 top: -2px;
 left: -2px;
 height: 25px;
 padding: 0 9px;
 background: #ffc107;
 color: #fff;
 font-size: 17px;
 vertical-align: middle;
 line-height: 25px;
}
.box29 .box-title:before {
 padding-right: 4px;
 font-family: "Font Awesome 5 Free";
 content: "\f0eb";
}

.sng-box.box33 {
    margin: 26px 0 20px;
}

/** ボックス **/
.sng-box p {
 margin: 0;
 padding: 0;
}
.sng-box .say {margin-bottom: 0}
.sng-box .faceicon {padding-right: 20px;}
.box1 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border: solid 2px #000;
 font-weight: bold;
}
.box2 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border: solid 2px #d1d1d1;
 border-radius: 5px;
 background: #fff;
}
.box3 {
 margin: 2em 0;
 padding: 1.5em 1em;
 background: #edf6ff;
 color: #2c2c2f;
}
.box4 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-top: solid 3px #6bb6ff;
 border-bottom: solid 3px #6bb6ff;
 background: #eef7ff;
 color: #2c2c2f;
}
.box5 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border: double 5px #4ec4d3;
 color: #474747;
}
.box6 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border: dashed 2px #6bb6ff;
 background: #edf6ff;
}
.box7 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-right: double 7px #4ec4d3;
 border-left: double 7px #4ec4d3;
 background: whitesmoke;
 color: #474747;
}
.box8 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-left: solid 6px #ffc06e;
 background: #fff8e8;
 color: #232323;
}
.box9 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-top: solid 6px #f47d7d;
 background: #fceded;
 color: #f47d7d;
 font-weight: bold;
}
.box10 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-top: solid 6px #1dc1d6;
 background: #e4fcff;
 box-shadow: 0 2px 3px rgba(0, 0, 0, .22);
 color: #00bcd4;
}
.box11 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-top: solid 5px #5d627b;
 background: white;
 box-shadow: 0 2px 3px rgba(0, 0, 0, .22);
 color: #5d627b;
}
.box12 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-bottom: solid 6px #aac5de;
 border-radius: 9px;
 background: #c6e4ff;
 color: #5989cf;
 font-weight: bold;
}
.box13 {
 margin: 2em 0;
 padding: 1.5em 1em;
 border-bottom: solid 6px #3f87ce;
 border-radius: 9px;
 background: #6eb7ff;
 box-shadow: 0 2px 3px rgba(0, 0, 0, .22);
 color: #fff;
 font-weight: bold;
}
.box13_shadow {
    padding: 0.5em;
    margin: 1em 0 2em 0;
    color: #FFF;
    background: #6eb7ff;
    border-bottom: solid 6px #3f87ce;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
    border-radius: 9px;
}
.box13_shadow p {
    margin: 0; 
    padding: 0;
}

.box14 {
 margin: 2em 10px;
 padding: 1.5em 1em;
 border: dashed 2px white;
 background: #d6ebff;
 box-shadow: 0 0 0 10px #d6ebff;
}
.box14-cloth{
    padding: 0.2em 0.5em;
    margin: 2em 0;
    background: #d6ebff;
    box-shadow: 0px 0px 0px 10px #d6ebff;
    border: dashed 2px white;
}
.box14-cloth p {
    margin: 0; 
    padding: 0;
}

.box15 {
 margin: 2em 10px;
 padding: 1.5em 1em;
 border: dashed 2px #ffc3c3;
 border-radius: 8px;
 background: #ffeaea;
 box-shadow: 0 0 0 10px #ffeaea;
 color: #565656;
}
.box16 {
 margin: 2em 0;
 padding: 1.5em 1em;
 background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px, #e9f4ff 3px, #e9f4ff 7px);
}
.box17 {
 position: relative;
 margin: 2em 0;
 padding: 1em 2em;
 border-top: solid 2px black;
 border-bottom: solid 2px black;
}
.box17:before,
.box17:after {
 position: absolute;
 top: -10px;
 width: 2px;
 height: -webkit-calc(100% + 20px);
 height:   calc(100% + 20px);
 background-color: black;
 content: "";
}
.box17:before {
 left: 10px;
}
.box17:after {
 right: 10px;
}
.box18 {
 position: relative;
 margin: 2em 0;
 padding: 1.5em 1em;
 border: solid 2px #ffcb8a;
 border-radius: 3px 0 3px 0;
}
.box18:before,
.box18:after {
 position: absolute;
 width: 10px;
 height: 10px;
 border: solid 2px #ffcb8a;
 border-radius: 50%;
 content: "";
}
.box18:after {
 top: -12px;
 left: -12px;
}
.box18:before {
 right: -12px;
 bottom: -12px;
}
.box19 {
 position: relative;
 padding: 1.5em 1em;
}
.box19:before,
.box19:after {
 display: inline-block;
 position: absolute;
 width: 20px;
 height: 30px;
 content: "";
}
.box19:before {
 top: 0;
 left: 0;
 border-top: solid 1px #5767bf;
 border-left: solid 1px #5767bf;
}
.box19:after {
 right: 0;
 bottom: 0;
 border-right: solid 1px #5767bf;
 border-bottom: solid 1px #5767bf;
}
.box20 {
 position: relative;
 top: 0;
 margin: 2em 0;
 padding: 1.5em 1em;
 background: #efefef;
}
.box20:before,
.box20:after {
 display: inline-block;
 box-sizing: border-box;
 position: absolute;
 top: 0;
 width: 15px;
 height: 100%;
 content: "";
}
.box20:before {
 left: 0;
 border-top: dotted 2px #15adc1;
 border-bottom: dotted 2px #15adc1;
 border-left: dotted 2px #15adc1;
}
.box20:after {
 right: 0;
 border-top: dotted 2px #15adc1;
 border-right: dotted 2px #15adc1;
 border-bottom: dotted 2px #15adc1;
}
.box21 {
 margin: 2em 0;
 padding: 1.3em;
 background: linear-gradient(to left, #92d2f8, #c4baff);
 box-shadow: 0 5px 15px rgba(0, 0, 0, .13);
 color: #fff;
 font-weight: bold;
}
.box22 {
 margin: 1em 0;
 padding: 1.5em 1em;
 border-left: solid 6px #6bb6ff;
 background: #f6f6f6;
 box-shadow: 0 2px 3px rgba(0, 0, 0, .33);
}
.box23 {
 position: relative;
 max-width: 400px;
 margin: 2em 0 2em 40px;
 padding: 20px;
 border-radius: 30px;
 background: #fff0c6;
}
.box23:before {
 position: absolute;
 bottom: 0;
 left: -40px;
 color: #fff0c6;
 font-family: FontAwesome;
 font-size: 15px;
 content: "\f111";
}
.box23:after {
 position: absolute;
 bottom: 0;
 left: -23px;
 color: #fff0c6;
 font-family: FontAwesome;
 font-size: 23px;
 content: "\f111";
}
.box23_balloon {
    position: relative;
    margin: 2em 0 2em 40px;
    padding: 8px 15px;
    background: #fff0c6;
    border-radius: 30px;
}
.box23_balloon:before{font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f111";
    position: absolute;
    font-size: 15px;
    left: -40px;
    bottom: 0;
    color: #fff0c6;
}
.box23_balloon:after{
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    content: "\f111";
    position: absolute;
    font-size: 23px;
    left: -23px;
    bottom: 0;
    color: #fff0c6;
}
.box23_balloon p {
    margin: 0; 
    padding: 0;
}
.box24 {
 position: relative;
 margin: 2em 0;
 padding: .8em 1em;
 background: #e6f4ff;
 color: #5c98d4;
 font-weight: bold;
}
.box24:after {
 position: absolute;
 top: 100%;
 left: 30px;
 width: 0;
 height: 0;
 border: 15px solid transparent;
 border-top: 15px solid #e6f4ff;
 content: "";
}
.box24_fukidashi {
    position: relative;
    padding: 0.5em 0.7em;
    margin: 2em 0;
    background: #ffe4e1;
    color: #db7093;
    font-weight: bold;
}
.box24_fukidashi:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 60px;
    border: 15px solid transparent;
    border-top: 15px solid #ffe4e1;
    width: 0;
    height: 0;
}
.box24_fukidashi p {
    margin: 0; 
    padding: 0;
}
.box24_fukidashi_r {
    position: relative;
    padding: 0.5em 0.7em;
    margin: 2em 0;
    background: #e6f4ff;
    color: #5c98d4;
    font-weight: bold;
}
.box24_fukidashi_r:after {
    position: absolute;
    content: '';
    top: 100%;
    right: 60px;
    border: 15px solid transparent;
    border-top: 15px solid #e6f4ff;
    width: 0;
    height: 0;
}
.box24_fukidashi_r p {
    margin: 0; 
    padding: 0;
}
.box25 {
 position: relative;
 margin: 2em 5px;
 padding: 1.5em 1em;
 border: dashed 2px white;
 background: #fff0cd;
 box-shadow: 0 0 0 5px #fff0cd;
 color: #454545;
}
.box25:after {
 position: absolute;
 top: -7px;
 right: -7px;
 border-width: 0 15px 15px 0;
 border-style: solid;
 border-color: #ffdb88 #fff #ffdb88;
 box-shadow: -1px 1px 1px rgba(0, 0, 0, .15);
 content: "";
}
.box-title {
 font-weight: bold;
}
.box26 {
 position: relative;
 margin: 2em 0;
 padding: 1.5em 1em;
 border: solid 3px #95ccff;
 border-radius: 8px;
}
.box26 .box-title {
 display: inline-block;
 position: absolute;
 top: -10px;
 left: 10px;
 padding: 0 9px;
 background: #fff;
 color: #95ccff;
 font-size: 19px;
 line-height: 1;
}
.box26 .box-title:before {
 padding-right: 4px;
 font-family: FontAwesome;
 content: "\f02e";
}
.box26-point {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
}
.box26-point .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box26-point p {
    margin: 0; 
    padding: 0;
}

.box27 {
 position: relative;
 margin: 2em 0;
 padding: 1.5em 1em 1em;
 border: solid 3px #ed8583;
 border-radius: 8px;
}
.box27 .box-title {
 display: inline-block;
 position: absolute;
 top: -10px;
 left: 10px;
 padding: 0 9px;
 background: #fff;
 color: #ed8583;
 font-size: 19px;
 line-height: 1;
}
.box27 .box-title:before {
 padding-right: 4px;
 font-family: FontAwesome;
 content: "\f071";
}
.box28 {
 position: relative;
 margin: 3em 0 2em;
 padding: 1.5em 1em;
 border: solid 3px #62c1ce;
}
.box28 .box-title {
 display: inline-block;
 position: absolute;
 top: -30px;
 left: -3px;
 height: 28px;
 padding: 0 9px;
 border-radius: 5px 5px 0 0;
 background: #62c1ce;
 color: #fff;
 font-size: 17px;
 vertical-align: middle;
 line-height: 28px;
}
.box29 {
 position: relative;
 margin: 2em 0;
 padding: 30px 15px 15px;
 border: solid 2px #ffc107;
}
.box29 .box-title {
 display: inline-block;
 position: absolute;
 top: -2px;
 left: -2px;
 height: 25px;
 padding: 0 9px;
 background: #ffc107;
 color: #fff;
 font-size: 17px;
 vertical-align: middle;
 line-height: 25px;
}
.box29 .box-title:before {
 padding-right: 4px;
 font-family: FontAwesome;
 content: "\f0eb";
}
.box30 {
 margin: 2em 0;
 padding: 15px 15px 10px;
 background: #dcefff;
}
.box30 .box-title:before {
 padding-right: 4px;
 font-family: FontAwesome;
 content: "\f00c";
}
.box30 .box-title {
 margin: -15px -15px 15px;
 padding: 4px;
 background: #5fb3f5;
 color: #fff;
 font-size: 1.2em;
 text-align: center;
}
.box30 p,.box31 p {
 margin: 0 0 5px;
}
.box30_point {
    margin: 2em 0;
    background: #f1f1f1;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.22);
}
.box30_point .box-title {
    font-size: 1.2em;
    background: #5fc2f5;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.box30_point p {
    padding: 15px 20px;
    margin: 0;
}
.box31,.box32,.box33 {
 margin: 2em 0;
 padding: 0 15px 10px;
 background: #edf6ff;
 box-shadow: 0 2px 4px rgba(0, 0, 0, .15);
}
.box31 .box-title,
.box32 .box-title,
.box33 .box-title {
 margin: -15px -15px 15px;
 padding: 4px;
 background: #5fc2f5;
 color: #fff;
 font-size: 1.2em;
 text-align: center;
}
.box32,
.box33 {
 background: #fff9eb;
}
.box32 .box-title {
 background: #f5a15f;
}
.box33 .box-title {
 background: #f46b6b;
}

.sample-box-11 {
    background-color: #fff;
    margin: 2em 0;
    padding: 2em;
    position: relative;
    z-index: 1;
}
.sample-box-11::before,
.sample-box-11::after {
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
    content: "";
    height: 100%;
    position: absolute;
    width: 100%;
}
.sample-box-11::before {
    background-color: rgba(255, 255, 255, .5);
    left: 0;
    top: 0;
    z-index: -1;
}
.sample-box-11::after {
    background-color: #a4f5c8;
    top: 5px;
    left: 5px;
    z-index: -2;
}

/*--------------------------------------------------------------
## sango見出し
--------------------------------------------------------------*/

.hh35 {
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    height: 50px;/*リボンの高さ*/
    padding: 0 30px;/*横の大きさ*/
    background: #f57a78;/*塗りつぶし色*/
    color: #fff;/*文字色*/
    font-size: 1.3em;/*文字の大きさ*/
    font-weight:900;
    text-align: center;
    vertical-align: middle;
    line-height: 50px;/*リボンの高さ*/
}
.hh35:before,
.hh35:after {
    position: absolute;
    z-index: 1;
    width: 0;
    height: 0;
    content: "";
}
.hh35:before {
top: 0;
left: 0;
border-width: 25px 0 25px 15px;
border-style: solid;
border-color: transparent transparent transparent #fff;
}
.hh35:after {
top: 0;
right: 0;
border-width: 25px 15px 25px 0;
border-style: solid;
border-color: transparent #fff transparent transparent;
}


/* 文字装飾 */
.keiko_pink {
    background: linear-gradient(transparent 50%, rgba(255,105,180,.24) 50%);
}
.keiko_purple {
    background: linear-gradient(transparent 50%, rgba(119,66,141,.24) 50%);
}
.keiko_glay {
    background: linear-gradient(transparent 50%, rgba(78,78,78,.24) 50%);
}

.keiko_blue {
 background: linear-gradient(transparent 50%, rgba(107, 182, 255, .24) 50%);
}
.keiko_yellow {
 background: linear-gradient(transparent 50%, rgba(255, 252, 107, .69) 50%);
}
.keiko_green {
 background: linear-gradient(transparent 50%, rgba(151, 232, 154, .69) 50%);
}
.keiko_red {
 background: linear-gradient(transparent 50%, rgba(255, 88, 88, 0.24) 50%);
}
.labeltext {
 display: inline-block;
 margin-right: 5px;
 padding: 5px;
 color: #fff;
 font-size: .9em;
 font-weight: bold;
 line-height: 1;
}
.text_orange {color:orange;}

/*--------------------------------------------------------------
## ハンバーガーメニュー
--------------------------------------------------------------*/

#nav-drawer {
    position: relative;
  }
  
  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display:none;
  }
  
  /*アイコンのスペース*/
  #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
    padding-top:5px;
  }
  
  /*ハンバーガーアイコンをCSSだけで表現*/
  #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 25px;/*長さ*/
    border-radius: 3px;
    background: #888;
    display: block;
    content: '';
    cursor: pointer;
  }
  #nav-open span:before {
    bottom: -8px;
  }
  #nav-open span:after {
    bottom: -16px;
  }
  
  /*閉じる用の薄黒カバー*/
  #nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
  }
  
  /*中身*/
  #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;/*最前面に*/
    width: 75%;/*右側に隙間を作る（閉じるカバーを表示）*/
    max-width: 512px;/*最大幅（調整してください）*/
    height: auto;
    background: #fff;/*背景色*/
    transition: .3s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);/*左に隠しておく*/
  }
  
  /*チェックが入ったらもろもろ表示*/
  #nav-input:checked ~ #nav-close {
    display: block;/*カバーを表示*/
    opacity: .5;
  }
  
  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示（右へスライド）*/
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
  }

  #nav-drawer .honbu-otoiawase-button{
    max-width: 90%;
    margin: 10px auto;
}

/*--------------------------------------------------------------
## 検索
--------------------------------------------------------------*/

#nav-content form.search-form {
    width:100%;
    padding:10px;
    background: #87ceeb;/*背景色*/
    display: flex;
  justify-content: center;
  align-items: center;
}

#nav-content form.search-form label {
    width:100%;
    margin: 0;
    padding-right:10px;
}
#nav-content form.search-form .search-field {
    width:100%;
}

#nav-content .nav-drawer-buttons {
    padding:20px 10px 10px 10px;
}

/*--------------------------------------------------------------
## ボタン
--------------------------------------------------------------*/

.btn-flat-logo {
    position: relative;
    display: inline-block;
    font-weight: bold;
    padding: 0.5em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #00bcd4;
    transition: .4s;
}
  
.btn-flat-logo:hover { background: #1ec7bb; }

.link-color-white { color:#fff!important;}
.link-color-white:visited { color:#fff!important;}
.link-color-white:link { color:#fff!important;}

.btn-color-blue { background: #1e90ff; }
.btn-color-blue:hover { background: #00ffff; }

/* Questionable Evening Color Scheme */

.btn-color-cosmic-cobalt { background: #242786; }
.btn-color-cosmic-cobalt:hover { background: #87cefa; }

.btn-color-cobalt-blue { background: #0055A6; }
.btn-color-cobalt-blue:hover { background: #b0e0e6; }

.btn-color-pale-cornflower-blue { background: #ABCCED; }
.btn-color-pale-cornflower-blue:hover { background: #00CED1; }

.btn-color-pale-goldenrod { background: #E7ECB2; }
.btn-color-pale-goldenrod:hover { background: #adff2f; }

.btn-color-coral-reef { background: #FD7873; }
.btn-color-coral-reef:hover { background: #ffc0cb; }

/* そのほかの Color Scheme */

.btn-color-tea-green { background: #DBE9B7; }
.btn-color-tea-green:hover { background: #adff2f; }

.btn-color-gold { background: #FFD700; }
.btn-color-gold:hover { background: #adff2f; }

.btn-color-sea-blue { background: #00678F; }
.btn-color-sea-blue:hover { background: #63C7CB; }

/*--------------------------------------------------------------
## 見出し
--------------------------------------------------------------*/

/* 文字がある部分だけ色がつく下線見出し */
.midashi_moji_kasen {
  width: 100%;
  margin: 0 auto;
  padding: 10px 0;
}
h2.midashi_moji_kasen .heading span{
  color:#3cb3e4;
  margin: 10px 0;

}
.midashi_moji_kasen .heading {
  overflow: hidden;
  position: relative;
  padding-bottom: 3px;
}
.midashi_moji_kasen .heading span{
  padding: 0px;
}
.midashi_moji_kasen .heading:before {
  content: "";
  border-bottom: 3px solid #3cb3e4;
  bottom: 0;
  height: 0;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.midashi_moji_kasen .heading:after {
  border-bottom: 3px solid #ddd;
  bottom: 0;
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
}

/* 縦線＋下線見出し */

.midashi_tate_kasen {
     position: relative;
     padding:0 0 0.5em 0.7em;
     border-bottom: 1px solid #ddd;
}

.midashi_tate_kasen::after {
     position: absolute;
     top: -0.2em;
     left:0;
     content: '';
     width: 5px;
     height:1.4em;
     background-color: #446689;
}

/* 日付表示 */
.top-date {
    padding: 3px 0;
    font-size: 14px;
    text-align: right;
    color:#bbb;
}

/* ドット見出し */

.midashi_dot {
     position: relative;
     color: white;
     padding:0.5em 0.5em 0.5em 2em;
     background-color: #446689;
     border-radius:1.5em;
}
 
.midashi_dot::after {
     position: absolute;
     top: 50%;
     left:1em;
     transform:translateY(-50%);
     content: '';
     width: 13px;
     height:13px;
     background-color: white;
     border-radius:100%;
}

/* 下フキダシ見出し */

.midashi_shitafukidashi {
     text-align: center!important;
}
 
.midashi_shitafukidashi span{
     position: relative;
     display: inline-block;
     padding-bottom:0.5em;
     border-bottom: 1px solid black;
}
      
.midashi_shitafukidashi span::before,
.midashi_shitafukidashi span::after {
     position: absolute;
     top: 100%;
     left:50%;
     transform:translateX(-50%);
     content: '';
     border: 10px solid transparent;
}
 
.midashi_shitafukidashi span::before {
     border-top: 10px solid black;
}
 
.midashi_shitafukidashi span::after {
     margin-top: -1px;
     border-top: 10px solid white;
}

/* トーン見出し */

.midashi_tone {
     position: relative;
     padding-bottom: 0.5em;
     border-bottom: 4px solid #DDD;
}
 
.midashi_tone::after {
     position: absolute;
     content: " ";
     border-bottom: solid 4px #446689;
     bottom: -4px;
     width:10%;
     display: block;
}

/* 見出し */
.ttl_dx_h2, .article-header .ttl_dx_h2 {
    font-size: 26px;
    margin-bottom: 10px;
    position: relative;
    color: #3498db;
    font-weight: bold;
    border-left: 6px solid #ccc;
    padding: .25em 0 .5em .75em;
}
.ttl_dx_h2::before, .article-header .ttl_dx_h2::before {
    width: 6px;
    height: 50%;
    left: -6px;
    bottom: 0;
    position: absolute;
    background-color: #3498db;
    content: '';
}
.ttl_dx_h2::after, .article-header .ttl_dx_h2::after {
    width: 100%;
    height: 0;
    left: 0;
    bottom: 0;
    position: absolute;
    border-bottom: 2px solid #ccc;
    content: '';
}
.ttl_dx_h2.midashi_yellow::before {
    background-color: #daa520;
}
.ttl_dx_h2.midashi_yellow {
    color: #daa520;
}
.ttl_dx_h2.midashi_green::before {
    background-color: #3cb371;
}
.ttl_dx_h2.midashi_green {
    color: #3cb371;
}
.ttl_dx_h2.midashi_emerald::before {
    background-color: #00CED1;
}
.ttl_dx_h2.midashi_emerald {
    color: #5F9EA0;
}
.ttl_dx_h2.midashi_orange::before {
    background-color: #FF8C00;
}
.ttl_dx_h2.midashi_orange {
    color: #FF8C00;
}
.midashi {
    font-size: 1;
    margin-top: 0;
    margin-bottom: 1rem;
    padding-bottom: 4px;
    padding-top: 10px;
    position: relative;
    border-bottom: 4px solid #ccc;
    color: #555;
    font-weight: normal;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0;
    border-radius: 0;
}
.midashi span {
    color: #FF7F50;
    font-size:1.3em;
    font-weight: 800;
}
.midashi a {
    color: #555;
}
.midashi::before {
    width: 20%;
    height: 4px;
    left: 0;
    position: absolute;
    z-index: 2;
    top: 100%;
    background-color: #3498db;
    content: '';
}
.midashi i {
    font-size: 1.8em;
    margin-right: 0.2em;
    position: relative;
    top: 5px;
    color: #3498db;
}
.list_big .post_ttl {
    height: 2.6em;
    line-height: 1.4em;
}
.midashi_btn {
    float: right;
    font-size: 1.0em;
    position: relative;
    top: 2px;
    border: 2px solid !important;
    padding: 0.1em 0.5em;
}
.midashi:after {
    display: block;
    content: "";
    clear: both;
}
h2.midashi {
    font-size: 1.3em;
    margin-top: 5px;
    padding-bottom: 5px;
    line-height: 1.6em;
}
h3.midashi {
    font-size: 1.1em;
    margin-top: 0px;
    padding-bottom: 5px;
    line-height: 1.4em;
}
h3.midashi.orange_midashi i{color:#DAA520;}
h3.midashi.orange_midashi::before {background-color:#DAA520 }
h3.midashi.darkorange_midashi i{color:#FF8C00;}
h3.midashi.darkorange_midashi::before {background-color:#FF8C00 }
a.linkto {
    border-color: #fff;
}
.search_widget {
    margin: 10px 0 2.5em;
}

.widget-archive-thumb p {
	color:#4F4F48;
	text-align:justify;
}
.widget-archive-thumb p:hover{
	color:#f00!important;
}
.widget-archive-thumb a:hover{
	text-decoration: none!important;
}
.widget_img {
    margin-top: 0;
    margin-bottom: 0;
    padding: 8px 10px;
}
.img_shadow {
    width:100%;
    position: relative;
    background-color: #fff;
    overflow: hidden;
    cursor: pointer;
    -moz-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    -o-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    -moz-transition: .2s ease-in-out;
    -webkit-transition: .2s ease-in-out;
    -o-transition: .2s ease-in-out;
    transition: .2s ease-in-out;
    margin: 0;
}
.img_shadow:hover {
    -moz-transform: translateY(-4px);
    -webkit-transform: translateY(-4px);
    -o-transform: translateY(-4px);
    transform: translateY(-4px);
    -moz-box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
    -webkit-box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
    -o-box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
    box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
}
.card.border-dark {
    border-color: #aaa !important;
}

/* 文字がある部分だけ色がつく下線見出し */
.midashi_moji_kasen {
  width: 100%;
  margin: 0 auto;
  padding: 10px 0;
}
h2.midashi_moji_kasen .heading span{
    font-weight: 900;
  color:#3cb3e4;
  margin: 10px 0;

}

@media only screen and (max-width: 940px) {
h2.midashi {
    font-size: 1.2em;
    padding-top: 3px;
}
}

.midashi_moji_kasen .heading {
  overflow: hidden;
  position: relative;
  padding-bottom: 3px;
}
.midashi_moji_kasen .heading span{
  padding: 0px;
}
.midashi_moji_kasen .heading:before {
  content: "";
  border-bottom: 3px solid #3cb3e4;
  bottom: 0;
  height: 0;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.midashi_moji_kasen .heading:after {
  border-bottom: 3px solid #ddd;
  bottom: 0;
  content: "";
  position: absolute;
  width: 100%;
  z-index: 1;
}

/*見出しhh系共通*/
.hh {
 margin: 0;
 padding: 0;
 border: 0;
 background: transparent;
 box-shadow: none;
 font-weight: bold;
}
p.hh {
 font-size: 1.1em;
}
.hh:before,
.hh:after {
 top: auto;
 right: auto;
 bottom: auto;
 left: auto;
 border: 0;
 background: transparent;
 box-shadow: none;
 content: none;
}

/* 左から右へ矢印 */

.hh19 {
 position: relative;
 padding-left: 25px;
}
.hh19:before {
 position: absolute;
 bottom: -10px;
 left: 0;
 width: 0;
 height: 0;
 border: none;
 border-bottom: solid 15px rgb(119, 195, 223);
 border-left: solid 15px transparent;
 content: "";
}
.hh19:after {
 position: absolute;
 bottom: -10px;
 left: 10px;
 width: 100%;
 border-bottom: solid 3px rgb(119, 195, 223);
 content: "";
}

/* メモ風 */

.memo {
    position: relative;
    width: 100%;
    height:auto;
    margin: 0 auto;
    background: #F8F0D7;
    border-left:4px dotted rgba(0,0,0,.1);
    border-right:4px dotted rgba(0,0,0,.1);
    box-shadow:0 0 5px rgba(0,0,0,.2);
    padding: 1em;
    color: #65513f;
  }
  .masking-tape{
    position: absolute;
    top: -1em;
    left: 26%;
    width:100px;
    height:30px;
    background-image: linear-gradient(-45deg, rgba(227,155,140,.4) 25%, transparent 25%, transparent 50%, rgba(227,155,140,.4) 50%, rgba(227,155,140,.4) 75%, transparent 75%, transparent 100%);
    background-size: 20px 20px;
    border-left:2px dotted rgba(0,0,0,.1);
    border-right:2px dotted rgba(0,0,0,.1);
    box-shadow:0 0 5px rgba(0,0,0,.2);
    padding: 0.25em 2em;
    color: #65513f;
    transform: rotate(-4deg); 
  }
@media only screen and (max-width: 640px) {
    .memo {margin:30px 0 20px 0;}
}

/*--------------------------------------------------------------
## ロゴと電話番号
--------------------------------------------------------------*/

/* logo_and_phone */

section.logo_and_phone {
    width: 100%;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 20px 0 0 0;
}

section.logo_and_phone .school-logo {
    width: 65%;
    height: auto;
    padding: 0;
    margin: 0;
}

section.logo_and_phone .school-logo img{
    width: 100%;
    height: auto;
}

section.logo_and_phone .phone-number {
    -webkit-flex: 1; flex: 1; width:auto;
    text-align: right;
    padding: 0;
    margin: 0;
}
section.logo_and_phone .phone-number p {
    font-size: 16px;
    margin:0;
    line-height: 1.2em;
}

section.logo_and_phone .phone-number p.phone_pc {
    color: #cb6686;
    text-decoration: none;
    font-size: 34px;
    font-weight: bold;
    padding: 0;
    margin: 3px 0;
    line-height: 1.2em;
}

section.logo_and_phone .catchCopy p {
    font-size: 18px;
    margin: 10px 0 5px;
    text-align: justify;
    color: #555;
    font-weight: bold;
    line-height: 1.5em;
}

/* ##### 画面の横幅769～1024ピクセル ##### */
@media (min-width: 769px) and (max-width: 1024px) {
    section.logo_and_phone .phone-number p{
        font-size: calc(12px + 4 * (100vw - 769px) / 255);
    }
    section.logo_and_phone .phone-number p.phone_pc {
        font-size: calc(24px + 10 * (100vw - 769px) / 255);
    }
    section.logo_and_phone .catchCopy p {
        font-size: calc(14px + 4 * (100vw - 769px) / 255);
    }
}

/* ##### 画面の横幅タブレット641～768ピクセル ##### */
@media (min-width: 641px) and (max-width: 768px) {
    section.logo_and_phone .phone-number p{
        font-size: calc(8px + 4 * (100vw - 481px) / 287);
    }
    section.logo_and_phone .phone-number p.phone_pc {
        font-size: calc(14px + 10 * (100vw - 481px) / 287);
    }
    section.logo_and_phone .catchCopy p {
        font-size: calc(10px + 4 * (100vw - 481px) / 287);
    }
}

/* ##### 画面の横幅スマートフォン640ピクセル以下（SEは320px） ##### */
@media screen and (max-width: 640px) {
    section.logo_and_phone .school-logo { width:100%; }
    section.logo_and_phone .phone-number { width:100%; margin-top:1em;text-align: center;}
    section.logo_and_phone .phone-number p{ font-size:14px;}
    section.logo_and_phone .phone-number p.p.phone_pc{ font-size:20px;}
    section.logo_and_phone .catchCopy p { font-size: 16px; }
}


.member-registration {
    font-size: 14px;
}
.member-registration a {
    float: right;
    margin: 10px 10px 0 0;
}

.h_logo {
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
}

.logo_pc {
    display: block !important;
    width:540px;
}
.logo_sp {
    display: none !important;
}
.logo_tab {
    display: none !important;
}

.osusume8_btn_left {
    margin-bottom: 10px;
    padding: 0 5px 0 0;
}
.osusume8_btn_right {
    margin-bottom: 10px;
    padding: 0 0 0 5px;
}
.info_short {
    margin-bottom: 20px;
    border: solid 5px #ddd;
    padding: 10px;
    width:100%;
}
.info_short ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.info_short ul li {
    width:100%;
}
.info_short ul li article {width:100%;}
.info_short li a {
    background-color: #fff;
    font-size: 16px;
    display: block;
    border-bottom: dotted 2px #ddd;
    color: #000;
    text-decoration: none;
    padding: 5px;
}
.info_short li a:hover {
    background-color: #eee;
}
.info_short time {
    float: left;
    width: 60px;
    font-size: 16px;
    color: #888;
    font-weight: bold;
}
.info_short a {
    color: #666;
    text-decoration: none;
}
.info_short a:after {
    display: block;
    content: "";
    clear: both;
}
.info_short .text {
    float: none;
    width: auto;
    margin-left: 70px;
}

/*------------------------------------------------------------
flex_top_main_slide
-------------------------------------------------------------*/

/* 基本 */
.flex_top_main_slide * {margin:0;}

.flex_top_main_slide img {
width: 100%;
height: auto;
vertical-align: bottom;
}

/* レイアウト */
.flex_top_main_slide {
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    margin: 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/* 見出し */
.flex_top_main_slide_midashi {
    width:100%;
    height: auto;
}

/* スライダー */
.flex_top_main_slide_slider {
    width:70%;
}

/* サイドバー */
.flex_top_main_slide_sidebar{
    width:30%;
    padding-left:16px;
}

.flex_top_main_slide_sidebar_sp {
    width:100%;
    padding: 16px;
    margin-top: 16px;
    background-color: #eee;
}

.flex_top_main_slide_sidebar ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

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

.flex_top_main_slide_sidebar_sp ul{
    width:100%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

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

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex_top_main_slide_sidebar ul li{
    height:100%;
    margin-bottom: 16px;
}

.flex_top_main_slide_sidebar_sp ul li{
    width:32%;
height:100%;
}

/* ##### 画面の横幅640ピクセル以下 ##### */
@media only screen and (max-width: 640px) {
    .flex_top_main_slide_sidebar_sp {padding: 0px;}
}

/* 本文 */
.flex_top_main_slide_slider h2{
font-weight:600;
line-height:1.3;
margin: 16px 0!important;

}

.flex_top_main_slide_slider p{
font-weight:500;
text-align: justify;
text-justify: inter-ideograph;
padding: 0 10px;
line-height: 1.7em;
color:#333;
}

/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
.flex_top_main_slide_midashi { font-size: 20px; }
.flex_top_main_slide_slider h2{ font-size: 22px; }
.flex_top_main_slide_slider p{ font-size: 16px;}

.flex_top_main_slide_sidebar_sp { display: none; }
}

/* ##### 画面の横幅768～999ピクセル ##### */
@media (min-width: 768px) and (max-width: 999px) {
.flex_top_main_slide_midashi { font-size: calc(14px + 6 * (100vw - 768px) / 232); }
.flex_top_main_slide_slider h2{ font-size: calc(20px + 8 * (100vw - 768px) / 232); }
.flex_top_main_slide_slider p{ font-size: calc(14px + 6 * (100vw - 768px) / 232); }

.flex_top_main_slide_sidebar_sp { display: none; }
}

/* ##### 画面の横幅767ピクセル以下 ##### */
@media (max-width: 767px) {
.flex_top_main_slide_midashi { font-size: 14px; }
.flex_top_main_slide_slider h2{ font-size: 20px; }
.flex_top_main_slide_slider p{ font-size: 14px; }

.flex_top_main_slide_slider { width:100%; }

.flex_top_main_slide_sidebar { display: none; }
}

/*------------------------------------------------------------
peel
-------------------------------------------------------------*/

section.top_image {
    border-bottom: solid 2px #eee;
    margin-bottom:1em;
}


/*------------------------------------------------------------
peel
-------------------------------------------------------------*/

/* CSSグリッドに対応したブラウザ用の設定 */
@supports (display: grid) {
    
    /* 基本 */

    .peel * {
        margin: 2em 0 0 0;
    }
    
    .peel img   {
        width: 100%;
        height: auto;
        vertical-align: bottom;
    }
    
    
    /* グリッド */
    .peel {
        --sideLR: 20px;
        --sideTB: 40px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 170px auto 100px;
        margin: var(--sideTB) var(--sideLR);
    }
    
    /* 画像 */
    .peel-photo {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
        align-self: center;
        width: 60%;
        z-index: 2;
    }
    
    /* 日本語のテキスト */
    .peel-jp {
        grid-column: 2;
        grid-row: 1 / 3;
        justify-self: end;
        align-self: start;
        writing-mode: vertical-rl;
    
        /* テキストのグリッド */
        display: grid;
        grid-row-gap: 15px;
        z-index: 3;
    }
    
    .peel-jp h2 {
        font-size: 40px;
        font-weight: 900;
        line-height: 1.2;
    }
    
    .peel-jp p:nth-of-type(1) {
        font-size: 18px;
        font-weight: 700;
        color: #444;
    }
    
    .peel-jp p:nth-of-type(2) {
        font-size: 16px;
        font-weight: 300;
        line-height: 1.8;
        height: 12em;
    }
    
    
    /* 日本語のメモ */
    .peel-jp-memo {
        grid-column: 2;
        grid-row: 3;
        justify-self: end;
        align-self: end;
        width: 220px;
        padding: 10px;
        box-sizing: border-box;
        border: solid 1px #aaa;
        font-size: 14px;
        font-weight: 200;
        line-height: 1.5;
        z-index: 3;
    }
    
    /* 英語のテキスト */
    .peel-en {
        grid-column: 1;
        grid-row: 1 / 3;
        justify-self: start;
        align-self: start;
        color: #fff;
    
        /* テキストのグリッド */
        display: grid;
        grid-row-gap: 15px;
        z-index: 3;
    }
    
    .peel-en h2 {
        font-size: 36px;
        font-weight: 700;
    }
    
    .peel-en p:nth-of-type(1) {
        font-size: 18px;
        font-weight: 500;
    }
    
    .peel-en p:nth-of-type(2) {
        font-size: 16px;
        font-weight: 300;
        width: 50%;
    }
    
    
    /* 英語のメモ */ 
    .peel-en-memo {
        grid-column: 1;
        grid-row: 3;
        justify-self: start;
        align-self: end;
        width: 220px;
        padding: 10px;
        box-sizing: border-box;
        border: solid 1px #aaa;
        color: #fff;
        font-size: 14px;
        font-weight: 300;
        line-height: 1.5;
        z-index: 3;
    }
    
    /* 黒色の背景 */
    .peel::after {
        grid-column: 1;
        grid-row: 1 / -1;
        z-index: 0;
        content: '';
        background-color: #222;
        margin-left: calc( var(--sideLR) * -1 );
        margin-top: calc( var(--sideTB) * -1 );
        margin-bottom: calc( var(--sideTB) * -1 );
    }
    
    /* ##### 画面の横幅1000ピクセル以上 ##### */
    @media (min-width: 1000px) {
        .peel {
            --sideLR: calc( (100vw - 960px) / 2 );
        }
    }
    
    /* ##### 画面の横幅767ピクセル以下 ##### */
    @media (max-width: 767px) {
    
        .peel {
            margin-top:20px;
            grid-template-columns: 1fr;
            grid-template-rows: repeat(6, auto);
        }
    
        /* 日本語のテキスト */
        .peel-jp {
            grid-column: 1;
            grid-row: 1;
            writing-mode: horizontal-tb;
        }
    
    .peel-jp h2 {
        font-size: 30px;
    }
        .peel-jp p:nth-of-type(2) {
            height: auto;
        }
    
        /* 日本語のメモ */
        .peel-jp-memo {
            grid-column: 1;
            grid-row: 2;
            justify-self: stretch;
            width: auto;
            margin-top: 15px;
        }
    
        /* 画像 */
        .peel-photo {
            grid-column: 1;
            grid-row: 3 / 5;
            width: 80%;
            margin: 30px 0;
        }
    
        /* 英語のテキスト */
        .peel-en {
            grid-column: 1;
            grid-row: 5;
        }
    
        .peel-en p:nth-of-type(2) {
            width: auto;
        }
    
        /* 英語のメモ */
        .peel-en-memo {
            grid-column: 1;
            grid-row: 6;
            justify-self: stretch;
            width: auto;
            margin-top: 15px;
        }
    
        /* 黒色の背景 */
        .peel::after {
            grid-column: 1;
            grid-row: 4 / -1;
            margin-top: 0;
            margin-right: calc( var(--sideLR) * -1 );
        }
    
    
    }
    
    } /* CSSグリッドに対応したブラウザ用の設定 ここまで */
    
    
    /* IE11用の設定 */
    @media all and (-ms-high-contrast: none), not all and (-ms-high-contrast: none) {
    
    body    {margin: 0;
        font-family: 'メイリオ', 'Hiragino Kaku Gothic Pro', sans-serif}
    
    
    /* 基本 */
    .peel * {
        margin: 0;
    }
    
    .peel img   {
        width: 100%;
        height: auto;
        vertical-align: bottom;
    }
    
    
    /* グリッド */
    .peel {
        --sideLR: 20px;
        --sideTB: 40px;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
        -ms-grid-rows: 170px auto 100px;
            grid-template-rows: 170px auto 100px;
        margin: 40px calc( (100vw - 960px) / 2 );
    }
    
    /* 画像 */
    .peel-photo {
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1 / 3;
        -ms-grid-row: 2;
        grid-row: 2;
        -ms-grid-column-align: center;
            justify-self: center;
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
        width: 60%;
    }
    
    /* 日本語のテキスト */
    .peel-jp {
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1 / 3;
        -ms-grid-column-align: end;
            justify-self: end;
        -ms-grid-row-align: start;
            align-self: start;
        -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
                writing-mode: vertical-rl;
    
        /* テキストのグリッド */
        display: -ms-grid;
        display: grid;
        grid-row-gap: 15px;
    }
    
    .peel-jp h2 {
        font-size: 40px;
        font-weight: 900;
        line-height: 1.2;
    }
    
    .peel-jp p:nth-of-type(1) {
        font-size: 16px;
        font-weight: 700;
        color: #444;
    }
    
    .peel-jp p:nth-of-type(2) {
        font-size: 14px;
        font-weight: 300;
        line-height: 1.8;
        height: 12em;
    }
    
    
    /* 日本語のメモ */
    .peel-jp-memo {
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 3;
        grid-row: 3;
        -ms-grid-column-align: end;
            justify-self: end;
        -ms-flex-item-align: end;
            -ms-grid-row-align: end;
            align-self: end;
        width: 200px;
        padding: 10px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: solid 1px #aaa;
        font-size: 12px;
        font-weight: 200;
        line-height: 1.5;
    }
    
    /* 英語のテキスト */
    .peel-en {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        grid-row: 1 / 3;
        -ms-grid-column-align: start;
            justify-self: start;
        -ms-grid-row-align: start;
            align-self: start;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
    
        /* テキストのグリッド */
        display: -ms-grid;
        display: grid;
        grid-row-gap: 15px;
    }
    
    .peel-en h2 {
        font-size: 40px;
        font-weight: 700;
    }
    
    .peel-en p:nth-of-type(1) {
        font-size: 16px;
        font-weight: 500;
    }
    
    .peel-en p:nth-of-type(2) {
        font-size: 14px;
        font-weight: 300;
        width: 50%;
    }
    
    
    /* 英語のメモ */
    .peel-en-memo {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 3;
        grid-row: 3;
        -ms-grid-column-align: start;
            justify-self: start;
        -ms-flex-item-align: end;
            -ms-grid-row-align: end;
            align-self: end;
        width: 200px;
        padding: 10px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        border: solid 1px #aaa;
        color: #fff;
        font-size: 12px;
        font-weight: 300;
        line-height: 1.5;
    }
    
    /* 黒色の背景 */
    .peel::after {
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-row-span: 3;
        grid-row: 1 / 4;
        z-index: -1;
        content: '';
        background-color: #222;
        margin-left: calc( ( (100vw - 960px) / 2 ) * -1 );
        margin-top: calc( 40px * -1 );
        margin-bottom: calc( 40px * -1 );
    }
    
    
    /* IE11用追加設定 */
    .peel {
        min-width: 960px;
    }
    .peel::after {
        display: block;
    }
    
    .peel-jp,
    .peel-en {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .peel-jp > * {
        margin-left: 15px;
    }
    .peel-en > * {
        margin-bottom: 15px;
    }
    
    } /* IE11用の設定 ここまで */
    
    /* IE11用の設定（画面の横幅1000px以下のときの両サイドの余白) */
    @media all and (max-width: 1000px) and (-ms-high-contrast: none), 
    not all (min-width: 1000px) and (-ms-high-contrast: none) {
        .peel {
            margin-left: 20px;
            margin-right: 20px;
        }
        .peel::after {
            margin-left: -20px;
        }
    } /* IE11用の設定 ここまで */

/*------------------------------------------------------------
orange
-------------------------------------------------------------*/
/* CSSグリッドに対応したブラウザ用の設定 */
@supports (display: grid) {

/* 基本 */
.orange * {
	margin: 0;
}

.orange img	{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.orange-sub img {
	max-width: 120px;
}


/* グリッド */
.orange {
	--side: 10px;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: repeat(1, auto);
	margin: 0 var(--side) 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

/* 大きい画像 */
.orange-photo {
	grid-column: 1 / -1;
	grid-row: 1;
	/* margin: 0 calc( var(--side) * -1 ); */
}

.orange-photo img {
	height: 100%;
    object-fit: cover;
	max-height: 600px;
}

/* テキスト */
.orange-text {
	grid-column: span 5 / 11;
	grid-row: 1;
	justify-self: center;
	align-self: center;
	z-index: 10;
	padding: 40px 0;
	color: #000;
	writing-mode: vertical-rl;

	/* テキストのグリッド */
	display: grid;
	grid-row-gap: 15px;
	justify-items: end;
}

.orange-text h2 {
	padding-bottom: 20px;
	font-size: 40px;
	font-weight: 900;
    line-height: 1.5;
    color: #fff;
    text-shadow: 0px 0px 8px #000;
}

.orange-text p {
	height: 14em;
	font-size: 24px;
	font-weight: 900;
    line-height: 1.6;
    color:#fff;
    text-shadow: 0px 0px 8px #000;
    padding:40px 100px 0 0;
}

/* サブ情報 */
.orange-sub {
	grid-column: 1 / span 6;
	grid-row: 2;

	/* サブ情報のグリッド */
	display: grid;
	grid-auto-flow: column;
	grid-column-gap: 10px;
}

.orange-sub p {
	font-size: 14px;
	line-height: 1.5;
}

/* ##### 画面の横幅768ピクセル以下 ##### */
@media (max-width: 768px) {
    .orange {
	margin: 0 0 1em 0;
    }
    .orange-photo img {
        height: 100%;
        object-fit: cover;
        max-height: 540px;
    }

	.orange-text {
        grid-column: span 5 / 12;
        justify-self: end;
        padding: 20px 0;
    }
    .orange-text h2 {
        font-size: 34px;
    }
    .orange-text p {
        font-size: 20px;
        padding:40px 100px 0 0;
    }

	.orange-sub {
		grid-column: 1 / -1;
	}

	.orange::after {
		grid-column: 1 / -1;
		grid-row: 1;
		margin: 0 calc( var(--side) * -1 );
		content: '';
		background-color: rgba(0,0,0,0);
	}
}

/* ##### 画面の横幅480ピクセル以下 ##### */
@media (max-width: 480px) {
    .orange-photo img {
        height: 100%;
        object-fit: cover;
        max-height: 480px;
    }
    .orange-text { padding: 10px 0 0 0; }
    .orange-text h2 {
        line-height: 1.3;
        padding: 10px 0 0 0;
        font-size: 28px;
    }
    .orange-text p {
        font-size:18px;
        padding: 20px 20px 10px 0;
    }
}

} /* CSSグリッドに対応したブラウザ用の設定 ここまで */


/* IE11用の設定 */
@media all and (-ms-high-contrast: none), not all and (-ms-high-contrast: none) {

/* Autoprefixerで変換した設定 */
body	{margin: 0;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;}

/* 基本 */
.orange * {
	margin: 0;
}

.orange img	{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.orange-sub img {
	max-width: 120px;
}


/* グリッド */
.orange {
	--side: 10px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr)[10];
	    grid-template-columns: repeat(10, 1fr);
	-ms-grid-rows: (auto)[1];
	    grid-template-rows: repeat(1, auto);
        margin: 0 var(--side) 0;
        font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

/* 大きい画像 */
.orange-photo {
	-ms-grid-column: 1;
	-ms-grid-column-span: 10;
	grid-column: 1 / 10;
	-ms-grid-row: 1;
	grid-row: 1;
	margin: 0 calc( var(--side) * -1 );
}

.orange-photo img {
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	max-height: 600px;
}

/* テキスト */
.orange-text {
	-ms-grid-column: 6;
	-ms-grid-column-span: 5;
	grid-column: span 5 / 11;
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-column-align: center;
	    justify-self: center;
	-ms-grid-row-align: center;
	    align-self: center;
	z-index: 10;
	padding: 40px 0;
	color: #fff;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
	text-shadow: 0px 0px 20px #000;

	/* テキストのグリッド */
	display: -ms-grid;
	display: grid;
	grid-row-gap: 15px;
	justify-items: end;
}

.orange-text h2 {
	padding-bottom: 20px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.5;
}

.orange-text p {
	height: 18em;
	font-size:24px;
	font-weight: 900;
    line-height: 1.6;
    text-shadow: 0px 0px 20px #fff;
    padding-bottom:40px;
    padding-right:70px;
}

/* サブ情報 */
.orange-sub {
	-ms-grid-column: 1;
	-ms-grid-column-span: 6;
	grid-column: 1 / span 6;
	-ms-grid-row: 2;
	grid-row: 2;

	/* サブ情報のグリッド */
	display: -ms-grid;
	display: grid;
	grid-auto-flow: column;
	grid-column-gap: 10px;
}

.orange-sub p {
	font-size: 14px;
	line-height: 1.5;
}


/* IE11用追加設定 */
.orange {
	width:100%;
}
.orange-text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.orange-sub {
	display: flex;
	margin-top: 30px;
}
.orange-sub img {
	width: auto;
	margin-right: 10px;
}
.orange::after {
	display: block;
}

} /* IE11用の設定 ここまで */

/*------------------------------------------------------------
flex_osusumebox_honbu
-------------------------------------------------------------*/

/* 基本 */
.flex_osusumebox_honbu * {margin:0;}

.flex_osusumebox_honbu img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* グリッド */
.flex_osusumebox_honbu {
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/* タイトル */
.flex_osusumebox_honbu_title h2{
width:100%;
color: #2B5F75;
font-weight: 800!important;
}


/* 8つのボタン */
.flex_osusumebox_honbu_8box {
    width:70%;

    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    margin: 0;
    padding: 0;
}

.flex_osusumebox_honbu_8box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

    margin: 0;
    padding: 0;
}

.flex_osusumebox_honbu_8box ul li {
    width:48.5%;
    height:auto;
    margin:0 0 16px 0;
}

.flex_osusumebox_honbu_8box ul li a:hover{
text-decoration: none;
color: #fff;
}

/* サイドバー */
.flex_osusumebox_honbu_sidebar {
    width: 30%;
    margin: 0;
    padding:0 0 0 16px;
}

.flex_osusumebox_honbu_sidebar h3{
    font-size: 20px;
    text-align: center;
    margin: 0 0 10px 0!important;
    font-weight: 800!important;
    color: #3A8FB7;
}

.flex_osusumebox_honbu_sidebar ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;

    margin: 0;
    padding:0;
}

.flex_osusumebox_honbu_sidebar ul a  {
    width:50%;
    height:auto;
    margin: 0;
    padding:0;

    text-align: center;
    height:auto;
    border-bottom: solid 2px #eee;
    background-color: #FFF;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.flex_osusumebox_honbu_sidebar ul a:nth-child(even) {
    border-left: solid 2px #eee;
}

.flex_osusumebox_honbu_sidebar ul li i{
font-size:36px!important;
padding-top:14px;
margin:0;
}

.flex_osusumebox_honbu_sidebar ul p{
font-size:14px;
font-weight:500;
padding:0 0 6px 0;
margin:0;
line-height: 1.5em;
color: #888;
white-space: nowrap;
}

.flex_osusumebox_honbu_sidebar ul a:hover{
cursor: pointer;
background-color: #eee;
}

.flex_osusumebox_honbu_sidebar ul a:link{
text-decoration:none;
}

/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
.flex_osusumebox_honbu_sidebar h3{ font-size: 20px; }
.flex_osusumebox_honbu_sidebar ul p{ font-size: 16px; }
.flex_top_main_slide_sidebar_sp { display: none; }
}

/* ##### 画面の横幅768～999ピクセル ##### */
@media (min-width: 768px) and (max-width: 999px) {
.flex_osusumebox_honbu_sidebar h3{ font-size: calc(14px + 6 * (100vw - 768px) / 232); }
.flex_osusumebox_honbu_sidebar ul p{ font-size: calc(10px + 6 * (100vw - 768px) / 232); }

.flex_top_main_slide_sidebar_sp { display: none; }
}

/* ##### 画面の横幅767ピクセル以下 ##### */
@media (max-width: 767px) {
.flex_osusumebox_honbu_sidebar h3{ font-size: 20px; }
.flex_osusumebox_honbu_sidebar ul p{ font-size: 14px; }

.flex_osusumebox_honbu_8box { width:100%; }
.flex_osusumebox_honbu_sidebar { width:100%;padding:0;margin-top:16px; }
.flex_osusumebox_honbu_sidebar ul a  { width:20%; }
.flex_osusumebox_honbu_sidebar ul a:nth-child(3) {border-left: solid 2px #eee; }
.flex_osusumebox_honbu_sidebar ul a:nth-child(5) {border-left: solid 2px #eee; }
.flex_osusumebox_honbu_sidebar ul a:nth-child(6) {border-left: solid 0; }
.flex_osusumebox_honbu_sidebar ul a:nth-child(7) {border-left: solid 2px #eee; }
.flex_osusumebox_honbu_sidebar ul a:nth-child(9) {border-left: solid 2px #eee; }
}

/* ##### 画面の横幅480ピクセル以下 ##### */
@media (max-width: 480px) {
    .flex_osusumebox_honbu_sidebar ul li span{
        display:none;
    }
}

/*------------------------------------------------------------
flex_access_short_and_info
-------------------------------------------------------------*/

/* 基本 */
.flex_access_short_and_info * {margin:0;}

/* FlexBox */
.flex_access_short_and_info {
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/* 住所と営業時間 */
.flex_access_short_and_info .flex_access_short {
    width:60%;

    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    margin: 0;
    padding: 0;
}
.flex_access_short_and_info .info_short_sidebar {
    width:40%;
}

.flex_access_short .flex_img_str_big {
    width:100%;
}

.flex_access_short .flex_img_str_big h2{ width:100%; margin-bottom:20px;}
.info_short_sidebar h2.midashi{ width:100%; margin-bottom:20px;}

.flex_access_short .flex_img_str_big ul {
display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;

    margin: 0;
    padding: 0;
}

.flex_access_short .flex_img_str_big ul li:nth-child(1) {
    width:40%;
    height:auto;
    margin:0;
}
.flex_access_short .flex_img_str_big ul li:nth-child(2) {
    width:60%;
    height:auto;
    margin:0;
    padding: 0 0 0 10px;
}

/* サイドバー */
.flex_access_short_and_info .info_short_sidebar {
    width: 40%;
    margin: 0;
    padding:0 0 0 16px;
}

.flex_access_short .flex_img_str_big h3{
    font-size: 22px;
    text-align: left;
    margin: 0 0 10px 0!important;
    font-weight: 800!important;
    color: #3A8FB7;
}

.flex_access_short .flex_img_str_big ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;

    margin: 0;
    padding:0;
}

.flex_access_short .flex_img_str_big ul a  {
    width:50%;
    height:auto;
    margin: 0;
    padding:0;

    text-align: center;
    height:auto;
    border-bottom: solid 2px #eee;
    background-color: #FFF;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.flex_access_short .flex_img_str_big .info_short_sidebar ul a:nth-child(even) {
    border-left: solid 2px #eee;
}

.flex_access_short .flex_img_str_big .info_short_sidebar ul i{
font-size:36px;
padding-top:14px;
margin:0;
}

.flex_access_short .flex_img_str_big .info_short_sidebar ul p{
font-size:14px;
font-weight:500;
padding:0 0 6px 0;
margin:0;
line-height: 1.5em;
color: #888;
white-space: nowrap;
}

.flex_access_short .flex_img_str_big .info_short_sidebar ul a:hover{
cursor: pointer;
background-color: #eee;
}

.flex_access_short .flex_img_str_big .info_short_sidebar ul a:link{
text-decoration:none;
}

/* ##### 画面の横幅1000ピクセル以上 ##### */
@media screen and (min-width: 1000px) {

}

/* ##### 画面の横幅768～960ピクセル ##### */
@media screen and (min-width: 768px) and (max-width: 960px) {
    .flex_access_short_and_info .flex_access_short { width:100%; }
    .flex_access_short_and_info .info_short_sidebar { width: 100%; padding:0;}

    .flex_access_short .flex_img_str_big ul li:nth-child(1) { width:40%; }
    .flex_access_short .flex_img_str_big ul li:nth-child(2) { width:60%; }
}

/* ##### 画面の横幅600～767ピクセル以下 ##### */
@media screen and (min-width: 600px) and (max-width: 767px) {
    .flex_access_short_and_info .flex_access_short { width:100%; }
    .flex_access_short_and_info .info_short_sidebar { width: 100%; padding:0;}

    .flex_access_short .flex_img_str_big ul li:nth-child(1) { width:35%; }
    .flex_access_short .flex_img_str_big ul li:nth-child(2) { width:65%; }
}

/* ##### 画面の横幅599ピクセル以下 ##### */
@media screen and (max-width: 599px) {
    .flex_access_short_and_info .flex_access_short { width:100%; }
    .flex_access_short_and_info .info_short_sidebar { width: 100%; padding:0;}

    .flex_access_short .flex_img_str_big ul li:nth-child(1) { width:100%; }
    .flex_access_short .flex_img_str_big ul li:nth-child(2) { width:100%; }
    .flex_access_short .flex_img_str_big ul li img { margin-bottom:20px; }
}

.testdiv {width:100%;}

/* burger */
/* CSSグリッドに対応したブラウザ用の設定 */
@supports (display: grid) {

/* 基本 */
.burger * {
	margin: 0;
}

.burger img	{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.burger-sub img {
	max-width: 100px;
}


/* グリッド */
.burger {
	--side: 1em;
	display: grid;
	grid-template-columns: 100px 1fr auto;
	grid-template-rows: auto 200px;
	grid-column-gap: 15px;
	grid-row-gap: 30px;
	margin: 0 var(--side) 30px;
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

/* 大きい画像 */
.burger-photo {
    width:100%;
	grid-column: 1 / -1;
	grid-row: 1;
	margin: 0 calc( var(--side) * -1);
}

.burger-photo img {
	height: 100%;
	object-fit: cover;
	max-height: 600px;
}

/* タイトル */
.burger-title {
	grid-column: 3;
	grid-row: 1 / -1;
	align-self: end;
	z-index: 1;
	padding: 120px 10px 40px 0;
	font-size: 56px;
	font-weight: 900;
	line-height: 1.3;
    writing-mode: vertical-rl;
    text-shadow: 0px 0px 10px #fff!important;
}

/* 文章 */
.burger-text {
	grid-column: 2;
	grid-row: 2;
	justify-self: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.85;
	writing-mode: vertical-rl;
}

/* サブ情報 */
.burger-sub {
	grid-column: 1;
	grid-row: 2;
}

.burger-sub p {
	margin-top: 10px;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
}


/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
	.burger {
		--side_old: calc( (100vw - 960px) / 2 );
	}

	/* 文章 */
	.burger-text {
    font-size: 17px;
		line-height: 1.7;
	}
  .burger-sub p { font-size: 15px; }
}


/* ##### 画面の横幅769～999ピクセル ##### */
@media (min-width: 769px) and (max-width: 999px) {
	/* 文章 */
	.burger-text {
    font-size: 14px;
		line-height: calc(22.2px + 5.0 * (100vw - 768px) / 232);
	}
    .burger-sub p { font-size: 15px; }
}


/* ##### 画面の横幅768ピクセル以下 ##### */
@media (max-width: 768px) {

	.burger {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 200px auto;
	}

	/* タイトル */
	.burger-title {
		grid-column: 2;
		grid-row: 1 / 3;
        font-size: 42px;
        padding:0 10px 60px 0;
	}

	/* 文章 */
	.burger-text {
		grid-column: 1;
		grid-row: 2;
		overflow-x: auto;
		min-width: 1px; /* Safari 10.x用の設定 */
		justify-self: stretch;
		padding-left: 30px;
    font-size: 16px;
    line-height:1.6;
	}

	.burger::after	{
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		z-index: 1;
		width: 30px;
		content: '';
		background: linear-gradient(
			to right, 
			rgba(255,255,255,1) 0%, 
			rgba(255,255,255,0) 100%
		);
	}
  .burger-sub p { font-size: 15px; }
}

  /* ##### 画面の横幅600ピクセル以下 ##### */
@media (max-width: 600px) {
    .burger {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 240px auto;
  }
  .burger-text {font-size: 15px;}
  .burger-title { font-size: 38px; padding:0 10px 60px 0; }
}

/* ##### 画面の横幅480ピクセル以下 ##### */
@media (max-width: 480px) {
  .burger-title { font-size: 36px; padding:0 10px 50px 0; }
}

/* ##### 画面の横幅425ピクセル以下 ##### */
@media (max-width: 425px) {
    .burger {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 360px auto;
  }
  .burger-title { font-size: 38px; padding:0 10px 70px 0; }
    .burger-text { line-height:1.5; }
}
/* ##### 画面の横幅375ピクセル以下 ##### */
@media (max-width: 375px) {
    .burger {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 400px auto;
  }
    .burger-text { line-height:1.3;}
}
/* ##### 画面の横幅320ピクセル以下 ##### */
@media (max-width: 320px) {
    .burger {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 410px auto;
  }
    .burger-text { line-height:1.2;}
}

	/* サブ情報 */
	.burger-sub {
		grid-column: 1 / -1;
		grid-row: 3;

		/* サブ情報のグリッド */
		display: grid;
		grid-auto-flow: column;
		grid-column-gap: 10px;
		max-width: 280px;
	}

	.burger-sub p {
		margin: 0;
	}

}

 /* CSSグリッドに対応したブラウザ用の設定 ここまで */

/* IE11用の設定 */
@media all and (-ms-high-contrast: none), not all and (-ms-high-contrast: none) {

/* 基本 */
.burger * {
	margin: 0;
}

.burger img	{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.burger-sub img {
	max-width: 100px;
}


/* グリッド */
.burger {
	--side: 20px;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 100px 1fr auto;
	    grid-template-columns: 100px 1fr auto;
	-ms-grid-rows: auto 180px;
	    grid-template-rows: auto 180px;
	grid-column-gap: 15px;
	grid-row-gap: 30px;
	margin: 0 calc( (100vw - 960px) / 2 ) 30px;
}

/* 大きい画像 */
.burger-photo {
	-ms-grid-column: 1;
	-ms-grid-column-span: 3;
	grid-column: 1 / 4;
	-ms-grid-row: 1;
	grid-row: 1;
	margin: 0 0 0 calc( ( (100vw - 960px) / 2 ) * -1);
}

.burger-photo img {
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	max-height: 600px;
}

/* タイトル */
.burger-title {
	-ms-grid-column: 3;
	grid-column: 3;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
	grid-row: 1 / 3;
	-ms-flex-item-align: end;
	    -ms-grid-row-align: end;
	    align-self: end;
	z-index: 1;
	padding: 120px 10px 40px;
	font-size: 56px;
	font-weight: 900;
	line-height: 1.3;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}

/* 文章 */
.burger-text {
	-ms-grid-column: 2;
	grid-column: 2;
	-ms-grid-row: 2;
	grid-row: 2;
	-ms-grid-column-align: center;
	    justify-self: center;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.85;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}

/* サブ情報 */
.burger-sub {
	-ms-grid-column: 1;
	grid-column: 1;
	-ms-grid-row: 2;
	grid-row: 2;
}

.burger-sub p {
	margin-top: 10px;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
}

/* 画面の横幅960px以上のときの設定を適用 */

	/* 文章 */
	.burger-text {
		line-height: 2.5;
	}


/* IE11用追加設定 */
.burger {
	min-width: 960px;
}
.burger-photo {
	margin-bottom: 30px;
}

} /* IE11用の設定 ここまで */


/* IE11用の設定（画面の横幅1000px以下のときの両サイドの余白) */
@media all and (max-width: 1000px) and (-ms-high-contrast: none), 
not all (min-width: 1000px) and (-ms-high-contrast: none) {
	.burger {
		margin-left: 20px;
		margin-right: 20px;
	}
	.burger-photo {
		margin-left: -20px;
		margin-right: -20px;
	}
} /* IE11用の設定 ここまで */

/*三冠達成*/
.flex_triple_crown ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -ms-flex-wrap: wrap;
  flex-wrap: wrap;

  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
.flex_triple_crown ul li:nth-child(1) {
  padding-top:24px;
  flex-basis:  33%;
}
.flex_triple_crown ul li:nth-child(2) {
  flex-basis:  66%;
}
.flex_triple_crown ul li h3 {
  font-size: 24px;
}
.flex_triple_crown ul li p {
  font-size: 18px;
}

.flex_triple_crown ol.koumoku {
  padding: 0;
  position: relative;
}
.flex_triple_crown ol.koumoku li {
  color: black;
  border-left: solid 8px orange;/*左側の線*/
  background: whitesmoke;/*背景色*/
  margin-bottom: 5px;/*下のバーとの余白*/
  line-height: 1.5;
  border-radius: 0 15px 15px 0;/*右側の角だけ丸く*/
  padding: 0.5em;
  list-style-type: none!important;
}

/* column3 */

/* CSSグリッドに対応したブラウザ用の設定を記述 */
@supports (display: grid) {

.column3 {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/* 基本 */
.column3 * {
    margin: 0;
}

.column3 img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.column3-series img {
    max-width: 40px;
}

.shop img {
    max-width: 100px;
}


/* グリッド */
.column3 {
    --side: 20px;
    display: grid;
    grid-template-columns: var(--side) 1fr 50px 1fr var(--side);
    grid-template-rows: auto 30px auto 40px auto 30px auto;
}

/* ヘッダー */
.column3-head {
    grid-column: 2 / -2;
    grid-row: 1;

    /* ヘッダーのグリッド */
    display: grid;
    grid-template-columns: 75px 1fr 140px;
    grid-template-rows: 45px repeat(3, auto);
    grid-column-gap: 24px;
    grid-row-gap: 12px;
}


/* ヘッダー: タイトル */
.column3-title {
    grid-column: 2;
    grid-row: 3;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.2;
}

/* ヘッダー: リード文 */
.column3-lead {
    grid-column: 2;
    grid-row: 4;
    font-size: 13px;
    line-height: 1.8;
}

/* ヘッダー: シリーズ名 */
.column3-series {
    grid-column: 1;
    grid-row: 1 / 4;
    margin-bottom: -12px;
    background-color: #F9BF45;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    display: grid;
    justify-items: center;
    align-items: center;
    align-content: center;
    grid-row-gap: 8px;
}

/* ヘッダー: 日付 */
.column3-date {
    grid-column: 3;
    grid-row: 1;
    align-self: end;
    padding: 3px 0;
    background-color: #222;
    color: #fff;
    font-size: 14px;
    text-align: center;
}


/* ヘッダー： メニューの基本設定 */
.column3-head ol,
.column3-head ul {
    display: grid;
    grid-auto-flow: column;
    justify-content: start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.column3-head a,
.column3-head a {
    color: #000;
    text-decoration: none;
}

/* ヘッダー: パンくずリスト */
.column3-bread {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: 10px;
    line-height: 2;
}

.column3-bread li:not(:last-child)::after {
    margin: 0 5px;
    content: '>';
    color: #aaa;
}

/* ヘッダー: カテゴリー */
.column3-category {
    grid-column: 2;
    grid-row: 2;
}

.column3-category ul {
    grid-column-gap: 5px;
}

.column3-category a {
    display: block;
    padding: 3px 5px;
    border-radius: 5px;
    background-color: #ccc;
    font-size: 10px;
}

/* ヘッダー: SNSメニュー */
.column3-sns {
    grid-column: 3;
    grid-row: 3;
}

.column3-sns ul {
    justify-content: space-between;
}

.column3-sns a {
    font-size: 14px;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    display: block;
    width: 40px;
    line-height: 35px;
}
.column3-sns li:nth-child(1) a
     {background-color: #55acee;}
.column3-sns li:nth-child(2) a
     {background-color: #3b5998;}
.column3-sns li:nth-child(3) a
     {background-color: #dd4b39;}

/* ヘッダー： 区切り線 */
.column3-head::before  {
    grid-column: 1 / -1;
    grid-row: 1;
    align-self: end;
    content: '';
    border-top: solid 4px #222;
    height: 2px;
    border-bottom: solid 2px #222;
    margin: 0 calc(var(--side) * -1) -4px;
}

/* ヘッダー： 装飾画像 */
.column3-head::after   {
    grid-column: 3;
    grid-row: 4;
    justify-self: center;
    align-self: center;
    width: 80%;
    content: url('img/gourmet.svg');
}


/* セクション（共通） */
.sec h2 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.sec .spot {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    border: solid 1px #aaa;
    border-radius: 50%;
    box-sizing: border-box;
    display: block;
    width: 3.75em;
    height: 3.75em;
    line-height: 3.75em;
}

.sec .num {
    font-size: 78px;
    font-weight: 300;
    line-height: 1;
}

.sec p {
    font-size: 14px;
    text-align: justify;
    text-justify: inter-ideograph;
}


/* セクション01 */
.sec01 {
    grid-column: 2 / -2;
    grid-row: 3;

    /* セクション01のグリッド */
    display: grid;
    grid-template-columns: 50% 1fr;
    grid-template-rows: auto 1fr auto;
    grid-column-gap: 25px;
    grid-row-gap: 15px;
}

/* セクション01: 小見出し */
.sec01 h2 {
    grid-column: 2;
    grid-row: 1;
    margin-left: -70px;
    z-index: 1;

    /* 小見出しのグリッド */
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: auto auto;
    grid-row-gap: 10px;
    align-items: end;
}

.sec01 h2::after {
    grid-column: 1 / -1;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec01 .spot {
    margin-top: -8px;
    align-self: start;
}

.sec01 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}


/* セクション01: 画像 */
.sec01 figure {
    grid-column: 1;
    grid-row: 1 / -1;
}

.sec01 figure img {
    height: 100%;
    object-fit: cover;
}

/* セクション01: 文章 */
.sec01 p {
    grid-column: 2;
    grid-row: 2;
}

/* セクション01: ショップ情報 */
.sec01 .shop {
    grid-column: 2;
    grid-row: 3;
}


/* セクション02 */
.sec02 {
    grid-column: 2;
    grid-row: 5;

    /* セクション02のグリッド */
    display: grid;
    grid-template-columns: 4fr 5fr;
    grid-template-rows: auto 1fr auto auto;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
}


/* セクション02: 小見出し */
.sec02 h2 {
    grid-column: 1 / -1;
    grid-row: 1;

    /* 小見出しのグリッド */
    display: grid;
    grid-template-columns: auto auto auto 1fr;
    grid-template-rows: auto;
    align-items: end;
}

.sec02 h2::after {
    grid-column: 3;
    grid-row: 1;
    align-self: stretch;
    margin-bottom: -45px;
    margin-right: 5px;
    z-index: 1;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec02 .spot {
    margin-left: -20px;
    margin-right: -10px;
    margin-bottom: -20px;
    z-index: 1;
}

.sec02 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}


/* セクション02: 画像01 */
.sec02 .fig01 {
    grid-column: 1;
    grid-row: 2 / 4;
    margin-bottom: 40px;
}

.sec02 .fig01 img {
    height: 100%;
    object-fit: cover;
}


/* セクション02: 画像02 */
.sec02 .fig02 {
    grid-column: 2;
    grid-row: 3;
    margin-left: -40px;
}

/* セクション02: 文章 */
.sec02 p {
    grid-column: 2;
    grid-row: 2;
}

/* セクション02: ショップ情報 */
.sec02 .shop {
    grid-column: 1 / -1;
    grid-row: 4;
}


/* セクション03 */
.sec03 {
    grid-column: 4;
    grid-row: 5;

    /* セクション03のグリッド */
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto 1fr auto;
    grid-row-gap: 15px;
}

/* セクション03: 小見出し */
.sec03 h2 {
    grid-column: 1;
    grid-row: 2;

    /* 小見出しのグリッド */
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    grid-template-rows: auto auto;
    grid-row-gap: 10px;
    align-items: end;
}

.sec03 h2::before {
    grid-column: 4;
    grid-row: 1;
    align-self: stretch;
    margin-bottom: -10px;
    margin-top: -60px;
    z-index: 1;
    transform: rotate(-22deg);
    transform-origin: right bottom;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec03 h2::after {
    grid-column: 1 / -1;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec03 .spot {
    margin-left: -15px;
}

.sec03 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}

/* セクション03: 画像 */
.sec03 figure {
    grid-column: 1;
    grid-row: 1;
}

/* セクション03: 文章 */
.sec03 p {
    grid-column: 1;
    grid-row: 3;
}

/* セクション03: ショップ情報 */
.sec03 .shop {
    grid-column: 1;
    grid-row: 4;
}


/* ショップ情報 */
.shop {
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-template-rows: auto auto;
    grid-column-gap: 10px;
    grid-row-gap: 5px;
    border: solid 1px #222;
}


.shop img {
    grid-column: 1;
    grid-row: 1 / -1;
}

.shop h3 {
    grid-column: 2;
    grid-row: 1;
    font-size: 12px;
    align-self: end;
}
.shop p {
    grid-column: 2;
    grid-row: 2;
    font-size: 10px;
    line-height: 1.5;
}

.shop span {
    padding: 0 5px;
    border-radius: 10px;
    background-color: #ddd;
}


/* セクションを区切る点線 */
.column3::before   {
    grid-column: 2 / -2;
    grid-row: 4;
    align-self: center;
    content: '';
    border-top: dotted 6px #ddd;
}

.column3::after    {
    grid-column: 3;
    grid-row: 5;
    justify-self: center;
    content: '';
    border-left: dotted 6px #ddd;
}


/* フッター */
.column3-foot {
    grid-column: 1 / -1;
    grid-row: -2;
    padding: 30px 0;
    background-color: #222;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}


/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
    .column3 {
        --side_old: calc( (100vw - 960px) / 2 );
    }

    .column3-title {
        font-size: 40px;
    }

    .sec h2 {
        font-size: 21px;
    }
}



/* ##### 画面の横幅767ピクセル以下 ##### */
@media (max-width: 767px) {
    /* グリッド */
    .column3 {
        --side: 20px;
        grid-template-columns:
         var(--side) 1fr var(--side);
        grid-template-rows:
         auto 40px auto 50px auto 50px auto 40px auto;
    }

    /* ヘッダー */
    .column3-head {
        grid-column: 1 / 3;
        grid-row: 1;

        /* ヘッダーのグリッド */
        grid-template-columns: var(--side) 1fr 100px;
        grid-column-gap: 12px;
    }

    /* ヘッダー: シリーズ名 */
    .column3-series {
        display: block;
        writing-mode: vertical-rl;
        width: var(--side); /* Safari 10.x用 */
    }

    .column3-series img {
        width: 15px;
        height: 15px;
        vertical-align: baseline;
    }


    /* ヘッダー: タイトル */
    .column3-title {
        grid-column: 2 / -1;
        grid-row: 2;
    }

    /* ヘッダー: カテゴリー */
    .column3-category {
        grid-column: 2 / -1;
        grid-row: 3;
    }

    /* ヘッダー: リード文 */
    .column3-lead {
        grid-column: 2 / -1;
        grid-row: 4;
    }

    /* ヘッダー: SNSメニュー */
    .column3-sns a {
        width: 30px;
        line-height: 30px;
    }

    /* ヘッダー： 装飾画像 */
    .column3-head::after {
        content: none;
    }


    /* セクション: 小見出し */
    .sec h2 {
        margin: 0;
        font-size: 20px;
    }

    .sec .spot {
        margin: 0 0 0 calc( (var(--side) + 5px) * -1 );
        font-size: 12px;
        align-self: end;
    }

    .sec .num {
        font-size: 60px;
    }

    /* セクション01 */
    .sec01 {
        grid-column: 2;
        grid-row: 3;

        /* セクション01のグリッド */
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, auto);
        grid-row-gap: 15px;
    }

    .sec01.sec > * {
        grid-column: auto;
        grid-row: auto;
    }

    .sec01 h2::after {
        margin: 0 calc( var(--side) * -1 );
    }

    /* セクション02 */
    .sec02 {
        grid-column: 2;
        grid-row: 5;
    }

    /* セクション03 */
    .sec03 {
        grid-column: 2;
        grid-row: 7;
    }

    .sec03.sec > * {
        grid-column: auto;
        grid-row: auto;
    }

    .sec03 h2::before {
        content: none;
    }

    /* フッター */
    .column3-foot {
        grid-column: 1 / -1;
        grid-row: -2 / -1;
    }


    /* セクションを区切る点線 */
    .column3::before   {
        grid-column: 2;
        grid-row: 4;
    }

    .column3::after    {
        grid-column: 2;
        grid-row: 6;
        justify-self: stretch;
        align-self: center;
        border-top: dotted 6px #ddd;
    }

}


} /* CSSグリッドに対応したブラウザ用の設定 ここまで */


/* IE11用の設定を記述 */
@media all and (-ms-high-contrast: none), not all and (-ms-high-contrast: none) {

/* Autoprefixerで変換した設定 */

/* 基本 */

.column3 * {
    margin: 0;
}

.column3 img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.column3-series img {
    max-width: 30px;
}

.shop img {
    max-width: 100px;
}


/* グリッド */
.column3 {
    --side: 20px;
    display: -ms-grid;
    display: grid;
    /* -ms-grid-columns: calc( (100vw - 768px) / 2 ) 1fr 50px 1fr calc( (100vw - 768px) / 2 ); */
    -ms-grid-columns: 10px 1fr 50px 1fr 10px;
        grid-template-columns: calc( (100vw - 768px) / 2 ) 1fr 50px 1fr calc( (100vw - 768px) / 2 );
    -ms-grid-rows: auto 30px auto 40px auto 30px auto;
        grid-template-rows: auto 30px auto 40px auto 30px auto;
}

/* ヘッダー */
.column3-head {
    width:1000px;
    -ms-grid-column: 2;
    -ms-grid-column-span: 3;
    grid-column: 2 / 5;
    -ms-grid-row: 1;
    grid-row: 1;

    /* ヘッダーのグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 75px 1fr 140px;
        grid-template-columns: 75px 1fr 140px;
    -ms-grid-rows: 45px (auto)[3];
        grid-template-rows: 45px repeat(3, auto);
    grid-column-gap: 24px;
    grid-row-gap: 12px;
}


/* ヘッダー: タイトル */
.column3-title {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3;
    grid-row: 3;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.2;
}

/* ヘッダー: リード文 */
.column3-lead {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 4;
    grid-row: 4;
    font-size: 13px;
    line-height: 1.8;
}

/* ヘッダー: シリーズ名 */
.column3-series {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1 / 4;
    margin-bottom: -12px;
    background-color: #000;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    display: -ms-grid;
    display: grid;
    justify-items: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    grid-row-gap: 8px;
}

/* ヘッダー: 日付 */
.column3-date {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
    padding: 3px 0;
    background-color: #222;
    color: #fff;
    font-size: 14px;
    text-align: center;
}


/* ヘッダー： メニューの基本設定 */
.column3-head ol,
.column3-head ul {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin: 0;
    padding: 0;
    list-style: none;
}

.column3-head a,
.column3-head a {
    color: #000;
    text-decoration: none;
}

/* ヘッダー: パンくずリスト */
.column3-bread {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
    font-size: 10px;
    line-height: 2;
}

.column3-bread li:not(:last-child)::after {
    margin: 0 5px;
    content: '>';
    color: #aaa;
}

/* ヘッダー: カテゴリー */
.column3-category {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
}

.column3-category ul {
    grid-column-gap: 5px;
}

.column3-category a {
    display: block;
    padding: 3px 5px;
    border-radius: 5px;
    background-color: #ccc;
    font-size: 10px;
}

/* ヘッダー: SNSメニュー */
.column3-sns {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 3;
    grid-row: 3;
}

.column3-sns ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.column3-sns a {
    font-size: 14px;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    display: block;
    width: 40px;
    line-height: 35px;
}
.column3-sns li:nth-child(1) a
     {background-color: #55acee;}
.column3-sns li:nth-child(2) a
     {background-color: #3b5998;}
.column3-sns li:nth-child(3) a
     {background-color: #dd4b39;}

/* ヘッダー： 区切り線 */
.column3-head::before  {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1 / 4;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
    content: '';
    border-top: solid 4px #222;
    height: 2px;
    border-bottom: solid 2px #222;
    margin: 0 calc(( (100vw - 768px) / 2 ) * -1) -4px;
}

/* ヘッダー： 装飾画像 */
.column3-head::after   {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 4;
    grid-row: 4;
    -ms-grid-column-align: center;
        justify-self: center;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    width: 80%;
    content: url('img/gourmet.svg');
}


/* セクション（共通） */
.sec h2 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.2;
}

.sec .spot {
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    border: solid 1px #aaa;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 3.75em;
    height: 3.75em;
    line-height: 3.75em;
}

.sec .num {
    font-size: 78px;
    font-weight: 300;
    line-height: 1;
}

.sec p {
    font-size: 14px;
    text-align: justify;
    text-justify: inter-ideograph;
}


/* セクション01 */
.sec01 {
    -ms-grid-column: 2;
    -ms-grid-column-span: 3;
    grid-column: 2 / 5;
    -ms-grid-row: 3;
    grid-row: 3;

    /* セクション01のグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 50% 1fr;
        grid-template-columns: 50% 1fr;
    -ms-grid-rows: auto 1fr auto;
        grid-template-rows: auto 1fr auto;
    grid-column-gap: 25px;
    grid-row-gap: 15px;
}

/* セクション01: 小見出し */
.sec01 h2 {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    margin-left: -70px;
    z-index: 1;

    /* 小見出しのグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto 1fr;
        grid-template-columns: auto auto 1fr;
    -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
    grid-row-gap: 10px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
}

.sec01 h2::after {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1 / 4;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec01 .spot {
    margin-top: -8px;
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
}

.sec01 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}


/* セクション01: 画像 */
.sec01 figure {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1 / 4;
}

.sec01 figure img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}

/* セクション01: 文章 */
.sec01 p {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
}

/* セクション01: ショップ情報 */
.sec01 .shop {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3;
    grid-row: 3;
}


/* セクション02 */
.sec02 {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 5;
    grid-row: 5;

    /* セクション02のグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 4fr 5fr;
        grid-template-columns: 4fr 5fr;
    -ms-grid-rows: auto 1fr auto auto;
        grid-template-rows: auto 1fr auto auto;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
}


/* セクション02: 小見出し */
.sec02 h2 {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / 3;
    -ms-grid-row: 1;
    grid-row: 1;

    /* 小見出しのグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto auto 1fr;
        grid-template-columns: auto auto auto 1fr;
    -ms-grid-rows: auto;
        grid-template-rows: auto;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
}

.sec02 h2::after {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    margin-bottom: -45px;
    margin-right: 5px;
    z-index: 1;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec02 .spot {
    margin-left: -20px;
    margin-right: -10px;
    margin-bottom: -20px;
    z-index: 1;
}

.sec02 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}


/* セクション02: 画像01 */
.sec02 .fig01 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    grid-row: 2 / 4;
    margin-bottom: 40px;
}

.sec02 .fig01 img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}


/* セクション02: 画像02 */
.sec02 .fig02 {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 3;
    grid-row: 3;
    margin-left: -40px;
}

/* セクション02: 文章 */
.sec02 p {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
}

/* セクション02: ショップ情報 */
.sec02 .shop {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / 3;
    -ms-grid-row: 4;
    grid-row: 4;
}


/* セクション03 */
.sec03 {
    -ms-grid-column: 4;
    grid-column: 4;
    -ms-grid-row: 5;
    grid-row: 5;

    /* セクション03のグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    -ms-grid-rows: auto auto 1fr auto;
        grid-template-rows: auto auto 1fr auto;
    grid-row-gap: 15px;
}

/* セクション03: 小見出し */
.sec03 h2 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;

    /* 小見出しのグリッド */
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto 1fr auto;
        grid-template-columns: auto auto 1fr auto;
    -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
    grid-row-gap: 10px;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
}

.sec03 h2::before {
    -ms-grid-column: 4;
    grid-column: 4;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    margin-bottom: -10px;
    margin-top: -60px;
    z-index: 1;
    -webkit-transform: rotate(-22deg);
        -ms-transform: rotate(-22deg);
            transform: rotate(-22deg);
    -webkit-transform-origin: right bottom;
        -ms-transform-origin: right bottom;
            transform-origin: right bottom;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec03 h2::after {
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    grid-column: 1 / 5;
    content: '';
    display: block;
    border: solid 4px gold;
}

.sec03 .spot {
    margin-left: -15px;
}

.sec03 .num {
    margin-bottom: -5px;
    margin-right: 5px;
}

/* セクション03: 画像 */
.sec03 figure {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
}

/* セクション03: 文章 */
.sec03 p {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
}

/* セクション03: ショップ情報 */
.sec03 .shop {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 4;
    grid-row: 4;
}


/* ショップ情報 */
.shop {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 100px 1fr;
        grid-template-columns: 100px 1fr;
    -ms-grid-rows: auto auto;
        grid-template-rows: auto auto;
    grid-column-gap: 10px;
    grid-row-gap: 5px;
    border: solid 1px #222;
}


.shop img {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1 / 3;
}

.shop h3 {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    font-size: 12px;
    -ms-flex-item-align: end;
        -ms-grid-row-align: end;
        align-self: end;
}
.shop h3 a,.column3  .shop h3 a:visited,.column3  .shop h3 a:link{
    color:#333!important;
    text-decoration: none;
}

.shop p {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 2;
    grid-row: 2;
    font-size: 10px;
    line-height: 1.5;
}

.shop span {
    padding: 0 5px;
    border-radius: 10px;
    background-color: #ddd;
}


/* セクションを区切る点線 */
.column3::before   {
    -ms-grid-column: 2;
    -ms-grid-column-span: 3;
    grid-column: 2 / 5;
    -ms-grid-row: 4;
    grid-row: 4;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    content: '';
    border-top: dotted 6px #ddd;
}

.column3::after    {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 5;
    grid-row: 5;
    -ms-grid-column-align: center;
        justify-self: center;
    content: '';
    border-left: dotted 6px #ddd;
}


/* フッター */
.column3-foot {
    -ms-grid-column: 1;
    -ms-grid-column-span: 5;
    grid-column: 1 / 6;
    -ms-grid-row: 7;
    grid-row: 7;
    padding: 30px 0;
    background-color: #222;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
}



/* IE11用追加設定 */
.column3::before,
.column3::after {
    display: block;
}

/* IE11用追加設定: ヘッダー */
.column3-date,
.column3-head::before,
.column3-head::after {
    display: block;
}
.column3-bread,
.column3-category,
.column3-title,
.column3-lead {
    margin-left: 24px;
    margin-right: 24px;
    margin-top: 12px;
}
.column3-head ol,
.column3-head ul {
    display: flex;
}
.column3-series {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 10px;
}
.column3-series img {
    margin-bottom: 5px;
}


/* IE11用追加設定: セクション */
.column3 {
    min-width: 768px;
}
.sec > h2,
.sec > p {
    margin-bottom: 15px;
}
.sec01 > figure {
    margin-right: 25px;
}
.sec02 > .fig01 {
    margin-right: 15px;
}
.sec02 > .fig02 {
    margin-bottom: 15px;
}
.shop h3,
.shop p {
    margin-left: 10px;
}

/* IE11用追加設定: セクション 小見出し */
.sec h2 span,
.sec h2::after,
.sec h2::before {
    display: block;
}
.sec h2 span {
    -ms-grid-column: 3;
    -ms-grid-row-align: end;
}
.sec h2 .spot {
    -ms-grid-column: 1;
}
.sec h2 .num {
    -ms-grid-column: 2;
}
.sec01 h2::after {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    -ms-grid-row: 2;
    margin-top: 10px;
}
.sec02 h2 span {
    -ms-grid-column: 4;
}
.sec02 h2::after {
    -ms-grid-column: 3;
    -ms-grid-row: 1;
}
.sec03 h2::after {
    -ms-grid-column: 1;
    -ms-grid-column-span: 4;
    -ms-grid-row: 2;
    margin-top: 10px;
}


} /* IE11用の設定 ここまで */


/* IE11用の設定（画面の横幅768px以下のときの両サイドの余白) */
@media all and (max-width: 768px) and (-ms-high-contrast: none), 
not all (min-width: 768px) and (-ms-high-contrast: none) {
    .column3 {
        -ms-grid-columns: 20px 1fr 50px 1fr 20px;
    }
    .column3-head::before {
        margin-left: -20px;
        margin-right: -20px;
    }
} /* IE11用の設定 ここまで */

/* /column3 */

/*------------------------------------------------------------
教室の紹介
-------------------------------------------------------------*/

/* sectionの最後の下線 */
.school_shoukai, .school_shidou, .ondemand {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/* 教室の外観 */

.flex_wrap_container{
	width: 100%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

	-ms-flex-wrap: wrap;
    flex-wrap: wrap;
	padding: 0;
	margin: 0;
}

.img_str_fukidashi {
	width: 100%;
    display: flex;
}

.img_str_fukidashi ul {
    width: 100%;
    display: flex;
    animation: fadeIn .7s ease 0s 1 normal;
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.img_str_fukidashi ul li:first-child{
    width: 50%;
    height:100%;
}
.img_str_fukidashi ul li:nth-child(2){
    width: 50%;
    height:100%;
}
.img_str_fukidashi ul li img{
    width: 100%;
    height:100%;
}

.row_fukidashi_all {
    width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    height: 100%;
    list-style-type: none;
    align-content: space-between;
    padding: 0;
}
.row_fukidashi_left {
    width: 50%;
    height: auto;
    padding: 0 0 10px;
}
.row_fukidashi_left p {
    font-size: 14px;
    margin-bottom: 0;
}
.row_fukidashi_right {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 0;
}
.row_fukidashi_right p {
    font-size: 14px;
    margin-bottom: 0;
    height: 100px;
}
.row_fukidashi_right img {
    width: 100%;
    height: auto;
}
.bottom_img {
    display: inline-flex;
    align-items: center;
}
.img_str_fukidashi li:first-child {
    width: 50%;
    height: 100%;
    order: 1;
    padding: 10px;
}
.img_str_fukidashi li:nth-child(2) {
    width: 50%;
    height: 100%;
    order: 2;
    padding: 10px;
}
img.cover_img {
    width:100%;
    height:100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'; /*IE対策*/
}
@media only screen and (max-width: 1000px) {
    .img_str_fukidashi ul li:first-child {
        height:auto!important;
    }
    .img_str_fukidashi ul li:nth-child(2) {
        flex-grow: 1;
        height:auto!important;
    }
    .column_str_down{
        margin-top: auto!important;
    }
}

.column_str_all{
    width:100%;
    height:100%;
    padding-top: 0;
    display: flex;
    flex-direction: column;
}
.column_str_all .column_str_down{
        margin-top: auto;
}
.column_str_up p{margin-bottom:5px;}

.row_fukidashi_left, .row_fukidashi_right{padding-bottom:0;}

@media only screen and (min-width: 641px) {
	.img_str_fukidashi {
        width:50%;
        height:auto;
    }
}

/*------------------------------------------------------------
指導方法
-------------------------------------------------------------*/

/* 学習指導 */

.flex_width_half_1000 {/* 幅1000以上は2列にする */
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.img_str_shidou ul li img {
    width: 100%;
    height: 100%;
}

.img_str_shidou .box8 {margin-top:0;padding:10px 16px 10px 16px;line-height: 1.5em}

.img_str_shidou .box16 {margin-top:0px;}/* スタッフ */

.img_str_shidou .box25 {height:100%;}

.img_str_shidou .box28 {margin-top:27px;padding:10px 16px 10x 16px;line-height: 1.5em}

.flex_width_half_1000_box{width:50%;}
.flex_width_half_1000_box ul{ width: 100%; height: 100%; }

@media only screen and (max-width: 1000px) {
    .img_str_shidou ul li:first-child {
        height:auto!important;
    }
    .img_str_shidou ul li:nth-child(2) {
        flex-grow: 1;
        height:auto!important;
    }
}

/* ##### 画面の横幅640ピクセル以下 ##### */
@media (max-width:640px) {
    .flex_width_half_1000_box{width:100%;}
}

.img_str_shidou ul {
    width: 100%;
    height:100%;
    display: flex;
    height: 100%;
    animation: fadeIn .7s ease 0s 1 normal;
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.img_str_shidou li {
    width: 100%;
    height: 100%;
}
.img_str_shidou p {
    text-align: justify;
    text-justify: inter-ideograph;
}


.row_shidou_all {
    width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    height: auto;
    list-style-type: none;
    align-content: space-between;
    padding: 0;
}
.row_shidou_left {
    width: 50%;
    height: auto;
    padding: 0 0 10px;
}

.row_shidou_left p {
    font-size: 14px;
    margin-bottom: 0;
}
.row_shidou_right {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    justify-content: center;
    align-items: center;
    padding: 0 0 10px;
}
.row_shidou_right p {
    font-size: 14px;
    margin-bottom: 0;
    height: 100px;
}
.row_shidou_right img {
    width: 100%;
    height: auto;
}
.img_str_shidou li:first-child {
    width: 50%;
    height: 100%;
    align-self: flex-start;
    order: 1;
    padding: 10px;
}
.img_str_shidou li:nth-child(2) {
    width: 50%;
    height: 100%;
    align-self: flex-start;
    order: 2;
    padding: 10px;
}
h4.shidou_midashi {
    font-size: 1.2em;
    font-weight: 800;
}
.img_str_shidou .box25 {
    margin-top: 0;
    margin-bottom: 10px;
}
.img_str_shidou .box5 {
    margin-top: 0;
    margin-bottom: 10px;
}

/* ##### 画面の横幅1000ピクセル以下 ##### */
@media (max-width:1000px) {
    .access_flex li:first-child {
        width: 100%;
    }
    .access_flex li:nth-child(2) {
        width: 100%;
    }
    .img_str_shidou ul {
       width: 100%;
        flex-direction: column;
    }
    .img_str_shidou li:first-child {
        width: 100%;
        height: 100%;
    }
    .img_str_shidou li:nth-child(2) {
        width: 100%;
        height: 100%;
        }

    .nyukai ul {
       width: 100%;
        flex-direction: row;
    }
    .nyukai li:first-child {
        width: 50%;
        height: 100%;
    }
    .nyukai li:nth-child(2) {
        width: 50%;
        height: 100%;
    }


    .row_shidou_left {
        padding-top: 0;
    }
    .row_shidou_right {
        padding-top: 0;
    }
    .img_str_fukidashi ul {
      width:100%;
        flex-direction: column;
    }
    .flex_wrap_container .img_str_fukidashi ul li:first-child {
        width: 100%;
        height: 100%;
        align-self: flex-start;
    }
    .flex_wrap_container .img_str_fukidashi li:nth-child(2) {
        width: 100%;
        height: 100%;
        align-self: flex-start;
    }
    .row_fukidashi_left {
        width:70%;
        padding-top: 0;
        display: flex;
        flex-direction: column;
    }
     .row_fukidashi_left .balloon1-right{
        margin-top: auto;
    }
    .row_fukidashi_right {
      width:30%;
        padding-top: 0;
    }
    .row_str_left {
        width: 50%;
        padding-top: 0;
    }
    .row_str_right {
        width: 50%;
        padding-top: 0;
    }
    .column_str_up {
        padding-top: 0;
    }
    .img_str_big ul {
        flex-direction: column;
    }
    .img_str_big li:first-child {
        width: 100%;
    }
    .img_str_big li:nth-child(2) {
        width: 100%;
    }
}

/* ##### 画面の横幅640ピクセル以下 ##### */
@media (max-width:640px) {
    .nyukai ul {
       width: 100%;
        flex-direction: column;
    }
    .nyukai li:first-child {
        width: 100%;
        height: 100%;
    }
    .nyukai li:nth-child(2) {
        width: 100%;
        height: 100%;
    }
}

/*------------------------------------------------------------
アクセス
-------------------------------------------------------------*/

.access_flex p {
    font-size: 14px;
    margin-bottom: 0;
}
.access_flex span {
    font-size: 18px;
    margin-bottom: 0;
}
.access_flex ul {
    width: 100%;
    display: flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    animation: fadeIn .7s ease 0s 1 normal;
    list-style-type: none;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    -moz-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    -o-box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    padding: 0;
    margin: 0 0% 25px;
}
.access_flex li img {
    width: 100%;
}
.access_flex li:first-child {
    width: 40%;
    height: auto;
    order: 1;
    padding: 10px;
}
.access_flex li:nth-child(2) {
    width: 60%;
    order: 2;
    padding: 10px;
}
.access_flex li:nth-child(3) {
    width: 100%;
    order: 3;
    padding: 10px;
}
.access_flex li:nth-child(4) {
    width: 100%;
    order: 4;
    padding: 10px;
}
.access_flex li:nth-child(5) {
    width: 100%;
    order: 5;
    padding: 10px;
}
.access_flex li:nth-child(6) {
    width: 100%;
    order: 6;
    padding: 10px;
}
.access_flex li:nth-child(7) {
    width: 100%;
    order: 7;
    padding: 10px;
}
.access_flex li:nth-child(8) {
    width: 50%;
    order: 8;
    padding: 10px;
}
.access_flex li:nth-child(9) {
    width: 50%;
    order: 9;
    padding: 10px;
}

/*------------------------------------------------------------
オンデマンド　OnDemand
-------------------------------------------------------------*/


/*------------------------------------------------------------
よくある質問　FAQ
-------------------------------------------------------------*/

.faq_container{
    display: -webkit-inline-flex; /* Safari */
    display: inline-flex;
    -webkit-flex-direction: row; /* Safari */
    flex-direction:         row;
    -webkit-flex-wrap: nowrap; /* Safari */
    flex-wrap:         nowrap;
    -webkit-align-items: stretch; /* Safari */
    align-items:         stretch;
    width:100%;
    -webkit-align-items: center; /* Safari */
    align-items:         center;
    margin-bottom:40px;
}

.faq_image_kotei{
width:150px;
padding:0 10px;
}
.faq_image_kotei img{
    width:100%;
}
.faq_str_grow{
  flex:1;
  padding:0 5px;
}
.faq_str_grow p{
text-align: justify; /* 両端揃え(均等割り付け) */
}

@media screen and (max-width:768px) {
.faq_image_kotei{width:120px;}
}
@media screen and (max-width:480px) {
    .faq_image_kotei{width:90px;}
}

/*------------------------------------------------------------
入会の流れ
-------------------------------------------------------------*/

.box29 .column_str_all .column_str_up {margin-top:0px;margin-bottom:0px;}
.box29 .column_str_all .column_str_down {padding:0px;}

/*------------------------------------------------------------
左にメイン　右にサイドバー
-------------------------------------------------------------*/

.flex_main_sidebar{
    width:100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex_main_sidebar_main{
    width:75%;
    padding-right:10px;
}
.flex_main_sidebar_sidebar{
    display: flex;
    flex-direction: column;
    width:25%;
    height:auto;
}
.side-twitter {height:100%;}

@media only screen and (max-width: 767px) {
    .flex_main_sidebar_main { width: 100%; padding:0;}
    .flex_main_sidebar_sidebar { width: 100%; }
    .side-twitter {display: none;}
}

ul.sidebar_banner_box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;

    flex-wrap: wrap;
    justify-content: space-between;
}
ul.sidebar_banner_box li{
    width:100%;
    margin-bottom:20px;
}

ul.sidebar_banner_sns{
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    flex-wrap: wrap;
    width:100%;
    height:100%;
}

ul.sidebar_banner_sns li{
    padding-bottom:20px;
}
ul.sidebar_banner_sns li:nth-child(1) { height:50%; }
ul.sidebar_banner_sns li:nth-child(2) { height:50%; }
.twitter-timeline{height:100%!important;}
.fb-page {width:100%;height:100%!important;}
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style]{
    width: 100% !important;height:100%!important;
}

@media only screen and (max-width: 767px) {
    .flex_main_sidebar_sidebar, .flex_main_sidebar_sidebar {
        width: 100%;
    }
    .flex_main_sidebar_sidebar ul.sidebar_banner_box, .flex_main_sidebar_sidebar ul.sidebar_banner_sns {
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
         flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .flex_main_sidebar_sidebar ul.sidebar_banner_sns{height:500px;}
    .flex_main_sidebar_sidebar ul.sidebar_banner_box li{ width:32%;}
    .flex_main_sidebar_sidebar ul.sidebar_banner_sns li{ width:49%;height:100%;}
}
@media only screen and (max-width: 640px) {
    .flex_main_sidebar_sidebar ul.sidebar_banner_box li{ width:49%;}
}
@media only screen and (max-width: 480px) {
    .flex_main_sidebar_sidebar ul.sidebar_banner_sns li{ width:100%;height:100%;}
}

/*------------------------------------------------------------
最新記事のサイドバー
-------------------------------------------------------------*/

ul.sidebar-post-archive{
    width:100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

.main_sidebar li{
  width:100%;
  margin-bottom:20px;
}

ul.sidebar-post-archive li{
    width:100%;
    background-color: #fff;
    margin-bottom: 20px;
}
ul.sidebar-post-archive li img{
    width:100%;
    height:auto;
}

a h4.sidebar-post-title {
    font-size: 1.0em;
    font-weight: bold;
    padding:3px 5px;
    margin:0 0 3px 0;
    color:#666;

    transition: color .3s;
    padding-bottom:1px;
}

a h4.sidebar-post-title:hover {
  color:#00CED1;
  text-decoration: none;
  padding-bottom:1px;
}

.sidebar-post-excerpt p{
    font-size: 0.8em;
    padding:5px 3px 0px 5px;
    margin:0 0 8px 0;
}

@media only screen and (max-width: 767px) {
  .main_sidebar .main_part {
    width:100%;
    padding:0;
  }
  .main_sidebar .sidebar_part {
    width:100%;
    padding:0;
  }
  .main_sidebar .sidebar_part li{
  width:23.5%;
}
}

@media only screen and (max-width: 739px) {
    ul.sidebar-post-archive { width:48%; }
}

@media only screen and (max-width: 639px) {
    .main_sidebar .sidebar_part li{
    width:33%;
  }
    .main_sidebar .sidebar_part li:nth-child(1){
  display: none;
  }
}

/* サイドバーの残りを埋める */

.sidebar_nokori{
    flex-grow: 1;
    width:100%;
    height:auto;
    padding: 0 0 3em 0;
    background-repeat : repeat-y;
    background-position: center top;
    background-image: url("images/pattern-wg-3.svg");
}


/* 講座のシングルページでのタイトル画像 */
.lecture_title_img img{width:100%;max-width:640px;height:auto}



/* Footer ----------------------------------------------------------------- */


.my-footer .p-footer-link {
    background-image: url('images/pc-pattern-1450x500-2.svg');
}

.my-footer .p-footer-link { position: relative; position: relative; width: 100%; height: 500px; overflow: hidden; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.my-footer .p-footer-link::before { display: block; z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ""; }

.my-footer .p-footer-link { position: relative; position: relative; width: 100%; height: 500px; overflow: hidden; background-position: center center; background-repeat: no-repeat; background-size: cover; }

.my-footer .p-footer-link::before { display: block; z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; content: ""; background:none; }

.my-footer .footer-logo img { width:70%; vertical-align: middle; }

.my-footer .p-footer-link__inner { display: -webkit-box; display: -ms-flexbox; display: flex; z-index: 1; position: relative; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 100%; }

.my-footer .p-footer-link__title { font-weight: 600!important; margin-bottom: 10px; color: #fff; font-size: 36px; line-height: 1.5; text-align: center; -webkit-transition: color 0.2s ease; transition: color 0.2s ease; }

.my-footer .p-footer-link__desc { font-weight: 400!important;margin-bottom: 39px; color: #fff; font-size: 14px; line-height: 2.6; text-align: center; }

.my-footer .p-footer-link__list { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 0; }

.my-footer .p-footer-link__list img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100% !important; margin: auto; -o-object-fit: cover; object-fit: cover; }

.my-footer .p-footer-link__list-item { margin: 0 15px; }

.my-footer .p-article07__title{ color:#666;font-size:2em;font-weight: 600!important;}


@media screen and (max-width: 991px) { 
    .my-footer .p-footer-link { height: auto; padding: 51px 0 55px; }
    .my-footer .p-footer-link__title { font-size: 28px; }
    .my-footer .p-footer-link__desc { margin-bottom: 17px; line-height: 2; } }

@media screen and (max-width: 900px) { 
    .my-footer .p-footer-link__list { display: block; width: 100%; }
  .my-footer .p-footer-link__list-item { margin: 0 auto; }
  .my-footer .p-footer-link__list-item + .p-footer-link__list-item { margin-top: 24px; } }

@media screen and (max-width: 767px) { .p-footer-link__title { margin-bottom: 10px; font-size: 20px; } }



.p-article07 { position: relative; width: 400px; height: 120px; overflow: hidden; background-position: center; background-repeat: no-repeat; background-size: cover; }

.p-article07 a { display: block; width: 100%; height: 100%; }

.p-article07__title { z-index: 1; position: absolute; top: 0; right: 0; width: 170px; height: 120px; background: #fff; font-size: 16px; line-height: 120px; }

.p-article07__title::before { z-index: 1; position: absolute; top: 0; left: -120px; width: 0; height: 0; border-width: 120px 60px 120px 60px; border-style: solid; border-color: transparent #fff #fff transparent; content: ""; }

@media screen and (max-width: 500px) { .p-article07 { width: 90%; padding-bottom: 30%; }
  .p-article07__title { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 140px; height: 100%; font-size: 14px; }
  .p-article07__title::before { z-index: 1; left: -100px; border-width: 100px 50px 100px 50px; } }


/** share */
.p-share__btn { margin-bottom: 2px; }

.slick-arrow { z-index: 1; -webkit-transform: none; transform: none; -webkit-transition-duration: 0.2s; transition-duration: 0.2s; -webkit-transition-property: background; transition-property: background; }

.slick-arrow::before { opacity: 1; }

.slick-arrow--square { top: auto; bottom: 0; left: auto; width: 50px; height: 50px; }

.slick-arrow--square.slick-prev { right: 50px; }

.slick-arrow--square.slick-next { right: 0; }

.slick-arrow--square::before { font-size: 16px; }

.slick-prev::before { content: "\e90f"; }

.slick-next::before { content: "\e910"; }

@media screen and (max-width: 767px) { .slick-arrow--square { width: 40px; height: 40px; }
  .slick-arrow--square::before { font-size: 13px; }
  .slick-arrow--square.slick-prev { right: 40px; } }

    ul.p-social-nav {text-align: center;}
    li.p-social-nav {display: inline-block; padding: 0 10px; }
    .p-social-nav { margin-bottom: 0; }
    .p-social-nav__item { display: inline; margin-right: 12px; font-size: 24px; text-align: center; }
    .p-social-nav__item a { color: #444; }
    .p-social-nav__item a:hover { color: #999; }
    .p-social-nav__item:last-child { margin-right: 0; }

    /** info__address */
    .p-info__address { margin-bottom: 21.6px; font-size: 14px; line-height: 2.2; text-align: center; }
    .p-copyright { height: 60px; color: #000; font-size: 12px; line-height: 60px; text-align: center; }
    .p-copyright small { font-size: 100%; }

@media screen and (max-width: 767px) { .p-info { padding: 40px 0; }
    .p-info__logo { margin-bottom: 11.6px; }
    .p-info__address { margin-bottom: 11.6px; }
    .p-copyright { height: 50px; line-height: 50px; }
}

/** footer-logo-small */

img.footer-logo-small {
    display: block;
    width:400px;
    height:auto;
    margin:1em auto;
}

/*------------------------------------------------------------
本部フランチャイズLP
-------------------------------------------------------------*/

.lp-top-logo{
    margin: 1.5em 0 1em 0;
}

/* LPお問合せボタン */
.honbu-otoiawase-button {
  max-width: 60%;
  margin: 3em auto;
}
/* ##### 画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
.honbu-otoiawase-button {
  max-width: 60%;
  margin: 2.5em auto;
}
}

/* ##### 画面の横幅768～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .honbu-otoiawase-button {
    max-width: 70%;
    margin: 2em auto;
    }
}

/* ##### 画面の横幅641～767ピクセル ##### */
@media (min-width: 641px) and (max-width: 767px) {
    .honbu-otoiawase-button {
    max-width: 70%;
    margin: 2em auto;
    }
}

/* ##### 画面の横幅480～640ピクセル ##### */
@media (min-width: 480px) and (max-width: 640px) {
    .honbu-otoiawase-button {
    max-width: 80%;
    margin: 1em auto;
    }
}

/* ##### 画面の横幅479ピクセル以下 ##### */
@media only screen and (max-width: 479px) {
    .honbu-otoiawase-button {
    max-width: 80%;
    margin: 0em auto;
    }
}

/*------------------------------------------------------------
300教室突破
-------------------------------------------------------------*/

.lp-top-hyoshi{
    padding: 0 0 20px 0;
    margin: 0 0 30px 0;
    border-bottom: solid 2px #eee;
}

/*------------------------------------------------------------
未経験者1名でスタート
-------------------------------------------------------------*/
.lp-mikeiken-8button{
    padding: 0 0 20px 0;
    margin: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/*------------------------------------------------------------
面倒なことは本部にお任せ
-------------------------------------------------------------*/
.lp-pcschool-omakase{
    padding: 0 0 20px 0;
    margin: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/*------------------------------------------------------------
三冠達成しました
-------------------------------------------------------------*/

.flex_triple_crown{
    padding: 0 0 20px 0;
    margin: 0 0 20px 0;
    border-bottom: solid 2px #eee;
}

/*------------------------------------------------------------
ロボットLP
-------------------------------------------------------------*/

.nobreak { word-break: keep-all }
.nobreak wbr::before { content: "\200B" }

.robot-content h1{
    margin:1em 0;
    word-break: keep-all;
    text-align:center;
}
.robot-content h4{
    margin:20px 0;
    text-align: center;
    font-weight: bold;
    color: #006284;
}

.robot-content p{
    margin:0;
    padding:10px;
    text-align:justify;
}

/* ロボット無料体験ボタン */

.robot-taiken{
    width:auto;
    height:240px;
    margin:4em 0;
    position: relative;
    background-image: url('images/robot-background-1100x300-bungu.svg');
}

.robot-taiken.robot-taiken-pink {
    background-image: url('images/robot-background-1100x300-bungu-pinkCS6.svg');
}
.robot-taiken.robot-taiken-orange {
    background-image: url('images/robot-background-1100x300-bungu-orangeCS6.svg');
}

.robot-taiken ul{
    width:100%;
    margin:0;
    padding:0 10px;
    position: absolute;
  top: 50%;
  -webkit-transform : translateY(-50%);
  transform : translateY(-50%);
    
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
}

.robot-taiken ul li{
    width:100%;
    display: table;
}

.robot-taiken ul li p{
    display: table-cell;
    text-align: center;
	vertical-align: middle;
}

.robot-taiken li:nth-child(1),.robot-taiken li:nth-child(3){
  width:15%;
  height:auto;
}

.robot-taiken li:nth-child(1) img,.robot-taiken li:nth-child(3) img{
  -webkit-filter: drop-shadow(3px 3px 2px #777);
}


.robot-taiken li:nth-child(2){
    width:70%;
    -webkit-flex: 1;
  flex: 1;
}
.robot-taiken img{
width:100%;
height:auto;
padding:10px;
}

.robot-taiken .robot-taiken-button{
    transition: all 0.6s ease 0s;
}

.robot-taiken .robot-taiken-button:hover{
    cursor: pointer;
    transform: scale(1.1, 1.1);
}

/* ロボットナンバーワン表記 */

.robot-no1-hyoki .left-p25-right-p75{
    margin:0 0 2em 0;
    display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

.robot-no1-hyoki .left-p25-right-p75 .left-p25{
    width:25%;
}

.robot-no1-hyoki .left-p25-right-p75 .right-p75{
    width:75%;
}

.robot-no1-hyoki .left-p25-right-p75 p.right-p75{
    padding:1em;
    margin:1em 0;
    font-size:24px;
    font-weight: 600;
    color:#444;
}

.flex-2-box{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
/* ##### 画面の横幅640ピクセル以下 ##### */
@media screen and (max-width: 640px) {
    .reverse_100 .flex-2-box {
        -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
     -ms-flex-direction: column-reverse;
         flex-direction: column-reverse;
    }
}

.robot-21seiki .flex-2-box .flex-2-box-left{ width:50%; }
.robot-21seiki .flex-2-box .flex-2-box-right{ width:50%; }

.robot-21seiki .kyoryu .flex-2-box .flex-2-box-left{ width:70%; }
.robot-21seiki .kyoryu .flex-2-box .flex-2-box-right{ width:30%; }

.robot-content h2{font-size:30px;margin:1em 0;}

/* ##### 画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    .robot-content h1{font-size:38px;}
    .robot-content h2{font-size:30px;}
    .robot-content h4{font-size:30px;}
    .robot-no1-hyoki .left-p25-right-p75 p.right-p75{font-size:24px;}
    .robot-21seiki .flex-2-box .flex-2-box-left{ width:60%; }
    .robot-21seiki .flex-2-box .flex-2-box-right{ width:40%; }
}

/* ##### 画面の横幅768～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .robot-taiken{margin:2em 0 3em 0}
    .robot-content h1{font-size:calc( 30px + 6 * (100vw - 768px) / 231);}
    .robot-content h2{font-size:calc( 24px + 6 * (100vw - 768px) / 231);}
    .robot-content h4{font-size:calc( 26px + 4 * (100vw - 768px) / 231);}
    .robot-no1-hyoki .left-p25-right-p75 p.right-p75{font-size:calc( 22px + 2 * (100vw - 768px) / 231);}
    .robot-taiken li:nth-child(1),.robot-taiken li:nth-child(3){ width:100px; }
}

/* ##### 画面の横幅641～767ピクセル ##### */
@media (min-width: 641px) and (max-width: 767px) {
    .robot-taiken{margin:2em 0 3em 0}
    .robot-content h1{font-size:calc( 24px + 6 * (100vw - 641px) / 126);}
    .robot-content h2{font-size:calc( 20px + 4 * (100vw - 641px) / 126);}
    .robot-content h4{font-size:calc( 22px + 4 * (100vw - 641px) / 126);}
    .robot-no1-hyoki .left-p25-right-p75 p.right-p75{font-size:calc( 20px + 2 * (100vw - 641px) / 126);}
    .robot-taiken{height:160px;}
    .robot-taiken li:nth-child(1),.robot-taiken li:nth-child(3){ width:80px; }
}

/* ##### 画面の横幅480～640ピクセル ##### */
@media (min-width: 480px) and (max-width: 640px) {
    .robot-taiken{margin:2em 0 3em 0}
    .robot-content h1{font-size:calc( 18px + 6 * (100vw - 480px) / 160);}
    .robot-content h2{font-size:calc( 16px + 4 * (100vw - 480px) / 160);}
    .robot-content h4{font-size:calc( 17px + 5 * (100vw - 480px) / 160);}
    .robot-no1-hyoki .left-p25-right-p75 p.right-p75{font-size:calc( 18px + 2 * (100vw - 480px) / 160);}
    .robot-taiken{height:160px;}
    .robot-taiken li:nth-child(1),.robot-taiken li:nth-child(3){ width:60px; }
    .robot-21seiki .flex-2-box .flex-2-box-left{ width:100%; }
    .robot-21seiki .flex-2-box .flex-2-box-right{ width:100%; }
    .robot-taiken img{padding:0;}
}

/* ##### 画面の横幅479ピクセル以下 ##### */
@media only screen and (max-width: 479px) {
    .robot-taiken{margin:2em 0 3em 0}
    .robot-content h1{font-size:18px;}
    .robot-content h2{font-size:20px;}
    .robot-content h4{font-size:17px;}
    .robot-no1-hyoki .left-p25-right-p75 p.right-p75{font-size:18px;}
    .robot-taiken{height:110px;}
    .robot-taiken li:nth-child(1),.robot-taiken li:nth-child(3){ width:50px; }
    .robot-21seiki .flex-2-box .flex-2-box-left{ width:100%; }
    .robot-21seiki .flex-2-box .flex-2-box-right{ width:100%; }
    .robot-taiken img{padding:0;}
}



#page_top{
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #3f98ef;
    opacity: 0.6;
    z-index: 999;
  }
  #page_top a{
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
  }
  #page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -7px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }

  /*記事カードのカスタマイズ*/
.cardtype__img img {
    width:100%;
    height:auto;
  }
  .flex_event_card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  
    width:100%;
    padding: 10px;
  }
  .flex_event_card article.cardtype__article{
    width:49%;
  }
  
  /*トップページのニュース＆イベントのショート*/
  .news_event_short {width:100%;}
  .news_event_short ul{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  
    width:100%;
    padding:0;
    margin:0;
  }
  .news_event_short li{
    width:49%;
  }
  @media only screen and (max-width: 767px) {
  .news_event_short li{ width:100%; }
  }
  
  /*トップページの本部イベントのショート*/
  .news-honbu-event-short {width:100%;}
  
  /* ##### 画面の横幅1000ピクセル以上 ##### */
  @media (min-width: 1000px) {
      .news-honbu-event-short .flex_event_card article.cardtype__article{ width:24%; }
  }
  /* ##### 画面の横幅769～999ピクセル ##### */
  @media (min-width: 769px) and (max-width: 999px) {
      .news-honbu-event-short .flex_event_card article.cardtype__article{ width:24%; }
  }
  /* ##### 画面の横幅481～768ピクセル ##### */
  @media (min-width: 481px) and (max-width: 768px) {
      .news-honbu-event-short .flex_event_card article.cardtype__article{ width:32%; }
  }
  /* ##### 画面の横幅480ピクセル以下 ##### */
  @media only screen and (max-width: 480px) {
      .news-honbu-event-short .flex_event_card article.cardtype__article{ width:calc(50% - 5px); }
  }
  /* ##### 画面の横幅640ピクセル以下（スマホ以下） ##### */
  @media only screen and (max-width: 640px) {
      .news-honbu-event-short .flex_event_card{padding:10px 0;}
  }
  
  /*
 * トップページ/アーカイブの記事一覧スタイル
 */
.cardtype,.sidelong {
    margin-bottom: 1em;
   }
   .cardtype__article {
    position: relative;
    width: 100%;
    margin: 0 0 25px;
    border-radius: 2px;
    background: #fff;
    box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
    cursor: pointer;
    transition: .2s ease-in-out;
   }
   .cardtype__article:hover {
    box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
    transform: translateY(-4px);
   }
   .cardtype__link {
    display: block;
    color: #555;
    text-decoration: none;
    cursor: pointer;
   }
   .cardtype__link:hover {
    color: #555;
    text-decoration: none;
   }
   .cardtype__img {
    margin: 0;
    overflow: hidden;
    position: relative;
    height: 0;
    padding-bottom: 57.7%;
   }
   .cardtype__img img {
     border-radius: 2px 2px 0 0;
     object-fit: cover;
   }
   .cardtype__link {
       background-color: #fff;
    padding-bottom: 25px;
   }
   .cardtype h2 {
       color:#333;
    margin: 8px 8px 5px 8px;
    font-size: 17px;
    height:3em;
    line-height: 1.4em;
   }
   .cardtype time {
    display: block;
    margin: 13px 13px 8px;
    color: #b5b5b5;
    font-size: 13px;
    font-weight: bold;
   }
   /* .cardtype time:before {
    content: "\f1ae";
    font-family: 'FontAwesome'!important;
    padding-right: 4px;
    font-weight: normal;
   } */
   .cat-name {
    display: inline-block;
    overflow: hidden;
    position: absolute;
    top: 13px;
    left: 13px;
    height: 22px;
    margin: 0;
    padding: 0 10px;
    border-radius: 14px;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    vertical-align: middle;
    line-height: 22px;
   }
   .cat-name:hover {
    text-decoration: none;
    background: silver;
   }
   .newmark {
    display: inline-block;
    position: absolute;
    top: 13px;
    right: 10px;
    width: 37px;
    height: 37px;
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    line-height: 37px;
    transform-origin: 50% 50%;
    animation: animScale 3.5s ease-out;
   }
   
   @keyframes animScale {
    0% {
     transform: scale(0, 0);
    }
    30% {
     transform: scale(0, 0);
    }
    35% {
     transform: scale(1.2, 1.2);
    }
    40% {
     transform: scale(1, 1);
    }
    45% {
     transform: scale(1.1, 1.1);
    }
    60% {
     transform: scale(1, 1);
    }
    100% {
     transform: scale(1, 1);
    }
   }
   .home_bottom {
    margin: 1em 0;
   }
   .home_top {
    margin: 0 0 1em;
   }
   #content.page-forfront {
    margin-top: 0;
    padding: 15px;
    background: #fff;
   }
   #content.page-forfront .entry-content {
    padding: 0!important;
   }
   
   /*記事一覧を横長スタイルにした場合*/
   .sidelong__article {
    position: relative;
    width: 100%;
    margin: 0 0 1em;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: .3s ease-in-out;
    border: solid 1px #ddd;
   }
   .sidelong__article:hover {
    box-shadow: 0 10px 20px -5px rgba(0,0,0,.2);
   }
   .sidelong__link {
    display: table;
    width: 100%;
    padding: 7px;
    color: #555;
    text-decoration: none;
    cursor: pointer;
   }
   .sidelong__link:hover{
    text-decoration: none}
   .sidelong__img,
   .sidelong__article-info {
    display: table-cell;
    vertical-align: top;
   }
   .sidelong__article-info h2{
     font-size: 24px;
   }
   .sidelong__article-info p{
     font-size: 16px;
   }
   .sidelong__img {
    width: 160px;
    height: 120px;
   }
   .sidelong__img img {
     object-fit: cover;
     width: 160px;
     height: 100%;
     background-color: #fff;
    }
   .sidelong__article-info {
    width: calc(100% - 90px);
    padding-left: 10px;
   }
   .sidelong time {
    display: block;
    color: #b5b5b5;
    font-size: 13px;
    font-weight: bold;
    margin: 0;
   }
   .sidelong h2 {
    display: -webkit-box;
    overflow: hidden;
    height: 4.2em;
    margin: 0;
    font-size: 12px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
   }
   .sidelong .newmark {
    top: 4px;
    right: auto;
    left: 4px;
   }
   @media only screen and (max-width: 639px) {
     .flex_archive_category{
       display: -webkit-box;
       display: -ms-flexbox;
       display: flex;
   
       -ms-flex-wrap: wrap;
       flex-wrap: wrap;
   
       -webkit-box-pack: justify;
       -ms-flex-pack: justify;
       justify-content: space-between;
     }
     .sidelong__article {
       width:49%;
     }
     .sidelong__link {
   
     }
     .sidelong__img img {
       width:100%;
     }
     .sidelong__article-info {
    display: block;
    width:100%;
     }
   .sidelong__link {
    display: block;
    }
    .sidelong__img{
     width:100%;
     height:150px;
     }
   
   }
   
   .cardtype__article, .sidelong__article {
      animation: fadeIn 1.1s ease 0s 1 normal;
   }
   .cardtype__article:first-child,
   .cardtype__article:nth-child(2),
   .sidelong__article:first-child,
   .sidelong__article:nth-child(2) {
      animation: fadeIn .7s ease 0s 1 normal;
   }
   @keyframes fadeIn {
    0% {
     opacity: 0;
     transform: translateY(30px);
    }
    100% {
     opacity: 1;
    }
   }
   
   /*記事カードのカスタマイズ*/
   .cardtype__img img {
     width:100%;
     height:auto;
   }
   .flex_event_card {
     display: -webkit-box;
     display: -ms-flexbox;
     display: flex;
     -ms-flex-wrap: wrap;
     flex-wrap: wrap;
     -webkit-box-pack: justify;
     -ms-flex-pack: justify;
     justify-content: space-between;
   
     width:100%;
     padding: 10px;
   }
   .flex_event_card article.cardtype__article{
     width:49%;
   }

/*wp-pagenavi base*/
.wp-pagenavi {
    clear: both;
    text-align:center;
    margin-bottom: 20px;
    }
    .wp-pagenavi a, .wp-pagenavi span {
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 8px 15px;
    margin: 0 2px;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration:none;
    }
    .wp-pagenavi a:hover{
    color:#ffd700; 
    background-color:#999; 
    border-color:#999;
    }
    .wp-pagenavi span.current{
    color: #FFF;
    background-color: #66cccc;
    border-color: #66cccc;
    font-weight: bold;
    }

    /* archive series*/

    .series_name_midashi h3 {
        font-size: 1.2em;
        margin-bottom: 0.8em;
        line-height: 1.4em;
        color: #555;
    }
    .series_name_midashi h3 a {
        color: #555;
    }

/*------------------------------------------------------------
flex_fc_description
-------------------------------------------------------------*/

/* flex_fc_description_photos */

.flex_fc_description {
    margin: 0 0 30px 0;
    width: 100%;
}

.flex_fc_description_photos {
    width: 100%;
}

.flex_fc_description_photos ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

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

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.flex_fc_description_photos li {
  width: 20%;
  height: auto;
  padding:5px;
}

.flex_fc_description_photos li img{
  width: 100%;
}

/* ##### （大画面PC）画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    .flex_fc_description_photos li { width: 16.66%; }
    .flex_fc_description_photos ul li:nth-child(11) { display: block; }
    .flex_fc_description_photos ul li:nth-child(12) { display: block; }
}

/* ##### （普通PC）画面の横幅769～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .flex_fc_description_photos li { width: 20%; }
    .flex_fc_description_photos ul li:nth-child(11) { display: none; }
    .flex_fc_description_photos ul li:nth-child(12) { display: none; }
}

/* ##### （タブレット縦）画面の横幅641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
    .flex_fc_description_photos li { width: 25%; }
    .flex_fc_description_photos ul li:nth-child(11) { display: block; }
    .flex_fc_description_photos ul li:nth-child(12) { display: block; }
}
/* ##### （スマホiPhoneXS Max縦）画面の横幅640ピクセル以下 ##### */
@media (max-width: 640px) {
    .flex_fc_description_photos li { width: 33.33%; }
    .flex_fc_description_photos ul li:nth-child(11) { display: block; }
    .flex_fc_description_photos ul li:nth-child(12) { display: block; }
}

/*------------------------------------------------------------
flex_jugyo
-------------------------------------------------------------*/

/* flex_jugyo */

.flex_jugyo {
    margin: 0 0 1em 0;
    width: 100%;
}

.flex_jugyo {
    width: 100%;
}

.flex_jugyo_photos ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

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

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.flex_jugyo_photos li {
  width: 20%;
  height: auto;
  padding:5px;
}

.flex_jugyo_photos li img{
  width: 100%;
}

/* ##### （大画面PC）画面の横幅1025ピクセル以上 ##### */
@media (min-width: 1025px) {
    .flex_jugyo_photos li { width: 20%; }
    .flex_jugyo_photos ul li:nth-child(5) { display: block; }
}

/* ##### （普通PC）画面の横幅769～1024ピクセル ##### */
@media (min-width: 768px) and (max-width: 1024px) {
    .flex_jugyo_photos li { width: 25%; }
    .flex_jugyo_photos ul li:nth-child(5) { display: none; }
}

/* ##### （タブレット縦）画面の横幅641～768ピクセル ##### */
@media (min-width: 640px) and (max-width: 768px) {
    .flex_jugyo_photos li { width: 25%; }
    .flex_jugyo_photos ul li:nth-child(5) { display: none; }
}
/* ##### （スマホiPhoneXS Max縦）画面の横幅640ピクセル以下 ##### */
@media (max-width: 640px) {
    .flex_jugyo_photos li { width: 50%; }
    .flex_jugyo_photos ul li:nth-child(5) { display: none; }
}

/*------------------------------------------------------------
左に画像50%　右に文章50%のレスポンシブ
-------------------------------------------------------------*/

.half_box_all{
width:100%;
margin:0 0 10px 0;
}
.half_box_all:after{content:"";
display: block;
clear: both;
}
.half_box_left{
float:left;
width:50%;
padding:0;
margin:0;
}

.half_box_left img{
width:100%;
height:auto;
padding:0;
margin:0;
}

.half_box_right{
float:left;
width:50%;
padding:0 10px;
}

@media (max-width: 767px) {
    .half_box_left{
        width:100%;
    }
    .half_box_right{
        padding:10px 0 0 ;
        width:100%;
    }
}

/*------------------------------------------------------------
お問い合わせ
-------------------------------------------------------------*/

/***** コンタクトフォーム school_contacts_form *****/

#school_contacts_form .table-contactform7{
  overflow: hidden;
table-layout: fixed;
margin-top:20px;
}

#school_contacts_form .required-contactform7{
  padding: 5px;
  background: #DE8686;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}

#school_contacts_form .unrequired-contactform7{
  padding: 5px;
  background: #BDBDBD;
  color: #fff;
  border-radius: 3px;
  margin-right: 3px;
}

#school_contacts_form .table-contactform7 th{
  font-weight:bold;
}

#school_contacts_form .table-contactform7 input,
#school_contacts_form .table-contactform7 textarea{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}

#school_contacts_form .address-100 input{
  max-width: 90% !important;
  margin: 5px 10px 10px 5px;
}

#school_contacts_form .message-100 textarea{
  width: 100%;
  margin: 5px 10px 10px 5px;
}
#school_contacts_form .table-contactform7 th{
  color:#000;
  background-color: #eee;
  border: 1px #aaa solid;
}
#school_contacts_form .table-contactform7 td{
  color:#000;
  border: 1px #aaa solid;
}

@media screen and (min-width: 900px){
  #school_contacts_form .table-contactform7 th{
    width:32%;
  }
}

@media screen and (max-width: 900px){
#school_contacts_form .table-contactform7{
  display:block;
}

  #school_contacts_form .table-contactform7 tbody,
  #school_contacts_form .table-contactform7 tr{
    display: block;
    width: 100%;
  }
  #school_contacts_form .table-contactform7 th{
  width:100%;
  display:block;
  margin: 0 auto;
}
#school_contacts_form .table-contactform7 td{
  display: list-item;
  list-style-type:none;
  margin:0;
  padding:0;
  width: 100%;
  border-top:none;
  border-bottom: none;
}
#school_contacts_form .table-contactform7{
  border: 1px #aaa solid;
  }
}

#school_contacts_form .table-contactform7 input, #school_contacts_form .table-contactform7 textarea {
    max-width: 90% !important;
    margin: 5px 10px 10px 5px;
    border: 1px #aaa double;
}



.contact_phone_number_str {margin-bottom:0;}

.contact_phone_number_big{
font-size:32px;
color: #f00 ;
font-weight:bold;
}

.contact_phone_number_big a{
color: #f00 !important;
}

@media (max-width: 767px) {
#contact #trust-form.contact-form table th {
width:40%!important;
}
#contact #trust-form.contact-form table td {
}

.contact_phone_number_big,.contact_phone_number_str {text-align: center;}
}

.wpcf7-text, .wpcf7-textarea{width:100%;}

.contact_table_all {
display:table;
table-layout: fixed;
width:100%;
padding:0 auto;
}

.contact_table_left{
display:table-cell;
width:40%;
padding:0 0.5em 0 0;
vertical-align:top;
}

.contact_table_left img{
width:100%;
}

.contact_table_right{
display:table-cell;
width:60%;
padding:0 0.0em 0 0;
vertical-align:top;
}

.mycontact_form h5{
font-size: 2em;
}

input.wpcf7-form-control.wpcf7-submit.btn-lg{font-size:1.5em!important;text-align: center;}

span.wpcf7-list-item { display: block; }


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 {
	background-color: #fff!important;
}

.eigyo_time_small p{margin:0!important;}

/*------------------------------------------------------------
教室検索
-------------------------------------------------------------*/

/* 地域を選択するテーブル */

#table01 table {
  width: 100%;
  border-spacing: 0;
  font-size:1.0em;
  *border-collapse: collapse;
margin-top: 0px;
padding:0;
}
#table01 table th {
  color: #fff;
  padding: 8px 8px;
  background: #66BAB7;
  background:-moz-linear-gradient(rgba(34,85,136,0.7), rgba(34,85,136,0.9) 50%);
  font-weight: bold;
  border-left:1px solid #268785;
  border-top:1px solid #268785;
  border-bottom:1px solid #268785;
  line-height: 120%;
  vertical-align: middle;
  text-align: center;
}
#table01 table th a{color: #fff;}
#table01 table th:first-child {
width:2em;
}
#table01 table tr:nth-child(2) td:nth-child(2) {
  width:4em;
}
#table01 table th:last-child {
  border-right:1px solid #268785;
}
#table01 table tr td {
  padding: 8px 8px;
  border-bottom: 1px solid #268785;
  border-left: 1px solid #268785;
  text-align: center;
}
#table01 table tr td:last-child {
  border-right: 1px solid #268785;
text-align: left;
}
#table01 table tr {
  background: #fff;
}
#table01 table tr:nth-child(2n+1) td:last-child {
  background: #f1f6fc;
}
#table01 table tr:nth-child(2n+1) td:nth-last-child(2) {
  background: #f1f6fc;
}

#table01 table tr:last-child td {
}
#table01 table tr:last-child td:first-child {
}
#table01 table tr:last-child td:last-child {
}

/*------------------------------------------------------------
講座情報個別
-------------------------------------------------------------*/

/* キャッチフレーズ */

.lecture_catch{
    color:#555;
    line-height: 1.7em;
    margin:2.5em 0 2em 0;
}

/* テーブル */

.lecture_single {
width: 100%;
height: auto;
}

.lecture_single .regist_date p{
font-size:12px;
color:#666;dorasoku.com
}

.lecture_single .catch_single {
clear: both;
font-size:21px;
}

.lecture_single .main_image {
margin-bottom: 0.5em;
}

.lecture_table_middle table {
  width: 100%;
height: auto;
margin-bottom: 10px!important;
border-width: 2px;
border-color: #ccc;
}

.lecture_table_middle th {
  font-size: 16px;
  vertical-align: middle;
  text-align: center;
  width: 25%;
height: 1.0em;
padding: 3px 3px;
}

.lecture_table_middle td {
  font-size: 14px;
  width: 75%;
height: 1.0em;
padding: 10px;
}

.lecture_single .table_all{
  font-size: 16px;
width:100%;
padding:0;
margin-bottom: 10px;
}

.lecture_single .table_all:after{
content:"";
display:block;
clear:both;
}

.lecture_single .table_left{
float:left;
width:30%;
padding:0;
vertical-align:top;
}

.lecture_single .table_right{
float:left;
width:70%;
padding:0 0 0 20px;
vertical-align:top;
}

.lecture_single .text_image{
text-align: center;
}

.lecture_single .lecture_item_list{
width:100%;
}

.lecture_single .lecture_item_list table {
  width: 100%;
margin-bottom: 10px;
}

.lecture_single .lecture_item_list tbody {
  width: 100%;
}

.lecture_single .lecture_item_list tr {
  width: 100%;
}

.lecture_single .lecture_item_list th {
width: 100%;
  font-size: 16px;
  vertical-align: middle;
  text-align: center;
height: 0.5em;
padding: 3px 5px;
}

.lecture_single .lecture_item_list td {
width: 100%;
  font-size: 14px;
height: 0.5em;
padding: 5px 10px;
}

.lecture_single .text_shokai p{
  width: 100%;
padding-top:10px;
}

/*●テーブルタグ*/
.lecture_single table{
     margin-bottom: 10px;
     padding: 0;
     border-top: 1px solid #959595;
     border-left: 1px solid #959595;
}

/*「table」の1行目に「colspan」を利用する場合は「auto」を指定する*/
/*#main-contents table{ table-layout: auto; }*/

.lecture_single th,
.lecture_single td{
     padding: 10px;
     border: 1px solid #959595;
}

.lecture_single th{
     background-color: #a6a6a6!important;
     color: #fff;
     font-weight: bold;
     text-align: left;
}

/*wp-pagenavi base*/
.wp-pagenavi {
clear: both;
text-align:center;
margin-bottom: 20px;
}
.wp-pagenavi a, .wp-pagenavi span {
color: #999;
background-color: #FFF;
border: solid 1px #e0e0d2;
padding: 8px 15px;
margin: 0 2px;
white-space: nowrap;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
text-align: center;
text-decoration:none;
}
.wp-pagenavi a:hover{
color:#ffd700; 
background-color:#999; 
border-color:#999;
}
.wp-pagenavi span.current{
color: #FFF;
background-color: #66cccc;
border-color: #66cccc;
font-weight: bold;
}

/*------------------------------------------------------------
シリーズ情報
-------------------------------------------------------------*/

.series_gaiyou_box{animation: fadeIn .7s ease 0s 1 normal; }

/*------------------------------------------------------------
講座情報
-------------------------------------------------------------*/

/* lecturesアーカイブ */

.gaiyou_lectures {
    width:100%;
    padding-bottom:1em;
    margin-bottom:2em;
    border-bottom:2px dotted dimgray;
}
.lectures_archive_header{
    margin:5px 0 ;
}
.lectures_archive_header h2.midashi a:hover{
    color: #ff6347;
    text-decoration: none!important;
}

.lectures_archive_content{
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width:100%;
}
.lectures_archive_picture{
    width:50%;
    margin-bottom:10px;
}
.lectures_archive_picture img{
  width:100%;
}
.lectures_archive_setsumei{
  width:50%;
    padding:0 0 0 15px;
-webkit-flex: 1;
  flex: 1;
}
.lectures_archive_setsumei p{
    text-align: justify;
    margin-bottom: 0;
}

.lectures_archive_detailbtn{
    text-align: right;
    margin-bottom: 10px;
}

@media only screen and (max-width: 480px){
    .lectures_archive_content{
    flex-direction: column;
}
    .lectures_archive_picture{
        width:100%;
        max-width:480px;
    }
     .lectures_archive_setsumei{
        width:100%;
        max-width:480px;
        padding:0;
    }
 }

 /*------------------------------------------------------------
タグ
-------------------------------------------------------------*/

.kiji-tag     {margin-bottom: 0px}

.kiji-tag ul,.entry-content .kiji-tag ul {margin: 0;
     padding: 0;
     list-style: none;
     border:0;}

.kiji-tag li,.entry-content .kiji-tag li {display: block;
     margin-right: 5px;
     margin-bottom: 5px;
     padding: 3px 5px;
     border-radius: 2px;
     background-color: #51A8DD;
     color: #ffffff;
     font-size: 12px;
     text-decoration: none}

.kiji-tag li:first-child a     {background-color: #E16B8C;}

.kiji-tag li a:hover     {background-color: #94ecf6}
.kiji-tag li:first-child a:hover     {background-color: #F8C3CD}

.kiji-tag ul:after     {content: "";
     display: block;
     clear: both}

.kiji-tag li     {float: left;
     width: auto}

.kiji-tag.kind-box li{background-color: #E79460;}

/* 投稿日・更新日 */

.kiji-date     {margin-bottom: 10px;
     color: #f00;
     font-size: 1.0em}

@media only screen and (max-width: 599px) {
     .kiji-date     {font-size: 0.8em;}
}

.lecture_table_middle table {
  width: 100%;
height: auto;
margin-bottom: 10px!important;

}

/* 小見出し */
.kiji h2     {position: relative;
     margin-top: 0.7em;
     padding-left: 32px;
     padding-bottom: 5px;
     border-bottom: solid 2px #00a0e9;
     font-size: 26px;
font-weight: bold;
     clear: both}

.kiji h2:before     {position: absolute;
     left: 0px;
     top: 3px;
     content: '\f14a';
     color: #00a0e9;
     font-family: "Font Awesome 5 Free";
     font-size: 28px;
     line-height: 1}

.kiji h3     {margin-top: 1.5em;
     padding-left: 10px;
     border-left: solid 10px #a5e2fe;
     font-size: 21px;
font-weight: bold;
     clear: both}

@media only screen and (max-width: 768px) {
     .kiji h1     {font-size: 32px}

     .kiji p     {font-size: 18px;
        line-height:30px;}

     .kiji h2     {padding-left: 40px;
          font-size: 24px}

     .kiji h2:before     {font-size: 26px}

     .kiji h3     {padding-left: 12px;
          font-size: 22px}
}

@media only screen and (max-width: 599px) {
     .kiji h1     {font-size: 24px}

     .kiji p     {font-size: 18px;
        line-height:28px;}

     .kiji h2     {padding-left: 21px;
          font-size: 22px}

     .kiji h2:before     {font-size: 22px}

     .kiji h3     {padding-left: 6px;
          font-size: 20px}
}

/* 料金表 */

.table_price {
    border:1;
    border: solid 1px #ccc;
    border-collapse: collapse;
    vertical-align: middle;
}

.table_price tr th{
    color:#fff;
    background-color: #58B2DC;
    text-align: center;
    font-weight: bold;
    vertical-align: middle;
    border: solid 1px #ccc;
}

.table_price tr th p{
    color:#fff;
    margin-bottom:0;
    font-size:  1.0em;
}

.table_price th{
    font-size:  1.2em;
    height: 4em;
}
.table_price tr td{
    height: 3em;
    text-align: center;
    vertical-align: middle;
    border: solid 1px #ccc;
}

.table_price tr td p{
    color:#222;
    margin-bottom:0;
    font-size:  1.2em;
}

.table_price tr td:nth-child(1){
    width:40%;
}

.table_price tr td:nth-child(2){
    width:auto;
}

/*------------------------------------------------------------
multiple-calendar 無料体験カレンダー
-------------------------------------------------------------*/

.multiple-calendar h3{
    font-size:1.3em;
    font-weight: bold;
    color: #65a9d1;
}


.multiple-calendar table{
    width:100%;
    border-collapse: collapse;
}
.multiple-calendar thead{}
.multiple-calendar thead tr{background-color: #afeeee;}

.multiple-calendar tbody{}
.multiple-calendar tbody tr{}

.multiple-calendar tr, .multiple-calendar td {border: solid 1px #888;}  /*実線 1px 黒*/

