@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon/icomoon.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
    background:rgba(236,187,222,1.00);
  text-decoration: none;
  color: #fff;
  width: 70px;
  padding: 28px 5px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}

.tomo_logo_sp{
    display: none;
}

h2.new{
  position: relative;
  padding: 0.6em;
  background: -webkit-repeating-linear-gradient(-45deg, #fff2d9, #fff2d9 4px,#ffe4b1 5px, #ffe4b1 15px);
  background: repeating-linear-gradient(-45deg, #fff2d9, #fff2d9 4px,#ffe4b1 5px, #ffe4b1 15px);
  border-radius: 7px;
    font-weight: 800;
}
h2.new:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  width: 0;
  height: 0;
     font-weight: 800;
}

.font_dark{color: rgba(0,0,0,0.89);}

h2.new2{
  color:rgba(200,0,3,1.00);
  padding: 0.5em 0;
  border-top: solid 5px rgba(200,0,3,1.00);
  border-bottom: solid 5px rgba(200,0,3,1.00);
     font-weight: 800;
}

h2.new3{
  padding: 0.5em 0;
     font-weight: 800;
    font-size: 1.5em;
    line-height: 200%;
}

.lineH160{line-height: 160%;}
.red{color:rgba(200,0,3,1.00);}
.pink{color:rgba(195,81,82,1.00);}
.blue{color:#2766cc;}
.green{color:#009A43;}

/* =========================================================
   メインビジュアル・バナー画像の整理統合版
   ========================================================= */

/* ヘッダーエリア（ロゴとメニュー） */
#fh5co-header {
  position: relative; 
  background-color: #FFEDDB; 
  background-image: none; 
  width: 100%;
  left: 0;
  padding-top: 40px; 
  padding-bottom: 15px; 
  z-index: 12;
}
@media screen and (max-width: 641px) {
  #fh5co-header {
    padding-top: 30px;
    height: auto; /* 高さを自動調整 */
  }
}

/* ヒーローエリア（背景画像が広がる大枠） */
#fh5co-hero {
  background-color: transparent;
  background-size: cover;
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative;
  width: 100%;
  height: auto !important;  /* ←【変更】高さを固定せず中身に合わせる */
  min-height: 0 !important; /* ←【変更】最低高さもリセット */
}
/* ※ここにあったスマホ用の高さ固定指定は、不要になったため削除しました */

/* 背景をくすませるオーバーレイ（膜） */
#fh5co-hero .fh5co-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(255, 255, 255, 0.75); /* 白で75%くすませる */
  background-image: none;
  z-index: 9;
}

/* バナー画像を上下中央に配置するための構造（最強の中央揃え Flexbox版） */
#fh5co-hero .container {
  height: auto !important; /* ←【変更】中身に合わせて自動伸縮させる */
}

#fh5co-hero .fh5co-intro {
  display: flex !important; /* 最新のレイアウト手法Flexboxを使用 */
  align-items: center !important;     /* 【最重要】縦のど真ん中！ */
  justify-content: center !important; /* 横のど真ん中！ */
  width: 100%;
  height: auto !important; /* ←【変更】中身に合わせて自動伸縮させる */
  padding: 8vh 0 !important; /* ←【追加】ここで上下の余白（背景の広さ）を作ります */
  z-index: 10;
  position: relative;
}

/* スマホ表示の時の微調整（上下の余白を少し狭める） */
@media screen and (max-width: 641px) {
  #fh5co-hero .fh5co-intro {
    padding: 5vh 0 !important; /* ←【追加】スマホ用の余白 */
  }
}

#fh5co-hero .fh5co-intro > div {
  display: block !important; /* 古いテーブル構造の設定を強制リセット */
  width: 100%;
}

/* 中央のバナー画像（PC用・スマホ用共通） */
.title_img_pc, .title_img_sp {
  width: 100%;
  max-width: 1200px;
  max-height: 60vh; /* 画面の高さの60%以上には絶対ならない（はみ出し防止） */
  object-fit: contain;
  margin: 0 auto; /* マイナスマージンを全廃止し、純粋な中央揃えにする */
  filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.3)); /* ドロップシャドウ */
}

/* 画像の表示切り替え（レスポンシブ） */
.title_img_pc { display: block; }
.title_img_sp { display: none; }

@media screen and (max-width: 641px) {
  .title_img_pc { display: none; }
  .title_img_sp { display: block; }
}

/* ========================================================= */


.feature_no{
    max-width: 70px;
    width: 100%;
    height: auto;
}
.tomo_logo{
    display:inline-block;
    vertical-align:middle;
    margin-bottom: 20px;
}

.h1_title {
    font-size: 1.2em;
    color:rgba(0,0,0,1.00);
    margin-left: 4px;
}

.h1_title2{
    display: none;
}

.title_btn{
  background-color: rgba(219,77,80,1.00);
  font-size:2em;
  padding: 0.5em 1em 0.5em 1em;
  border-radius: 0.5em;
    color: white;
}

