@charset "UTF-8";

@media only screen and (max-width : 768px) {
/*-------------------------------------------------------------------------------------
スマホ用レイアウト（768px以下スクリーン）
----------------------------------------------------------------------------------------*/

/*--------------------------------------------------
共通設定(スマホ)
-----------------------------------------------------*/
	
/*body全体の初期スタイル調整*/
body {
	width: 100%;
  -webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
}

/*--------------------------------------------------
見出しタグ設定（スマホ）
-----------------------------------------------------*/
h2 {
  margin: 0.5em 0em;
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
}
h3 {
  margin: 0em 0em;
  padding: 0em 0em;
  font-size: 1.2em;
  font-weight: bold;

}
h4 {
  margin: 0.5em 0em;
  padding: 0.3em 0.6em;
  font-size: 1.2em;
  border: 1px solid #ccc;
  font-weight: bold;
}
h5 {
  margin: 0.5em 0em;
  padding: 0.1em;
  font-size: 1em;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
}
/*--------------------------------------------------
全体レイアウト／背景設定（スマホ）
-----------------------------------------------------*/
/*全体エリア（全体背景を設定するにはここ）*/
.main {
  background-color: #fff;
  position: relative;
  z-index: 1000;
}
/*記事(ボディ)エリア*/
.article {
  background-color: #fff;
  border-left: none;
  border-right: none;
  font-size: 1.4em; /*=16px*/
}
/*記事(ボディ)エリアの行間*/
.article p {
  line-height: 1.6;
}
	
.article{
	width: 100%;

}

/*カラム全体の幅を変更する*/
.header_inr,.top_image_in,.section_inr{
  width: 100%;
  margin: 0 auto; /*真ん中に要素を置きたいときに使う*/
}
    
    /*--------------------------------------------------------
上部固定ヘッダー設定
--------------------------------------------------------*/

/*上部固定ヘッダー全体*/
.header {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	background-color: #fff;
	border-bottom: 1px;
	overflow: auto;
}
/*ヘッダーロゴ*/
.header_logo {
	float: left;
	width: 25%;
	margin: 1.2em 0em 0em 1em;
}
/*ヘッダー 電話ボタン*/
.header_tel {
	width: 35%;
	float: right;
	margin: 0.9em 0.5em 0em;
}
/*ヘッダー 問い合わせボタン*/
.header_mail {
	width: 30%;
	float: right;
	margin: 1.2em 0.3em 0em;
}
/*ヘッダー内の画像はエリア幅に合わせる*/
.header_logo img, .header_tel img, .header_mail img {
	width: 100%;
}
/*-----------------------------------------------------------------------------------------------------
ファーストビュー設定
-----------------------------------------------------------------------------------------------------*/

.top_image {
	/*スマホの際はファーストビューの背景を非表示*/
	background-image: none;
}
/*--------------------------------------------------------------------------------------------------
※※※※※※※※※メイン部分(ボディ) ※ここに案件独自のcssを記述していく
-----------------------------------------------------------------------------------------------------*/

/*以下、PCでのcssをコピペして調整すると効率的※重複プロパティは消すと見やすい*/

      
.top_image {
  background: linear-gradient( 135deg, rgba(255, 0, 0.8), rgba(121, 9, 9, 0.8)),
  url("../images/top_image_back.webp");
  background-size:cover;
  height: 100%;
    overflow: hidden;
  position: relative;
   z-index: 1000;
}

.top_image_in{
    padding-top: 2em;
    padding-bottom: 0em;
    position: relative;
    z-index: 1000;
}

.top_image_in img {
	width: 100%;
}

.top_image p{
  margin:20px 10px 0;
  text-align: center;
  font-size:2em;
  font-style: italic;
  font-weight: bold;
  color: #fff;
}

.top_image_in_inr {
   margin: 1.5em auto 0;
    width: 65%;
    
}

.top_image_in_inr p{
    line-height: 1;
}

p.title_main_01{
     font-size: 4.5em;
     font-style:normal;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

p.title_main_02{
    font-size: 18.5em;
     font-style:normal;
    font-weight: bold;
    color: #fff;
    text-align: center;
}

p.title_main_03{
     font-size: 3.8em;
     font-style:normal;
    color: #fff;
    text-align: center;
}

.top_smartphone_img_pc{
    display: none;
}
    
    .top_smartphone_img_sp{
        display: block;
        text-align: center;
        margin-top: 0.5em;
    }
    
      .top_smartphone_img_sp img{
      width: 60%;
    }
    

/*スライダー*/

    
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 10px;/*スライド左右の余白調整*/
}


/*全共通*/

.bgextend{
  animation-name:bgextendAnimeBase;
  animation-duration:1s;
  animation-fill-mode:forwards;
  position: relative;
  overflow: hidden;/*　はみ出た色要素を隠す　*/
  opacity:0;
}

@keyframes bgextendAnimeBase{
  from {
    opacity:0;
  }

  to {
    opacity:1;  
}
}

/*中の要素*/
.bgappear{
  animation-name:bgextendAnimeSecond;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*左から右*/
.bgLRextend::before{
  animation-name:bgLRextendAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background:#FFEF00;
}
@keyframes bgLRextendAnime{
  0% {
    transform-origin:left;
    transform:scaleX(0);
  }
  50% {
    transform-origin:left;
    transform:scaleX(1);
  }
  50.001% {
    transform-origin:right;
  }
  100% {
    transform-origin:right;
    transform:scaleX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgLRextendTrigger{
    opacity: 0;
}


/*-----------------------------------------------------------------------------------------------------
※※※※※※※※※メイン部分(ボディ) ※ここに案件独自のcssを記述していく
-----------------------------------------------------------------------------------------------------*/

/*以下、制作しながらセクション単位で追記していく*/

.section_01 {
	background-color: #fff;
	padding: 1.5em 1em;
}
.section_02 {
	background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,0.9) 0%, rgba(121,121,121,0.9) 0%, rgba(0,0,0,0.9) 100%), url("../images/bg_01.webp");
	padding: 1.5em 1em;
}

.section_03 {
    background: rgb(0,0,0);
    background: linear-gradient(90deg, rgba(0,0,0,0.9) 0%, rgba(121,121,121,0.9) 0%, rgba(0,0,0,0.9) 100%), url("../images/bg_01.webp");
	padding: 1.5em 1em;
    position: relative;
}

.section_04 {
      background: linear-gradient( 135deg, rgba(255, 0, 0.7), rgba(121, 9, 9, 0.7)),
  url("../images/bg_01.webp");
}

.section_05 {
     background: linear-gradient( 135deg, rgba(255, 255, 255,0.9), rgba(255, 255, 255, 0.9)),
  url("../images/bg_01.webp");
    background-position: top center;
    background-size: 100%;
}

.section_06 {
     background: linear-gradient( 135deg, rgba(255, 255, 255,0.9), rgba(255, 255, 255, 0.9)),
  url("../images/bg_02.webp");
    background-position: top center;
    background-size: cover;
}

.section_07 {
     background: linear-gradient( 135deg, rgba(255, 255, 255,0.9), rgba(255, 255, 255, 0.9)),
  url("../images/bg_03.webp");
    background-position: top center;
    background-size: cover;
}

.section_08{
    background: #eef2f4;
}

.section_09{
    
}


.semicircle {
  position: relative;
  background: #2c3e50;
  height: 50vh;
}

.semicircle::before {
  position: absolute;
  content: '';
  left: 50%;
  z-index: 10;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: inherit;
  transform: translateX(-50%) translateY(50%);
  bottom: 0px;
}




.area_cta {
     background: linear-gradient( 135deg, rgba(255, 0, 0.7), rgba(121, 9, 9, 0.7)),
  url("../images/bg_01.webp");
    background-position: top center;
    background-size: cover;
	padding: 0em 0em;
}

.box_cta{
    background: #fff;
    margin: 1em 0.5em;
    padding: 0em 1em 1em;
   box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
}

.box_cta_title{
    background: linear-gradient(135deg, rgba(255, 0, 0.8), rgba(121, 9, 9, 0.8));
    color: #fff;
    margin: 0 -1.13em;
    padding: 0.5em 0em;
    font-size: 1.4em;
    font-weight: 700;
    text-align: center;
}

.box_left{
	background: #FF0;
	width: 250px;
	float: left;
	height: 100px;
}

.cta_img{
    text-align: center;
    padding:0 0 0 1.5em;
    margin-bottom: 0.5em;
}

.cta_img img{
    width: 100%;
    margin-top: 1em;
}


.cta_btn{
    text-align: center;
}

.cta_btn img{
   width: 85%;
}

.subhead_01{
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
    margin-top:0em;
}

.subhead_01 p{
   line-height: 1.5;
    color: #F30003;
    letter-spacing: 0.1;
    font-style:italic;
}


.text_01{
    text-align: center;
    font-size: 1.em;
  font-weight: 700;
}

.photo_01{
    width: 95%;
    margin: 1.5em auto;
}

.photo_01 img{
    width: 100%;
    /*box-shadow: 15px 15px 0 #bf0405;*/
}

.blue_line {
    background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #ccf0ff 0%) repeat scroll 0 0;
}

.yellow_line {
    background:rgba(0, 0, 0, 0) linear-gradient(transparent 90%, #FF0 0%) repeat scroll 0 0;
}





.box_right{
	background: #F00;
	width: 250px;
	float: right;
	height: 100px;
}

.cta_card{
    text-align: center;
}

.cta_card img{
   width: 70%;
}

.benefit_img{
      text-align: center;
}

.benefit_img img{
   width: 100%;
}



.subhead_02{
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
    margin-bottom: 1em;
}

.subhead_02 p{
   line-height: 1.5;
    color: #fff;
    letter-spacing: 0.1;
    font-style:italic;
}

.area_nayami{
    display: block;
    margin-bottom: 1.8em;
}

.box_nayami{
    background: #fff;
    width:100%;
    margin: 0 auto 2.5em;
    padding: 1em;
    color: #000;
    text-align: center;
    font-size: 1.4em;
    position: relative;
   display: inline-block;
  border-radius: 15px;
}
    
.box_nayami img{
    width:50%;
}
    

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

.box_person{
    display: none;
}

.box_person img{
    width: 50%;
}

.subhead_03{
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
    margin-top:1em;
    margin-bottom: 1em;
}

.subhead_03 p{
   line-height: 1.4;
    color: #000;
    letter-spacing: 0.1;
    font-style:italic;
}

    
    .box_reason{
    background-color: #eef2f4;
    margin: 0 0.5em;
    margin-bottom: 2em;
    padding: 1.5em 1em 3em;
    font-size: 1.1em;
    text-align: center;
     position: relative;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
}

.box_reazon_img_01{
      width: 60%;
    position: static;
    text-align: center;
    margin: 0 auto;
}

.box_reazon_img_01 img{
   width: 100%;
    transform: rotate(0deg)
}

.box_reazon_img_02{
      width: 60%;
    position: static;
    text-align: center;
    margin: 0 auto;
}

.box_reazon_img_02 img{
   width: 100%;
    transform: rotate(0deg)
}

.box_reazon_img_03{
      width: 60%;
    position: static;
    text-align: center;
        margin: 0 auto;
}

.box_reazon_img_03 img{
   width: 100%;
    transform: rotate(0deg)
}


.title_reason_01{
    font-size: 1.2em;
    color: #C9C9C9;
    text-align: center;
}

.title_reason_02{
    background: linear-gradient( to right,  rgba(69,179,224,1) 25%, rgba(102,51,153,1) 75% );
  -webkit-background-clip: text;
  color: transparent;
    font-size: 1.8em;
    text-align: center;
    font-weight: 700;
    border-bottom: 1px dotted #ccc;
     margin-bottom: 0em;
    line-height: 1.4 !important;
    padding-bottom: 0.5em !important;
}

.img_yajirusi{
    text-align: center;
    margin-top: -2em;
}

.img_yajirusi img{
    width: 15%;
}

.img_itumademo{
    text-align: center;
    margin-top: 1em;
}

.img_itumademo img{
    width: 100%;
}

.subhead_04{
    text-align: center;
    font-size: 1.8em;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: 1em;
}

.subhead_04 p{
   line-height: 1.5;
    color: #fff;
    letter-spacing: 0.1;
    font-style:italic;
}


.subhead_05{
    text-align: center;
    font-size: 1.6em;
    font-weight: bold;
    margin-top: 1em;
    margin-bottom: 1em;
    color: #fff;
}

.subhead_05 p{
   line-height: 1.5;
    color: #fff;
    letter-spacing: 0.1;
    font-style:italic;
}



.deg_none{
      transform:rotate(0deg);
    z-index: 0;
}

.photo_03{
    width: 80%;
    margin: 1.5em auto;
}

.photo_03 img{
    width: 100%;
}

.ocu{
  margin-top: 2em;
  margin-bottom: 1em;
  text-align: center;
}

.ocu img{
    width: 100%;
}

.clearfix{
	clear:both;
}

.box_main{
	background-color: #ccc;
	border: 10px solid #6C6C6C;
	overflow: auto;
}


.box_area{
   background-color: #FF0;
	width: 300px;
	height: 300px;
	position: static;
}

.box_cru{
        background-color: #eef2f4;
    margin: 0 0em;
    margin-bottom: 2em;
    padding: 1.5em 0.5em;
    font-size: 1.1em;
    text-align: center;
     position: relative;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
    z-index: 100;
}

.title_cru{
        background: linear-gradient( to right,  rgba(69,179,224,1) 25%, rgba(102,51,153,1) 75% );
  -webkit-background-clip: text;
  color: transparent;
    font-size: 1.8em;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
}

.tag_cru{
    width: 30%;
    position: absolute;
    top:0px;
    right: -10px;
    transform: rotate(10deg);
    opacity: 0.1;
}

.tag_cru_reverse{
    width: 30%;
    position: absolute;
    top:0px;
    left: -10px;
    transform: rotate(-10deg);
    opacity: 0.1;
}




.img_cru{
  /* border: 10px solid #FC9293;*/
}

.line_tyosei{
        line-height: 1;
}

.small_text{
    font-size:0.7em !important;
}



    
.box_reazon{
    display: flex;
    flex-direction: column-reverse;
}

.box_reazon_reverse{
    display: flex;
     flex-direction: column-reverse;
    margin-bottom: 2.5em;
}

.box_reazon_inr{
    width: 87%;
    margin: 1.5em auto 0em;
    padding: 30px;
    font-size: 1.2em;
}
    
 .box_reazon_inr h3{
        margin-bottom: 1em;
}

.box_reazon_img {
    width: 100%;
    box-shadow: 15px 15px 0 #bf0405;
}

.box_reazon_img img{
    max-width: none;
    width: 100%;
    height: 100%;
}


.tag_point{
    font-family: "Osaka-mono", "MS Gothic", "monospace";
     position: absolute;
    top:-20px;
    right: 0px;
    font-size: 6em;
    font-weight: 900;
    font-style:italic;
    letter-spacing: 0.1;
    opacity: 0.1;
    color: #bf0405;
}

.tag_point_reverse{
    font-family: "Osaka-mono", "MS Gothic", "monospace";
     position: absolute;
    top:-20px;
    left: 0px;
    font-size: 6em;
    font-weight: 900;
    font-style:italic;
    letter-spacing: 0.1;
    opacity: 0.1;
    color: #bf0405;
}

.koe_area{
    position: relative;
}

.box_koe_img{
    position: static;
    width: 50%;
    z-index: 10000;
    margin: 0 auto 1em;
}

.img_tyosei{
    transform: rotate(25deg);
}

.box_koe_img img{
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    width: 100%;
}

.box_koe_img_reverse{
        position: static;
    width: 50%;
    z-index: 10000;
    margin: 0 auto 1em;
}

.box_koe_img_reverse img{
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    width: 100%;
}


.box_koe_txt{
    background-color: #eef2f4;
    margin-bottom: 2em;
    padding: 1em 1em;
    width: 100%;
    float: left;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
    font-size: 1.2em;
}

.box_koe_txt_reverse{
    background-color: #eef2f4;
    margin-bottom: 2em;
    padding: 1em 1em;
    width: 100%;
    float: right;
    box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
    font-size: 1.2em;
}

.section_teacher_01{
    background-image: url("../images/bg_04.webp"); /* 全体の背景画像 */
background-repeat: no-repeat;            /* 背景を繰り返さない */
background-position: 10% 10%;            /* 背景画像の位置は画面中央 */
background-attachment:fixed;             /* 背景画像を固定する */
background-size:cover;
    color: #fff;
}

.section_teacher_02{
    background-image: url("../images/bg_05.webp"); /* 全体の背景画像 */
background-repeat: no-repeat;            /* 背景を繰り返さない */
background-position: 50% 50%;            /* 背景画像の位置は画面中央 */
background-attachment:fixed;             /* 背景画像を固定する */
background-size:cover;
    color: #fff;
}


.box_profile_01_img{
    width:50%;
    float: none;
    padding-top: 1em;
    margin: 0 auto;
    margin: 0 auto 1.5em;
}

.box_profile_01_img img{
    width: 100%;    
}

.box_profile_01{
    width: 92%;
    float: none;
    margin: 0 auto;
    margin-bottom: 3em;
    font-size: 1.2em;
}

.box_profile_02_img{
    width: 50%;
    float: none;
    padding-top:2em;
    margin: 0 auto 1.5em;
}

.box_profile_02_img  img{
    width: 100%;    
}


.box_profile_02{
    width: 92%;
    float: none;
    margin: 0 auto;
    margin-bottom: 3em;
    font-size: 1.2em;
}

.box_message{
    text-align: center;
        font-size: 1.2em;
}

/* timeline */
/*========= バー表示のためのCSS ===============*/
/*タイムライン全体の設定*/
.timeline {
  max-width: 1100px;
  width: 92%;
  margin: 50px auto;
  padding: 0 30px;
}
.timeline li {
  /*線の起点とするためrelativeを設定*/
  position: relative;
  list-style: none;
  padding: 0 0 20px 0;
}
.timeline dl {
  margin: 0 0 20px 3em;
}
.timeline dd strong {
  display: block;
  padding: 10px 0;
}
.timeline dt {
  font-size: 1.6em;
  font-family: "peignot";
  color: #DE181F;
}
/*絶対配置で線を設定*/
.border-line {
  /*線の位置*/
  position: absolute;
  left: 0.25em;
  top: 0;
  width: 5px; /*線の太さ*/
  height: 0; /*はじめは高さを0に*/
  background: #DE181F;
}
/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  background: #DE181F;
  border-radius: 50%;
}
.step_title {
  color: #DE181F;
  font-size: 1.6em;
}


    
    
/*--------------------------------------------------------
段落・リスト・テーブル設定
--------------------------------------------------------*/


/*テーブルタグ*/
table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
	margin-top: 1em;
	margin-bottom: 1em;
}
th, td {
	padding: 0.5em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}
th {
	background-color: #f0f0f0;
	font-weight: bold;
	text-align: left;
}
td {
	background-color: #fff;
	text-align: left;
}
table.table-style01 th, table.table-style01 td {
	text-align: left;
	vertical-align: middle;
}
/*テーブルをブロック表示に*/

.table-style01, .table-style01 tr, .table-style01 th, .table-style01 td {
	display: block;
}
.table-style01 th, .table-style01 td {
	float: left;
	width: 100% !important;
	box-sizing: border-box;
}
.table-style01 {
	zoom : 1;
}
.table-style01:after {
	content : '';
	display : block;
	clear : both;
	height: 0;
}
/*Youtube埋め込み調整*/
	
.youtube_size {
	width: 100%;
	height: 250px;
}
/*-----------------------------------------------------------------------------------------------------
テンプレート用のcss※必要に応じて使用する
-----------------------------------------------------------------------------------------------------*/

/*画像化したサブヘッドを横に広げる*/
h2.subhead {
	margin: 0em -2em;
}
/*よくある質問(文章ver.)*/
.box_qa {
	background-color: #efefef;
	padding: 1em;
    font-size: 1.1em;
}
.box_qa_q {
	background-color: #fff;
	padding: 0.5em 1em;
	border-bottom: 1px solid #ccc;
	font-size: 1.1em;
	font-weight: bold;
	color: #CD3B3E;
}
.box_qa_a {
	background-color: #fff;
	padding: 0.5em 1em 1.8em;
	line-height: 1.8em;
}
.box_qa_q p {
}
.box_qa_a p {
}


    
input[type="image"] {
	width: 100%;
	text-align: center;
	margin: 0em auto;
}
.caution {
	margin: 0em;
	padding: 0;
	font-size: 90%;
	color: #990000;
	text-align: center;
}

    
/*-----------------------------------------------------------------------------------------------------
フッター部分
-----------------------------------------------------------------------------------------------------*/

.footer {
	padding: 2em 0em 2em;
	font-size: 1em;
}
    
/*スマホ用下部固定メニュー*/
	
.fix_menu_smartphone {
	display: block;
	width: 100%;
	position: fixed;
	bottom: 0px;
	left: 0px;
	z-index: 10000;
	box-shadow: 0px 0px 3px #594a42;
}
.fix_menu_smartphone img {
	width: 100%;
}
.tel_left {
	background-color: #D24159;
	float: left;
	width: 50%;
	padding: 0em 0;
	border-right: 0px solid #ccc;
}
.tel_right {
	background-color: #85BD53;
	float: left;
	width: 50%;
	padding: 0em 0;
}

.sp_br{
    display: block;
    }
    
    
}