.kaisetu_btn{
  background-color: rgba(219,77,80,1.00);
  font-size: 2em;
    padding: 0.5em 1em 0.5em 1em;
  border-radius: 0.5em;;
    margin-top: 4em;
    color: white;
    text-align: center;
}

.kaisetu_btn_on2{
  background-color: #2766cc;
  font-size: 2em;
    padding: 0.5em 1em 0.5em 1em;
  border-radius: 0.5em;;
    margin-top: 4em;
    color: white;
    text-align: center;
}

.kaisetu_btn_on3{
  background-color: #009A43;
  font-size: 2em;
    padding: 0.5em 1em 0.5em 1em;
  border-radius: 0.5em;;
    margin-top: 4em;
    color: white;
    text-align: center;
}

#innerbox{
  background-color: rgba(249,144,41,1.00);
  color: rgba(255,255,255,1.00);
    padding-top: 3em;
}

.innerbox_class2{
  background-color:rgba(255,255,255,1.00);
  color: rgba(255,255,255,1.00);
}

.drop_sh{filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.3));}

.innerbox_class3{
  background-color:rgba(220,220,220,1.00);
  color: rgba(255,255,255,1.00);
}
.margin-top1em{margin-top: 1em;}
.margin-top2em{margin-top: 2em;}
.margin-top4em{margin-top: 4em;}
.margin-bottom2em{margin-bottom: 2em;}
.margin-bottom4em{margin-bottom: 4em;}

.left_align{text-align: left;}
.font-midashi{font-size: 2em; color: white;}
.font-midashi2{font-size: 2em; color: black;}

@media screen and (max-width: 641px) {
  .font-midashi{
    font-size: 1.4em;
    font-family: 'OpenSans-Bold', 'Arial', 'sans-seri';
    font-style: normal;
    color: white;
  }
  .font-midashi2{font-size: 1.4em; color: black;}
}

.center-align{text-align: center;}
.song{font-size: 0.5em;}

.file_icon{
  margin: 2em;
  max-width: 120px;
    width: 100%;
    float: none;
  height: auto;
}

.text_black{
    color: rgba(0,0,0,1.00);
}

.writer_block{
  margin-left: auto;
  margin-right: auto;
 display: inline-block;
  margin-top: 2em;
}

.writers_ul{
  list-style: none;
  text-align: left;
    color: black; margin-left: -2em;
}

.writer_li{
    text-align: left;
    color: black;
    list-style: none;
  margin-left: -1em;
}

body {
  font-family: 'OpenSans-Bold', 'Arial', 'sans-seri';
  font-style: normal;
  src: url("../font/OpenSans-Bold.ttf") format("truetype");
  font-size: 16px;
  line-height: 28px;
  font-weight: 300;
  color: #85919d;
  height: 100%;
  position: relative;
  background-color: #FFEDDB;
}
body.fh5co-overflow {
  overflow-x: auto;
}

a {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
a:hover, a:active, a:focus {
  color: #8dc63f;
  outline: none;
  text-decoration: none;
}

p, figure {
  margin-bottom: 1.5em;
}

h1, h2, h3, h4, h5, h6 {
  color: #484c50;
  font-family: 'OpenSans-Bold', 'Arial', 'sans-seri';
  font-style: normal;
  src: url("../font/OpenSans-Bold.ttf") format("truetype");
  font-weight: 400;
  margin: 0 0 30px 0;
}

::-webkit-selection { color: #818892; background: #f9f6f0; }
::-moz-selection { color: #818892; background: #f9f6f0; }
::selection { color: #818892; background: #f9f6f0; }

.btn {
  margin-right: 4px;
  margin-bottom: 4px;
  font-family: 'OpenSans-Bold', 'Arial', 'sans-seri';
  font-style: normal;
  src: url("../font/OpenSans-Bold.ttf") format("truetype");
  font-size: 16px;
  font-weight: 400;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.btn.btn-md { padding: 10px 20px !important; }
.btn.btn-lg { padding: 18px 36px !important; }
.btn:hover, .btn:active, .btn:focus {
  box-shadow: none !important;
  outline: none !important;
}

/* ボタン類の設定省略せず保持 */
.btn-primary { background: #8dc63f; color: #fff; border: 2px solid #8dc63f; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: #99cc53 !important; border-color: #99cc53 !important; }
.btn-primary.btn-outline { background: transparent; color: #8dc63f; border: 2px solid #8dc63f; }
.btn-primary.btn-outline:hover, .btn-primary.btn-outline:focus, .btn-primary.btn-outline:active { background: #8dc63f; color: #fff; }

.btn-success { background: #5cb85c; color: #fff; border: 2px solid #5cb85c; }
.btn-success:hover, .btn-success:focus, .btn-success:active { background: #4cae4c !important; border-color: #4cae4c !important; }
.btn-success.btn-outline { background: transparent; color: #5cb85c; border: 2px solid #5cb85c; }
.btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active { background: #5cb85c; color: #fff; }

.btn-info { background: #5bc0de; color: #fff; border: 2px solid #5bc0de; }
.btn-info:hover, .btn-info:focus, .btn-info:active { background: #46b8da !important; border-color: #46b8da !important; }
.btn-info.btn-outline { background: transparent; color: #5bc0de; border: 2px solid #5bc0de; }
.btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active { background: #5bc0de; color: #fff; }

.btn-warning { background: #f0ad4e; color: #fff; border: 2px solid #f0ad4e; }
.btn-warning:hover, .btn-warning:focus, .btn-warning:active { background: #eea236 !important; border-color: #eea236 !important; }
.btn-warning.btn-outline { background: transparent; color: #f0ad4e; border: 2px solid #f0ad4e; }
.btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active { background: #f0ad4e; color: #fff; }

.btn-danger { background: #d9534f; color: #fff; border: 2px solid #d9534f; }
.btn-danger:hover, .btn-danger:focus, .btn-danger:active { background: #d43f3a !important; border-color: #d43f3a !important; }
.btn-danger.btn-outline { background: transparent; color: #d9534f; border: 2px solid #d9534f; }
.btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active { background: #d9534f; color: #fff; }

.btn-outline {
  background: none;
  border: 2px solid gray;
  font-size: 16px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn-outline:hover, .btn-outline:focus, .btn-outline:active { box-shadow: none; }

.form-control {
  box-shadow: none;
  background: transparent;
  border: 2px solid rgba(0, 0, 0, 0.1);
  height: 54px;
  font-size: 18px;
  font-weight: 300;
}
.form-control:active, .form-control:focus {
  outline: none;
  box-shadow: none;
  border-color: #8dc63f;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2 / 1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  body { background-color: #FFEDDB; }
}

.boxed #fh5co-page {
  max-width: 1340px;
  max-width: 1140px;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 1200px) {
  .boxed #fh5co-page { max-width: 960px; }
  .boxed #fh5co-page .container { max-width: 780px; }
}
.boxed #fh5co-page .container { max-width: 960px; margin: 0 auto; }


#fh5co-header #fh5co-logo {
  text-align: center;
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  top: -12px;
  z-index: 1;
}
#fh5co-header #fh5co-logo a {
  font-size: 30px;
  font-weight: 500;
  color: white;
}
#fh5co-header #fh5co-logo a span { color: #8dc63f; }
#fh5co-header nav { position: relative; }
#fh5co-header nav ul { padding: 0; margin: 0; z-index: 2; position: relative; }
@media screen and (max-width: 641px) {
  #fh5co-header nav ul { display: none; }
}
#fh5co-header nav ul li { display: inline; }
#fh5co-header nav ul li a {
  font-size: 18px;
  color: rgba(96,5,7,1.00);
  font-weight: 400;
}
#fh5co-header nav ul li a:hover { color:gray; }
#fh5co-header nav ul li.fh5co-cta-btn a {
  position: relative;
  border-bottom: none;
  padding: 7px 20px;
  border: 2px solid rgba(96,5,7,1.00);
    background-color: rgba(96,5,7,1.00);
    color: white;
  border-radius: 7px;
}
#fh5co-header nav ul li.fh5co-cta-btn a:hover { border: 2px solid white; }
#fh5co-header nav ul li.active a { color: white; }
#fh5co-header nav ul.left-menu li { margin-right: 30px; }
#fh5co-header nav ul.right-menu li { margin-left: 30px; color: rgba(96,5,7,1.00); }


#fh5co-hero .fh5co-intro > div .fh5co-left-position { width: 65%; float: left; }
@media screen and (max-width: 992px) { #fh5co-hero .fh5co-intro > div .fh5co-left-position { width: 100%; } }
#fh5co-hero .fh5co-intro > div .fh5co-center-position { width: 100%; text-align: center; margin: 0 auto; }
@media screen and (max-width: 992px) { #fh5co-hero .fh5co-intro > div .fh5co-center-position { width: 100%; text-align: center; } }
#fh5co-hero .fh5co-intro > div .fh5co-right-position { width: 65%; float: right; text-align: right; }
@media screen and (max-width: 992px) { #fh5co-hero .fh5co-intro > div .fh5co-right-position { width: 100%; text-align: left; } }
#fh5co-hero .fh5co-intro > div h2 { font-size: 70px; line-height: 87px; font-weight: 100; color: white; }
@media screen and (max-width: 992px) { #fh5co-hero .fh5co-intro > div h2 { font-size: 40px; line-height: 57px; text-align: center; } }
#fh5co-hero .fh5co-intro > div h3 { font-weight: 100; font-size: 30px; line-height: 45px; color: white; }
@media screen and (max-width: 992px) { #fh5co-hero .fh5co-intro > div h3 { font-size: 24px; line-height: 37px; text-align: center; } }
#fh5co-hero .fh5co-intro > div .btn-outline, #fh5co-hero .fh5co-intro > div .btn-primary { padding: 20px 30px !important; min-width: 200px; font-size: 18px; }
@media screen and (max-width: 641px) { #fh5co-hero .fh5co-intro > div .btn-outline, #fh5co-hero .fh5co-intro > div .btn-primary { padding: 10px 30px !important; width: 100%; } }
#fh5co-hero .fh5co-intro > div .btn-outline { border-color: rgba(255, 255, 255, 0.2); color: white; background-color: rgba(255, 255, 255, 0.1); }
#fh5co-hero .fh5co-intro > div .btn-outline:hover { border-color: rgba(255, 255, 255, 0.4); color: white; background-color: rgba(255, 255, 255, 0.2); }

#fh5co-hero .fh5co-learn-more { position: absolute; bottom: -25px; left: 50%; z-index: 12; text-align: center; }
#fh5co-hero .fh5co-learn-more a { display: block; }
#fh5co-hero .fh5co-learn-more a .text { display: block; color: rgba(255, 255, 255, 0.5); margin-bottom: 20px; }
#fh5co-hero .fh5co-learn-more a .arrow { display: block; width: 50px; height: 50px; margin: 0 auto; background:rgba(77,5,6,1.00); border-radius: 50%; }
#fh5co-hero .fh5co-learn-more a .arrow i { top: 10px; position: relative; color: #fff; vertical-align: middle; }

.no-js-fullheight { height: 400px; }
@media screen and (max-width: 641px) { .no-js-fullheight { height: inherit; padding: 3em 0; } }

.fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 10px; }
@media screen and (max-width: 641px) { .fh5co-lead { font-size: 25px; font-weight:800; } }
.fh5co-sub-lead { font-size: 18px; line-height: 32px; font-weight: 300; }

#fh5co-features, #fh5co-features-2, #fh5co-features-3, #fh5co-features-4, #fh5co-projects, #fh5co-testimonials, #fh5co-about, #fh5co-subscribe, #fh5co-info, #fh5co-pricing, #fh5co-faqs, #fh5co-footer { background-color: #fff; padding: 7em 0; }
@media screen and (max-width: 641px) { #fh5co-features, #fh5co-features-2, #fh5co-features-3, #fh5co-features-4, #fh5co-projects, #fh5co-testimonials, #fh5co-about, #fh5co-subscribe, #fh5co-info, #fh5co-pricing, #fh5co-faqs, #fh5co-footer { padding: 3em 0; } }

#fh5co-projects { background: #f9f9f9; }
#fh5co-projects .fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 10px; }
@media screen and (max-width: 641px) { #fh5co-projects .fh5co-lead { font-size: 25px; font-weight:800; } }
#fh5co-projects .fh5co-sub-lead { font-size: 18px; line-height: 32px; font-weight: 300; }
#fh5co-projects .fh5co-project-item { display: block; width: 100%; position: relative; background: #fff; overflow: hidden; z-index: 9; margin-bottom: 30px; box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.1); border-radius: 7px; transition: 0.3s; }
#fh5co-projects .fh5co-project-item img { z-index: 8; opacity: 1; transition: 0.3s; }
#fh5co-projects .fh5co-project-item .fh5co-text { padding: 30px 10px 10px 20px; text-align: center; }
#fh5co-projects .fh5co-project-item .fh5co-text h2, #fh5co-projects .fh5co-project-item .fh5co-text span { text-decoration: none !important; }
#fh5co-projects .fh5co-project-item .fh5co-text h2 { font-size: 18px; font-weight: bold; margin: 0 0 10px 0; color: #484c50; }
#fh5co-projects .fh5co-project-item .fh5co-text span { color: #b3b3b3; font-size: 16px; font-weight: 400; }
#fh5co-projects .fh5co-project-item .fh5co-text p { color: #85919d; transition: 0.5s; }
#fh5co-projects .fh5co-project-item:hover, #fh5co-projects .fh5co-project-item:focus { box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.1); text-decoration: none; }
#fh5co-projects .fh5co-project-item:hover img, #fh5co-projects .fh5co-project-item:focus img { opacity: .7; }
#fh5co-projects .fh5co-project-item:hover h2, #fh5co-projects .fh5co-project-item:hover span, #fh5co-projects .fh5co-project-item:focus h2, #fh5co-projects .fh5co-project-item:focus span { text-decoration: none !important; }
#fh5co-projects .fh5co-project-item:hover p, #fh5co-projects .fh5co-project-item:focus p { color: #484c50; }

#fh5co-features .fh5co-devices { margin-bottom: 40px; }
#fh5co-features .fh5co-devices img { margin: 0 auto; }
#fh5co-features .fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 10px; }
@media screen and (max-width: 641px) { #fh5co-features  .fh5co-lead { font-size: 25px; font-weight:800; } }
#fh5co-features .fh5co-sub-lead { font-size: 18px; line-height: 32px; font-weight: 300; }
#fh5co-features .fh5co-feature { text-align: center; padding-left: 20px; padding-right: 20px; margin-bottom: 30px; width: 100%; }
@media screen and (max-width: 641px) { #fh5co-features .fh5co-feature { padding-left: 0px; padding-right: 0px; } }
#fh5co-features .fh5co-feature .fh5co-icon { width: 112px; height: 112px; display: table; margin: 0 auto 30px auto; background: #e6f2d4; border-radius: 50%; }
#fh5co-features .fh5co-feature .fh5co-icon i { position: relative; top: -1px; display: table-cell; vertical-align: middle; font-size: 50px; color: #8dc63f; }
#fh5co-features .fh5co-feature h3 { font-size: 20px; margin-bottom: 10px; }

#fh5co-features-2, #fh5co-features-3, #fh5co-features-4 { background: #f9f9f9; overflow: hidden; }
#fh5co-features-2 .fh5co-label, #fh5co-features-3 .fh5co-label, #fh5co-features-4 .fh5co-label { display: block; }
#fh5co-features-2 .fh5co-lead, #fh5co-features-3 .fh5co-lead, #fh5co-features-4 .fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 40px; }
@media screen and (max-width: 641px) { #fh5co-features-2 .fh5co-lead, #fh5co-features-3 .fh5co-lead, #fh5co-features-4  .fh5co-lead { font-size: 25px; font-weight:800; } }
#fh5co-features-2 .fh5co-feature, #fh5co-features-3 .fh5co-feature, #fh5co-features-4 .fh5co-feature { clear: both; margin-bottom: 20px; float: left; width: 100%; }
#fh5co-features-2 .fh5co-feature .fh5co-icon, #fh5co-features-3 .fh5co-feature .fh5co-icon, #fh5co-features-4 .fh5co-feature .fh5co-icon { float: left; width: 10%; }
#fh5co-features-2 .fh5co-feature .fh5co-icon i, #fh5co-features-3 .fh5co-feature .fh5co-icon i, #fh5co-features-4 .fh5co-feature .fh5co-icon i { font-size: 40px; color: #8dc63f; }
@media screen and (max-width: 641px) { #fh5co-features-2 .fh5co-feature .fh5co-icon i, #fh5co-features-3 .fh5co-feature .fh5co-icon i, #fh5co-features-4 .fh5co-feature .fh5co-icon i { font-size: 30px; } }
#fh5co-features-2 .fh5co-feature .fh5co-text, #fh5co-features-3 .fh5co-feature .fh5co-text, #fh5co-features-4 .fh5co-feature .fh5co-text { float: right; width: 85%; }
#fh5co-features-2 .fh5co-feature h3, #fh5co-features-3 .fh5co-feature h3, #fh5co-features-4 .fh5co-feature h3 { font-size: 24px; color: #484c50; margin-bottom: 10px; font-weight: 300; }
#fh5co-features-2 .fh5co-btn-action, #fh5co-features-3 .fh5co-btn-action, #fh5co-features-4 .fh5co-btn-action { width: 100%; float: left; }
#fh5co-features-2 .fh5co-btn-action > a, #fh5co-features-3 .fh5co-btn-action > a, #fh5co-features-4 .fh5co-btn-action > a { margin-left: 15%; }
@media screen and (max-width: 641px) { #fh5co-features-2 .fh5co-btn-action > a, #fh5co-features-3 .fh5co-btn-action > a, #fh5co-features-4 .fh5co-btn-action > a { margin-left: 0; } }

.fh5co-feature-image img { max-width: 95%; }
@media screen and (max-width: 992px) { #fh5co-features-2 .fh5co-feature-image img, #fh5co-features-3 .fh5co-feature-image img, #fh5co-features-4 .fh5co-feature-image img { max-width: 100%; } }

#fh5co-features-3 { background: #fff; }

#fh5co-testimonials.boredr-top { border-top: 1px solid #f0f2f3; }
#fh5co-testimonials .fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 10px; }
@media screen and (max-width: 641px) { #fh5co-testimonials  .fh5co-lead { font-size: 25px; font-weight:800; } }
#fh5co-testimonials .flexslider { background: transparent; border: none; border-radius: 0; }
#fh5co-testimonials .slides { z-index: 99; }
#fh5co-testimonials .slides li blockquote { border-left: none; padding-left: 0; font-size: 26px; line-height: 46px; margin-bottom: 0; }
#fh5co-testimonials .slides li p cite { font-size: 16px; }
#fh5co-testimonials .flexslider-controls { margin-left: -15px; z-index: 100; position: relative; }
#fh5co-testimonials .flexslider-controls .flex-control-nav { padding-bottom: 30px; }
@media screen and (max-width: 641px) { #fh5co-testimonials .flexslider-controls .flex-control-nav { padding-bottom: 30px; } }
#fh5co-testimonials .flexslider-controls .flex-control-nav li { cursor: pointer; }
#fh5co-testimonials .flexslider-controls .flex-control-nav li img { cursor: pointer; width: 50px; opacity: .3; transition: 0.5s; border-radius: 50%; }
#fh5co-testimonials .flexslider-controls .flex-control-nav li.flex-active img { opacity: 1; }
#fh5co-testimonials .flexslider-controls .flex-control-nav li:hover img { opacity: 1; }

#fh5co-about .fh5co-social a { font-size: 35px !important; color: #b3b3b3 !important; }
#fh5co-about .fh5co-social a:hover { color: #333333 !important; }
#fh5co-about .fh5co-lead { font-size: 50px; font-weight: 300; color: #484c50; margin-bottom: 30px; }
@media screen and (max-width: 641px) { #fh5co-about  .fh5co-lead { font-size: 25px; font-weight:800; } }
#fh5co-about .fh5co-sub-lead { font-size: 18px; line-height: 32px; font-weight: 300; }
#fh5co-about .flexslider { background: transparent; border: none; border-radius: 0; }

#fh5co-subscribe { background: #f9f9f9; padding: 3em 0; }
#fh5co-subscribe h3 { float: left; width: 30%; top: 10px; font-size: 26px; margin-bottom: 0; position: relative; }
#fh5co-subscribe h3 label { font-weight: 300; }
@media screen and (max-width: 992px) { #fh5co-subscribe h3 { width: 100%; margin-bottom: 30px; } }
#fh5co-subscribe form { width: 60%; float: right; position: relative; }
@media screen and (max-width: 992px) { #fh5co-subscribe form { width: 100%; } }
#fh5co-subscribe form .fh5co-icon { position: absolute; top: 50%; margin-top: -10px; left: 15px; font-size: 20px; }
@media screen and (max-width: 641px) { #fh5co-subscribe form .fh5co-icon { position: absolute; top: 26px; } }
#fh5co-subscribe form input[type="email"] { width: 100%; background: #ededed; border: none; padding-left: 50px; padding-right: 170px; }
@media screen and (max-width: 641px) { #fh5co-subscribe form input[type="email"] { margin-bottom: 10px; padding-right: 50px; } }
#fh5co-subscribe form input[type="submit"] { position: absolute; right: 0; top: 0; margin-right: -4px; height: 54px; border-top-left-radius: 0; border-bottom-left-radius: 0; font-size: 20px; font-weight: 300; width: 160px; }
@media screen and (max-width: 641px) { #fh5co-subscribe form input[type="submit"] { position: relative; width: 100%; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } }

#fh5co-info { background: #8dc63f; }
#fh5co-info .fh5co-label { color: rgba(255, 255, 255, 0.5); }
#fh5co-info .fh5co-lead { color: white; }
#fh5co-info p { color: white; }

#fh5co-pricing { background: #f9f9f9; }
#fh5co-pricing .price-box { background: #fff; border: 2px solid #ECEEF0; text-align: center; padding: 30px; margin-bottom: 40px; position: relative; border-radius: 5px; }
#fh5co-pricing .price-box.popular { border: 2px solid #8dc63f; }
#fh5co-pricing .price-box.popular .popular-text { top: 0; left: 50%; margin-left: -54px; margin-top: -2em; position: absolute; padding: 4px 20px; background: #8dc63f; color: #fff; border-radius: 4px; }
#fh5co-pricing .price-box.popular .popular-text:after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -10px; border-top: 10px solid black; border-top-color: #8dc63f; border-left: 10px solid transparent; border-right: 10px solid transparent; }
#fh5co-pricing .pricing-plan { margin: 0 0 30px 0; padding: 0; font-size: 15px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; }
#fh5co-pricing .price { font-size: 50px; color: #000; }
#fh5co-pricing .price .currency { font-size: 20px; top: -1.2em; }
#fh5co-pricing .price small { font-size: 16px; }
#fh5co-pricing .pricing-info { padding: 0; margin: 0 0 30px 0; }
#fh5co-pricing .pricing-info li { padding: 0; margin: 0; list-style: none; text-align: center; }

#fh5co-faqs .fh5co-faq-list { margin: 0; padding: 0; }
#fh5co-faqs .fh5co-faq-list li { margin: 0 0 40px 0; padding: 0; line-height: 24px; list-style: none; }
@media screen and (max-width: 641px) { #fh5co-faqs .fh5co-faq-list li { margin: 0 0 20px 0; } }
#fh5co-faqs .fh5co-faq-list li h2 { font-size: 30px; font-weight: 300; margin-bottom: 15px; }
@media screen and (max-width: 641px) { #fh5co-faqs .fh5co-faq-list li h2 { font-size: 26px; } }

#fh5co-footer { padding-bottom: 0; }
#fh5co-footer a { color: #6a7885; }
#fh5co-footer a:hover { text-decoration: underline; }
@media screen and (max-width: 992px) { #fh5co-footer .fh5co-footer-widget { margin-bottom: 30px; float: left; width: 100%; } }
#fh5co-footer .fh5co-footer-widget h3 { font-size: 18px; font-weight: 400; }
#fh5co-footer .fh5co-footer-widget .fh5co-links { padding: 0; margin: 0; }
#fh5co-footer .fh5co-footer-widget .fh5co-links li { padding: 0; margin: 0; list-style: none; margin-bottom: 15px; line-height: 24px; }
#fh5co-footer .fh5co-footer-widget .fh5co-links li a { color: #6a7885; }
#fh5co-footer .fh5co-footer-widget .fh5co-links li a:hover { text-decoration: underline; }
#fh5co-footer .fh5co-copyright { border-top: 1px solid #f0f2f3; padding: 40px 0; }
#fh5co-footer .fh5co-copyright a { font-weight: 700; }
#fh5co-footer .fh5co-copyright p { margin-bottom: 0; }
#fh5co-footer .fh5co-copyright p small { font-size: 15px; }
#fh5co-footer .fh5co-copyright .fh5co-left { float: left; }
#fh5co-footer .fh5co-copyright .fh5co-right { float: right; }
@media screen and (max-width: 641px) { #fh5co-footer .fh5co-copyright .fh5co-right { float: left; } }

.fh5co-social { padding: 0; margin: 0; }
.fh5co-social li { padding: 0; margin: 0; display: inline; }
.fh5co-social li a { padding: 4px 7px; font-size: 22px; }
.fh5co-social li a:hover { text-decoration: none !important; color: #8dc63f !important; }

.fh5co-person { text-align: center; }
@media screen and (max-width: 992px) { .fh5co-person { margin-bottom: 30px; float: left; width: 100%; } }
.fh5co-person figure { margin: 0 auto 30px auto; }
.fh5co-person figure img { margin: 0 auto; display: block; }
.fh5co-person .fh5co-name { margin-bottom: 0; color: #484c50; }
.fh5co-person .fh5co-designation { color: #85919d; }
.fh5co-person .fh5co-bio { text-align: left; }

#fh5co-offcanvas, .fh5co-nav-toggle, #fh5co-page { transition: 0.5s; position: relative; }
#fh5co-page { z-index: 2; transition: 0.5s; }
.offcanvas-visible #fh5co-page { transform: translateX(-275px); }

#fh5co-offcanvas {
  display: none; height: 100%; right: 0; overflow-y: auto; position: fixed; z-index: -1; top: 0; width: 275px;
  background-image:url("../images/header_bg2.png"); padding: 30px;
}
@media screen and (max-width: 641px) { #fh5co-offcanvas { display: block; } }
#fh5co-offcanvas ul { padding: 0; margin: 0; }
#fh5co-offcanvas ul li { padding: 0; margin: 0 0 10px 0; list-style: none; line-height: 28px; }
#fh5co-offcanvas ul li a { color: black; font-weight: 800; }
#fh5co-offcanvas ul li.active a { color: #8dc63f; }

.mfp-with-zoom .mfp-container, .mfp-with-zoom.mfp-bg {
  opacity: 0; transition: all 0.3s ease-out;
}
.mfp-with-zoom.mfp-ready .mfp-container { opacity: 1; }
.mfp-with-zoom.mfp-ready.mfp-bg { opacity: 0.8; }
.mfp-with-zoom.mfp-removing .mfp-container, .mfp-with-zoom.mfp-removing.mfp-bg { opacity: 0; }

@media screen and (max-width: 641px) { .col-xxs-12 { float: none; width: 100%; } }

.btn-cta { padding: 20px 30px !important; width: 200px; font-size: 18px; }
@media screen and (max-width: 641px) { .btn-cta { padding: 10px 30px !important; width: 100%; } }

.row-bottom-padded-lg { padding-bottom: 7em; }
@media screen and (max-width: 641px) { .row-bottom-padded-lg { padding-bottom: 2em; } }
.row-top-padded-lg { padding-top: 7em; }
@media screen and (max-width: 641px) { .row-top-padded-lg { padding-top: 2em; } }
.row-bottom-padded-md { padding-bottom: 4em; }
@media screen and (max-width: 641px) { .row-bottom-padded-md { padding-bottom: 2em; } }
.row-top-padded-md { padding-top: 4em; }
@media screen and (max-width: 641px) { .row-top-padded-md { padding-top: 2em; } }
.row-bottom-padded-sm { padding-bottom: 2em; }
@media screen and (max-width: 641px) { .row-bottom-padded-sm { padding-bottom: 2em; } }
.row-top-padded-sm { padding-top: 2em; }
@media screen and (max-width: 641px) { .row-top-padded-sm { padding-top: 2em; } }

.no-js #loader { display: none; }
.js #loader { display: block; position: absolute; left: 100px; top: 0; border: 10px solid red; }
.fh5co-loader { position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(../images/Preloader_2.gif) center no-repeat #fff; }
.js .animate-box { opacity: 0; }

/* その他スマホ用ヘッダー微調整 */
@media screen and (max-width: 992px) {
  #fh5co-header nav ul li { display: inline; }
  #fh5co-header nav ul li a { font-size: 14px; color: rgba(96,5,7,1.00); font-weight: 400; }
  #fh5co-header nav ul li a:hover { color:gray; }
  #fh5co-header nav ul li.fh5co-cta-btn a { position: relative; border-bottom: none; padding: 3px 10px; border: 2px solid rgba(96,5,7,1.00); background-color: rgba(96,5,7,1.00); color: white; border-radius: 7px; }
  #fh5co-header nav ul li.fh5co-cta-btn a:hover { border: 2px solid white; }
  #fh5co-header nav ul li.active a { color: white; }
  #fh5co-header nav ul.left-menu li { margin-right: 0px; }
  #fh5co-header nav ul.right-menu li { margin-left: 0px; color: rgba(96,5,7,1.00); }
  .h1_title{font-size: 0.8em; color: rgba(0,0,0,1.00); font-weight: 800; }
  .tomo_logo{ width: 200px; height: auto; margin-bottom: 15px; }
}

@media screen and (max-width: 641px) {
  .tomo_logo{ display:none; }
  .tomo_logo_sp{
    display: block; position: absolute; left: 10px; top:20px; width: 35%; height: auto; margin-bottom: 15px;
  }
  .h1_title { font-size: 0.8em; color:rgba(0,0,0,0.00); font-weight: 800; }
  .h1_title2{ display: inline; position: absolute; left: 40%; top:25px; font-size: 0.6em; }
  .file_icon{ margin: 0.5em; width: 80px; height: auto;}
  .kaisetu_btn{ background-color: rgba(219,77,80,1.00); font-size: 1.3em; margin-left: 0em; padding: 0.5em; border-radius: 0.5em;; margin-top: 2em; color: white; text-align: center; }
  .kaisetu_btn_on2{ background-color: #2766cc; font-size: 1.3em; margin-left: 0em; padding: 0.5em; border-radius: 0.5em;; margin-top: 2em; color: white; text-align: center; }
  .title_btn{ background-color: rgba(219,77,80,1.00); font-size: 1.3em; padding: 0.5em; border-radius: 0.5em;; color: white; }
}

.soroe{ display: flex; flex-wrap: nowrap; }

.sicho_video{ width: 80%; height: auto; margin: 0 auto; }
@media screen and (max-width: 992px) { .sicho_video{ width: 100%; height: auto; margin: 0 auto; } }

.sicho_youtube{ width: 80%; height: 245px; margin: 0 auto; }
@media screen and (max-width: 992px) { .sicho_youtube{ width: 100%; height: auto; margin: 0 auto; } }

.sicho{ margin-bottom: 30px; }
.sicho_bottom{ margin-bottom: 0px; }
.sicho_center{ margin-bottom: 30px; text-align: center; }

table{ border: solid 1px; border-collapse: collapse; padding: 1px 3px 1px 3px; text-align: left; margin-right:auto; margin-left:auto; }
td{ border: solid 1px; border-collapse: collapse; padding: 1px 3px 1px 3px; text-align: left; }
.table_yellow{ background-color: #FFF2CD; }
.table_pink{ background-color: #FCE1D8; }
.table_ichiran{ color: black; font-size:80%; font-weight:400; }
.table_text_center{ text-align:center; }
.table_noboder{ text-align:center; }
.kasho_kigaku{ text-align: center; color: white; font-weight:400; background-color: #817F80; font-size:120%; }
.title{ background-color: #DEEAF6; }

@media screen and (max-width: 640px) {
  table{ border: solid 1px; border-collapse: collapse; padding: 2px; text-align: left; margin-right:auto; margin-left:auto; line-height: 1.4; }
  td{ border: solid 1px; border-collapse: collapse; padding: 2px; text-align: left; }
  .table_ichiran{ color: black; font-size:50%; font-weight:400; }
  .kasho_kigaku{ text-align: center; color: white; font-weight:400; background-color: #817F80; font-size:50%; }
}

.sp_disp { display: none }
@media screen and (max-width: 640px) { .sp_disp { display: block } }
.pc_disp { display: block }
@media screen and (max-width: 640px) { .pc_disp { display: none } }

/* 丸囲み数字 */
.circle-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4em;
    height: 1.4em;
    border-radius: 50%;
    background-color: #3CA6E0;
    color: #ffffff;
    font-size: 38px;
    font-weight: bold;
    font-style: italic;
    line-height: 1;
    font-family: Arial, Helvetica, sans-serif;
    box-sizing: border-box;
    padding-right: 0.08em;
}

/* =========================================================
   スマホ用ヘッダーのロゴはみ出し・背景への被り防止
   ========================================================= */
@media screen and (max-width: 641px) {
  /* ヘッダーの高さを自動にして、ベージュの背景をロゴの下までしっかり伸ばす */
  #fh5co-header {
    height: auto !important;
    padding: 15px 5% !important; /* 上下のベージュの余白 */
  }

  /* ロゴと文字を綺麗に横並び・縦中央に揃える */
  #fh5co-header .container {
    display: flex !important;
    align-items: center !important;
    position: relative;
  }

  /* ロゴの強制配置（浮き）を解除し、自然に箱に収める */
  .tomo_logo_sp {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 160px !important; /* スマホで丁度いいロゴの幅（お好みで調整） */
    margin: 0 !important;
  }

  /* テキストの強制配置（浮き）も解除し、ロゴの右へ並べる */
  .h1_title2 {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin-left: 15px !important; /* ロゴと文字の隙間 */
    font-size: 0.7em !important;
    line-height: 1.3 !important;
  }
}