/* CSS Document */
/*
@charset "utf-8";
*/

@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Mincho');
@import url('https://fonts.googleapis.com/css?family=Sawarabi+Gothic');

.wf-sawarabimincho { font-family: "Sawarabi Mincho"; }
.wf-sawarabi-gothic {  font-family: "Sawarabi Gothic", sans-serif; }

/* RESET
----------------------------------------------------------------------------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}


body {
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.6em;
  font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  /*font-family: 'Roboto',"游ゴシック Medium", "Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;*/
  /*font-weight: 500;*/
  color: #5F5D57;
  -webkit-text-size-adjust: 100%;
}


/* サイトを開く時フェードイン用 */
body {
	display: none;
}



@media only screen and ( max-width : 768px ) {
  body {font-size: 14px;
        
    }
}

@media only screen and ( max-width : 428px ) {
p {
    font-size: 115%;
    line-height: 2.0;
    padding: 0 0 16px 0;
  }
}



table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: middle;
  border: none;
}



h2,h3,h4 { 
	  font-family: 'Roboto',"游ゴシック Medium", "Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}

/* ----------------------------------------------
 * アンカータグの設定
---------------------------------------------- */
a {
  outline:none;
  color: #DA8647;
}

a:hover {
  text-decoration: none;
  color: #B15418;
}


a,a:hover,a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
}

/* -------------------------------- 
　横幅指定
-------------------------------- */

.max900 {
width: 100%;
max-width: 900px;
margin:0px auto;
}

.max1000 {
width: 100%;
max-width: 1000px;
margin:0px auto;
}

.max1170 {
width: 100%;
max-width: 1170px;
margin:0px auto;
}

/* ---------- テキスト中央寄せ（SP左寄せ） ---------- */

.t-a_right {text-align: right;}
.t-a_right-c {text-align: right;}
.t-a_center {text-align: center;}
.t-a_center_sp {text-align: left!important;}
.t-a_left {text-align: left!important}

@media only screen and (min-width:320px) and (max-width:428px) {
	.t-a_center {text-align: left;}
	.t-a_right {text-align: left;}
.t-a_right-c {text-align: center;}
	.t-a_center_sp {text-align: center!important;}
        .t-a_left {text-align: center!important}
}	

/*------------------------------------------------------
　　　　　　　　　＊ FONT&TEXT　＊
-------------------------------------------------------*/
.f_bold {font-weight: bold !important;}
.f_line a{ text-decoration:underline !important;}

.f_gr {color: #5A5A5A !important;}
.f_red {color: #DD0000 !important;}
.f_bule {color: #3E409D !important;}
.f_white {color: #FFFFFF !important;}
.f_gold {color: #868052 !important;}
.f_purple {color: #7F5083 !important;}
.f_orange {color: #F18900 !important;}
.f_pink {
    color: #E95050 !important;
    font-weight: bold;
}
.f_lightpink {color: #F392CA !important;}
.f_lightgr {color: #A6A6A6 !important;}
.f_bro {color: #A37B4C!important;}

.f_s10 {font-size: 77% !important;}
.f_s11 {font-size: 85% !important;}
.f_s12 {font-size: 93% !important;}
.f_s13 {font-size: 100% !important;}
.f_s14 {font-size: 108% !important;}
.f_s14 a {font-size: 108% !important;}
.f_s15 {font-size: 116% !important;}
.f_s15 a {font-size: 116% !important;}
.f_s16 {font-size: 124% !important;}
.f_s16 a {font-size: 124% !important;}
.f_s17 a {font-size: 124% !important;}
.f_s17 {font-size: 131% !important;}
.f_s18 {font-size: 139% !important;}
.f_s19 {font-size: 147% !important;}
.f_s20 {font-size: 154% !important;}
.f_s21 {font-size: 162% !important;}
.f_s22 {font-size: 170% !important;}
.f_s23 {font-size: 177% !important;}
.f_s24 {font-size: 185% !important;}
.f_s25 {font-size: 193% !important;}

.f_s16res {font-size: 170% !important;}
.f_s20res {font-size: 154% !important;}

.f_s15_name {font-size: 116% !important;}
@media screen and (max-width: 360px){
.f_s20res {font-size: 134% !important;}
.f_s15_name {font-size: 96% !important;}
}

@media screen and (max-width: 1199px){
.f_s16res {font-size: 154% !important;}
}
@media screen and (max-width: 991px){
.f_s16res {font-size: 112% !important;}
}
@media screen and (max-width: 414px){
.f_s16res {font-size: 154% !important;}
}
.f_lh100 {line-height: 1.0;}
.f_lh150 {line-height: 1.5;}
.f_lh250 {line-height: 2.5;}

@media only screen and (min-width:320px) and (max-width:428px) {
	.t-a_center {text-align: left;}
	.f_lh250 {line-height: 2.0;}
}





/* ---------- MARGIN ---------- */
.m_b0 {margin-bottom: 0px !important;}
.m_b30 {margin-bottom: 30px !important;}
.m_b40 {margin-bottom: 40px !important;}
.m_b50 {margin-bottom: 50px !important;}
.m_b5em {margin-bottom: 5em !important;}
.m_b7em {margin-bottom: 7em !important;}
.m_b10 {margin-bottom: 10px !important;}
.m_b20 {margin-bottom: 20px !important;}
.m_t20 {margin-top: 20px !important;}
.m_t10 {margin-top: 10px !important;}
.m_t40 {margin-top: 40px !important;}
.m_t60 {margin-top: 60px !important;}
.m_lr10 {
margin-left: 25px !important;
margin-right: 25px !important;
}
.m_b30pc {margin-bottom: 30px !important;}
/* ---------- PADDING ---------- */
.p_r5 {padding-right: 5px;}
.p_l5 {padding-left: 5px;}
.p_l10 {padding-left: 10px;}
.p_l70 {padding-left: 70px;}
.p_r70 {padding-right: 70px;}
.p_t60 {padding-top: 60px !important;} 
.p_b0 {padding-bottom: 0px !important;}
		 
@media screen and (max-width: 1199px){  
.p_l70 {padding-left: 20px;}
.p_r70 {padding-right: 20px;}
}

@media screen and (max-width: 428px){
.m_t60 {margin-top: 30px !important;}
.p_l70 {padding-left: 20px;}
.p_r70 {padding-right: 20px;}
.m_lr10 {
margin-left: 10px !important;
margin-right: 10px !important;
}
.m_b30pc {margin-bottom: 10px !important;}
}

.clear{
	float:none;
	clear:both;
}
.clearfix:after{
	content:".";
	display:block;
	height:0;
	font-size:0;
	clear:both;
	visibility:hidden;
}


/* -------------------------------- 
　横幅指定
-------------------------------- */
.about-logo {
width: 100%;
max-width: 270px;
margin:0px auto;
padding-bottom: 2em;
}

@media screen and (max-width: 428px){
.about-logo {
width: 100%;
max-width: 200px;
margin:0px auto;
padding-bottom: 2em;
}
}



.contact-tel {
width: 100%;
max-width: 500px;
margin:0px auto;
}

.max550 {
width: 100%;
max-width: 550px;
margin:0px auto;
}
.max700 {
width: 100%;
max-width: 700px;
margin:0px auto;
}

.max900 {
width: 100%;
max-width: 900px;
margin:0px auto;
}

.max1000 {
width: 100%;
max-width: 1000px;
margin:0px auto;
}

.max1140 {
width: 100%;
max-width: 1140px;
margin:0px auto;
}

/* ---------------------------------------------------------------------------------------------
　   HEADER
--------------------------------------------------------------------------------------------- */

#header a {
  outline:none;
  color: #5F5D57;
}

.header-flex {
    display: flex; /* フレックスボックスを使用 */
    justify-content: space-between; /* 左右に配置 */
    align-items: center; /* 垂直方向に中央揃え */
}

.container-hd{
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
background-color: #FEFCF6;
}

#hd-nv {
	color: #fff;
width: 100%;
max-width: 1140px;
}

#hd-nv:after {
	content: "";
	clear: both;
	display: block;
}

#hd-ct {
    /* 右側のコンテンツ */
}
#hd-ct img {
  max-width: 320px;
}

/* 768px以下の場合に#hd-ctを非表示にする */
@media (max-width: 768px) {
    #hd-ct {
        display: none;
    }
}
@media (max-width: 576px) {
#ft-ct {
        display: none; /* 非表示にする */
    }
}

.nv_hdc {
	  display:flex;
align-items: left;
  justify-content: left;
	padding-bottom: 1.5em;
}
.nv_hdl {
	float: left;
	width: 60%;
}

.nv_hdr {
	float: right;
	width: 40%;
}


#logo-hd {
	height: auto;
	margin-top: 15px;
	font-size: 70%;
	text-align: center;
}
#logo-hd img {
margin-top: 2px!important;
}
#logo-hd span {
color: #5f5d57;
font-size: 110%;
}


#header {
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
    background: #fff;
 　　z-index: 99;
    width: 100%;
}


#gNav a:hover {
  color: #999;
}
nav li a {
  font-size: 13px;
  letter-spacing: 0.2em;
}
nav .sub-menu,.mean-container .mean-nav ul ul {
  background: #fff;
background-color: #FAF5E0;
}


@media only screen and ( max-width : 768px ) {
#header {
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
    background: #fff;  
  z-index: 9999;
  position: fixed;
  top: 0px;
  left: 0px;

}
}


@media only screen and ( max-width : 1079px ) {
	
.nv_hdl {
	float: left;
	width: 55%;
}

.nv_hdr {
	float: right;
	width: 45%;
}
	
#nv_phone {
margin-top: 36px!important;
max-width: 380px;
}	
}	
	
@media only screen and ( max-width : 768px ) {

#logo-hd img {
margin-top: -5px !important;
}

	
.nv_hdl {
    float: left;
    width: 75%;
    height: 45px;
}
	
#logo-hd {
  width: 250px;
	height: auto;
	margin-top: 0px;
}
#logo-hd span {
display:none;
}
#nv_phone {
display:none;
}
	
  #header {
    padding: 10px 0;
    height: 60px;
    /*overflow:hidden;*/
    top: 0;
  }

	
  .h_logo {
    position: absolute;
    display: block;
    z-index: 100;
    box-sizing: border-box;
    width: 175px;
    height: 45px;
    left: 10px;
    top: 10px;
  }
	
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
}

@media screen and (max-width: 414px){
.h_logo {
    width: 165px;
    height: 40px;
    left: 10px;
    top: 10px;
}
}

@media print, screen and ( min-width : 769px ) {
	
	
  #header {
  }
  .h_logo img {
    width: 230px;
  }
  #h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;

  }
	
.h_nav{
margin: 0 auto;
}
	
	
  #gNav ul {
    position: relative;
    display: flex;
    padding: 0; /* パディングをリセット */
    margin: 0; /* マージンをリセット */
    list-style: none; /* リストスタイルを消す */
  }
  #gNav li {
    position: relative;
  }
	
  #gNav li:last-child {
    margin-right: 0;
  }
	
.nav{
font-family: "Sawarabi Gothic", sans-serif; 
font-weight: 500;
}
	
	
  /*ナビ区切り線*/
  #gNav ul > li {
      border-left: 1px solid #C0C0C0;
      border-right: 1px solid #C0C0C0;
    }
  #gNav ul > li+ li {
      border-left: 0;
      border-right: 1px solid #C0C0C0;
    }


  #gNav li i {
    font-size: 16px;
    margin-left: 5px;
  }
  #gNav li a {
	font-size: 110%;
    position: relative;
    display: block;
    text-align: center;
    line-height: 40px;
    color: #5F5D57;
	letter-spacing: 0.02em;
	padding: 0.5em 1.5em;
	  white-space: nowrap; /* テキストの折り返しを防ぐ */
  }
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 100%; /* 親要素の下に表示 */
    left: 50%; /* 中央に配置 */
    transform: translateX(-50%); /* 中央に配置するために移動 */
    width: 190px; /* 必要に応じて幅を調整 */
    transition: all .2s ease;
    margin-top: -4px; /* マージンをリセット */
  }
	
#gNav li:hover .sub-menu {
    visibility: visible;
    opacity: 1; /* ホバー時に表示 */
}
	
  #gNav .sub-menu a {
    padding: 10px;
    display: block;
    border-bottom: none;
    padding: 20px 10px;
    line-height: 1.2em;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
	border-left: none;
    border-right: none;
  }
    
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }

	
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }
  #gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: #22A4A0;
  }
  #gNav li:hover ul.sub-menu {
    top: 60px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a {
    color: #6c6c6c;
  }
  #gNav .sub-menu li a:hover {
   background: #fff;
  }
  #gNav .contact_btn a:hover {
    color: #fff;
  }
}

@media screen and (min-width:1200px) { 
  #gNav li {
    position: relative;
   /* margin-right: 2em;*/
  }	
}

@media print, screen and ( max-width : 1050px ) {
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 100%; /* 親要素の下に表示 */
    left: 45%; /* 中央に配置 */
    transform: translateX(-50%); /* 中央に配置するために移動 */
    width: 175px; /* 必要に応じて幅を調整 */
    transition: all .2s ease;
    margin-top: -4px; /* マージンをリセット */
  }
	  #gNav li {
    position: relative;
    margin-right: 1em;
  }	
  #gNav li a {
	font-size: 105%;
    position: relative;
    display: block;
    text-align: center;
    line-height: 40px;
    color: #5F5D57;
	letter-spacing: 0.02em;
	padding: 0.5em .8em;
  }
}


@media print, screen and ( max-width : 991px ) {
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 100%; /* 親要素の下に表示 */
    left: 50%; /* 中央に配置 */
    transform: translateX(-50%); /* 中央に配置するために移動 */
    width: 155px; /* 必要に応じて幅を調整 */
    transition: all .2s ease;
    margin-top: -4px; /* マージンをリセット */
  }
	
	  #gNav li {
    position: relative;
    margin-right: 0;
  }
  #gNav li a {
	font-size: 100%;
    position: relative;
    display: block;
    text-align: center;
    line-height: 40px;
    color: #5F5D57;
	letter-spacing: 0.02em;
  }
}
	
@media print, screen and ( max-width : 789px ) {
  #gNav li a {
	font-size: 97%;
    position: relative;
    display: block;
    text-align: center;
    line-height: 40px;
    color: #5F5D57;
	letter-spacing: 0.02em;
	padding: 0.5em .8em;
  }
}

/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
#footer {
  background: #CBE4DF;
  font-size: 14px;
  padding-top: 3em;
}
.f_logo {
  width: 280px;
	height: auto;
  margin-bottom: 15px;
}
.f_logo,.f_logo p {
  text-align: center;
}
.copy {
text-align: center;
background: #22A4A0;
font-size: 12px;
color: #fff;
padding: 15px 0;
font-weight: 300;
}
.rounded_wh { 
border-radius: 10px; 
  background: #FFF;	
	padding: 25px;
	margin-bottom: 2em;
} 

footer table span a {
    font-size: 187%;
	letter-spacing: 0.05em;
    padding-left: 10px;
    color: #724730;
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
} 

footer i {
padding-right: 10px;
} 

.fa-phone {
padding-right: 10px;
color: #BAA37D;
} 

.ft-name{
text-align: center;
font-size: 120%;
text-shadow: 0 0 5px #a28d5b, 0 0 5px #a28d5b, 0 0 5px #a28d5b, 0 0 10px #a28d5b, 0 0 10px #a28d5b;
}


#footer .f_bg {
    background-color: #FFF;  /*#F4F2E3*/
padding: 2.5em 2em 2em 2em;
}

.operate{
	color: #5F5D57!important;
}
.operate span{
	background-color: #5F5D57;
	color: #fff!important;
	padding: 5px;
	margin-right: 5px;
}
@media screen and (max-width: 768px) {
  #footer .pagetop {
    right: 10px;
    bottom: 80px;
  }

#footer .f_address p {
text-shadow: none;
}
	
}

@media screen and (max-width: 424px) {
#footer .f_bg {
padding: 2.5em 1em 2em 1em;
}
}	


/* Topへ戻る */
.page-top
{
	display: none ;
	margin: 0 ;
	padding: 0 ;
}
 
.page-top p
{
	margin: 0 ;
	padding: 0 ;
	position: fixed ;
	right: 16px ;
	bottom: 16px ;
}
 
.move-page-top {
	display: block;
border-radius: 25px;
background: #F18900;
width: 50px;
height: 50px;
text-align: center;
line-height: 55px;
	cursor: pointer;
padding-left: 9px;
border: 1px solid #fff;
}

a#move-page-top.move-page-top {
color: #fff!important;
}

@media only screen and (max-width: 428px) {
.move-page-top {
	display: none ;
}
}

/* bootstrap.css　上書き分 */
a:focus {
		outline: none;
	}


.nav {
  width: 100%;
  margin: 0 auto;
}


.nav > li > a:hover, .nav > li > a:focus {
    text-decoration: none;
    background-color: transparent!important;
}
.nav > li > a {
    padding: 10px 8px;

}


@media only screen and ( max-width : 1038px ) {
.nav > li > a {
  padding: 10px 8px;
  letter-spacing: 0.02em;
} 
}  

/* -----------------------------------------
------------------------------------------- */

@media only screen and ( max-width : 768px ) {
  #main {
    padding-top: 0px;
  }

}

@media print, screen and ( min-width : 769px ) {
  #main {
    padding-top: 20px;
  }

}


img {
    max-width: 100%;
    height: auto;
}

#main p {
  word-break: break-all;
}


@media only screen and ( max-width : 768px ) {

  section {
    padding: 60px 0 60px 0;
  }
}

@media print, screen and ( min-width : 769px ) {

  section {
    padding: 50px 0 80px 0;
  }
}

@media only screen and ( max-width : 428px ) {

  section {
    padding: 40px 0 40px 0;
  }
}


/* -----------------------------------------
　   TOP CONTENTS
------------------------------------------- */


section {
  text-align: center;
}



@media screen and ( max-width : 1240px ) {
	
}
@media screen and ( max-width : 1124px ) {
    
}	

@media screen and (min-width: 950px) and (max-width: 1024px) {

}

@media screen and (max-width : 949px ) {
 
#top_concept p {
  font-size: 94%;
  line-height: 2.0;
  padding-bottom: 16px;
  padding: 0 8em;
}
 
}


@media screen and ( max-width : 991px ) {

#top_concept h3 {
    font-size: 150%;
    text-align: center;
    font-family: "Hannari","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif!important;
	margin-bottom: 2em;
}
    
#top_concept p {
  font-size: 94%;
  line-height: 2.0;
  padding-bottom: 16px;
  padding: 0 4em;
}
   
    
}
@media screen and ( max-width : 414px ) {

#top_concept h3 {
    font-size: 130%;
    text-align: center;
    font-family: "Hannari","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif!important;
	margin-bottom: 2em;
}
#top_concept p {
  font-size: 94%;
  line-height: 2.0;
  padding-bottom: 16px;
  padding: 0;
}
}


/**/@media screen and ( max-width : 768px ) {

}

@media screen and ( max-width : 428px ) {
}

@media screen and ( max-width : 414px ) {

#top_concept {
background-image:none;
}
}

#top_concept h2 {
    font-size: 175%;
    text-align: center;
	margin-bottom: 1em;
	color: #F18900 !important;
	font-weight: bold;
}
#top_concept h3 {
    font-size: 154%;
    text-align: center;
	margin-bottom: 1em;
	color: #5F5D57!important;
	font-weight: bold;
}
#top_concept p {
	font-size: 108%;
	line-height: 2.0;
	padding-bottom: 16px;
	/*color: #8FC31F !important;*/
}

#top_contents {
background-color: #CBE4DF;
padding-bottom: 1em;
padding-bottom: 4em;
}

#insta_area {
background-color: #FEFCF6;
padding-bottom: 4em;
}


@media screen and ( max-width : 428px ) {

#top_concept h2 {
  font-size: 148%;
  text-align: center;
  margin-bottom: 1em;
  font-weight: bold;
  letter-spacing: 0.01em;
}
#top_concept p {
  font-size: 110%;
  line-height: 2.0;
  color: #5F5D57 !important;
  padding: 0 0 16px 0;
}
}


/* -------------------------------- 
TOP　お知らせ
-------------------------------- */

#top_info {
padding-bottom: 9em;
}

@media screen and ( max-width : 769px ) {
#top_info {
padding-bottom: 3em;
}
}


.box-radius_info{
background-color: rgba(245,243,228,0.45);
border-radius: 15px;
margin-top: 0;
margin-bottom: 3em;
padding-left: 1em;
padding-right: 0.5em;
padding-top: 0.5em;
padding-bottom: 0.5em;
}


.boder_b {
margin-bottom: 1em;
padding-bottom: 1em;
border-bottom: 2px dotted #D9D5D0;
}


.scr {
    overflow: auto;
    width: 100%;
    height: 265px;
    -moz-border-radius-bottomleft: 30px;
    -moz-border-radius-topleft: 10px;
    padding: 20px 15px 0;
}


@media only screen and (max-width:414px){
.scr {
    width: 100%;
	height: 285px;
    -moz-border-radius-bottomleft: 30px;
    -moz-border-radius-topleft: 10px;
    padding: 10px 20px 0px;
}
}

/*--　feed　--*/

#feed a {
	color: #C24631!important;
	}
	
#feed li{
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
	white-space: nowrap;
margin-bottom: 1em;
padding-bottom: 1em;
border-bottom: 2px dotted #D9D5D0;
	padding-left: 15px;
	padding-right: 10px;
}
#feed li a {
	font-size: 105%;
	text-decoration: none;
	color: #666;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
#feed span {
	color: #6D604D;
	padding-right: 10px;
	line-height: 25px;
	font-weight: bold;
}

@media only screen and (max-width: 414px) {
	
#feed span {
    display: block;
}
#feed li {
	padding-left: 15px;
}

}




.info-ttl {
    color: #C24631;
    font-weight: bold;
	margin-bottom: 10px;
	line-height: 22px;
}

.info-ttl span {
    color: #6D604D;
    font-weight: normal;
	margin-right: 20px;
}

.info-ttl02 {
    color: #7A9F1E;
    font-weight: bold;
	margin-bottom: 10px;
	line-height: 22px;
}

.info-ttl02 span {
    color: #6D604D;
    font-weight: normal;
	margin-right: 20px;
}


@media only screen and (max-width: 414px) {
	
.info-ttl span {
    display: block;
}
.info-ttl02 span {
    display: block;
}

}


/* -------------------------------- 
　スライダー carousel 
-------------------------------- */

.item img {
/*width:100%;*/
height: 100%;
width:auto;
min-height: 300px;
}
@media only screen and (min-width:320px) and (max-width:600px) {
.item img {
width:auto;
min-height: 100%;
}
}
/* SMARTPHONES SIZE */
@media screen and (max-width: 414px){
.item img {
width:auto;
min-height: auto;
height: 100%;
}
}

.fluid2 {
    width: 100%;
    padding: 0;
background: linear-gradient(93deg, rgb(240, 137, 0) 0%, rgb(255, 255, 255) 48%, rgb(240, 136, 1) 100%);
}
@media only screen and ( max-width : 768px ) {
.fluid2 {
    width: 100%;
    padding: 0;
	margin-top: 4.4em;
}
}

/* -------------------------------- 
　page cover
-------------------------------- */

.page-cover{
}

@media screen and (max-width: 768px){
.page-cover{
		margin-top: 3.8em;
}	
}



#cover_about {
background-image: url(../img/about/top-bg.png);
background-repeat: no-repeat;
padding: 50px;
background-position: 30% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}

#cover_staff {
  background-image: url(../img/about/top-bg3.png), url(../img/about/top-bg2.png);
  background-repeat: no-repeat, no-repeat;
  background-position: 70% top, 30% bottom;
  background-size: contain, contain;
  padding: 50px;
  height: 10em;
  background-color: #22A4A0;
}

#cover_service {
background-image: url(../img/service/top-bg.png);
background-repeat: no-repeat;
padding: 50px;
background-position: 33% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}

#cover_flow {
background-image: url(../img/flow/top-bg.png);
background-repeat: no-repeat;
padding: 50px;
background-position: 33% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}

#cover_faq {
  background-image: url(../img/faq/top-bg2.png), url(../img/faq/top-bg.png);
  background-repeat: no-repeat, no-repeat;
  background-position: 70% top, 30% bottom;
  background-size: contain, contain;
  padding: 50px;
  height: 10em;
  background-color: #22A4A0;
}
#cover_voice {
  background-image: url(../img/voice/top-bg2.png), url(../img/voice/top-bg.png);
  background-repeat: no-repeat, no-repeat;
  background-position: 70% top, 30% bottom;
  background-size: contain, contain;
  padding: 50px;
  height: 10em;
  background-color: #22A4A0;
}
#cover_contact {
  padding: 50px;
  height: 10em;
  background-color: #22A4A0;
}

@media screen and (max-width: 768px){
#cover_about {
padding: 50px;
background-position: 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
#cover_staff {
padding: 50px;
  background-position: 95% top, 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
#cover_service {
padding: 50px;
background-position: 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
#cover_flow {
padding: 50px;
background-position: 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
#cover_faq {
padding: 50px;
  background-position: 95% top, 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
#cover_voice {
padding: 50px;
  background-position: 95% top, 5% bottom;
background-size: contain;
height: 10em;
background-color: #22A4A0;
}
}


.square_gr {
font-family: "Sawarabi Gothic", sans-serif;
padding:  15px 10px 10px 10px;
margin: 0 auto;
width: 90%;
max-width: 270px;
font-size: 1rem;
line-height: 1.7;
}


.square_wh {
background-color: rgba(255,255,255,0.5);
padding: 20px 10px;
margin: 0 auto;
width: 90%;
max-width: 310px;
font-size: 1rem;
line-height: 1.7;
}

.cover_ttl {
text-align: center;
	font-size: 140%;
	color: #FFFFFF;
}

.cover_ttl span{
	font-size: 70%;
	color: #FFF;
	display: block;
	text-align: center;
	letter-spacing: 0.05em;
}


@media only screen and (max-width: 480px) {



#cover_contact {
        overflow: scroll;
    }
	
.square_wh {
        width: 100%;
    }  
.cover_ttl {
text-align: center;
	font-size: 110%;
	color: #FFFFFF;
	text-shadow: 3px 3px 0 #22A4A0, -3px -3px 0 #22A4A0, -3px 3px 0 #22A4A0, 1px -3px 0 #22A4A0, 0px 3px 0 #22A4A0, 0-3px 0 #22A4A0, -3px 0 0 #22A4A0, 3px 0 0 #22A4A0;
}
.square_gr {
  padding: 10px 10px 20px 10px;
  margin: 0 auto;
  font-size: 140%;
}    
}

@media screen and (max-width: 414px){	
}

/* -------------------------------- 
　タイトル装飾
-------------------------------- */




/* -------------------------------- 
　特徴
-------------------------------- */
.boxshadow {
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
background-color: #fff;
padding: 25px 20px;
margin-bottom: 20px;
}


/* -------------------------------- 
　下層共通
-------------------------------- */



.kasou-ttl {
    text-align: center;
    margin-bottom: 3em;
		margin-top: 4em;
    background-color: #7E543E;
    color: #fff;
    padding: 15px 0;
}

.kasou-ttl span {
    border: 1px solid #fff;
	padding: 10px;
	border-radius: 30px;
	font-size: 74%!important;
	background-color: #FFF;
	color: #7E543E;
}


/*gridのgutter調整　　row　に＋追加する*/
.row-0{
    margin-left:0px;
    margin-right:0px;
     }
.row-0 div{
        padding-right:0px;
        padding-left:0px;
    }

/*上下や左右から中央寄せ*/

.inner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 75%;
  margin: 0 auto;
  max-width: 500px;
}
.inner2{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 85%;
  margin: 0 auto;
  max-width: 500px;
}
@media screen and (max-width: 768px){

.inner,
.inner2 {
 position:static;
  top: auto;
  left: auto;
  transform: none;
  width: 100%;
  margin: 0 auto;
  max-width: 600px;
	margin-bottom: 2em;
}
}

@media screen and (max-width: 414px){
.kasou-ttl span {
    border: 1px solid #fff;
    padding: 7px;
    border-radius: 30px;
    font-size: 74% !important;
    background-color: #FFF;
    color: #7E543E;
}
}

/* -------------------------------- 
　理念・特徴
-------------------------------- */

#kasou_about {
	padding-bottom: 6em;
}

#kasou_about h2 {
    font-size: 174%;
	margin-bottom: 50px;
	font-weight: bold;
	text-align: center;
    color: #5F5D57;
	
}

#kasou_about h3 {
    font-size: 154%;
	font-weight: bold;
	text-align: center;
    color: #F18900;
	margin-bottom: 20px;
}
#kasou_about h4 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .7em;
    color: #F18900;
    margin-top: 1em;
    line-height: 1.5;
}
#kasou_about h5 {
    font-size: 124%;
	font-weight: bold;
	margin-bottom: .2em;
    color: #F18900;
    margin-top: 1em;
    line-height: 1.5;
}
#kasou_about  ul {
	margin-top: 20px;
	padding-left: 1em;
	font-family: "Sawarabi Gothic", sans-serif; 
}

#kasou_about  li {
	font-size: 115%;
	padding-bottom: 16px;
    color: #22A4A0;
	line-height: 1;
	list-style-type: square;
	line-height: 1.5;
}

.flm-ra_or{
	padding: 5px 10px;
	color: #fff;
	background-color: #F18900;
	border-radius: 20px;
	text-align: center;
	margin: 1em 0 .5em 0;
	font-family: "Sawarabi Gothic", sans-serif; 
	font-size: 110%;
	letter-spacing: 1px;
}
.flm-fl_or{
	padding: 8px 10px 5px 10px!important;
	color: #fff!important;
	background-color: #F18900;
	text-align: center;
	margin: 0!important;
	font-family: "Sawarabi Gothic", sans-serif; 
	font-size: 120%!important;
	letter-spacing: 1px;
}
.flm-ra_green{
	padding: 10px 10px 5px 10px;
	color: #fff!important;
	font-size: 139%!important;
	background-color: #22A4A0;
	text-align: center;
	margin: 1em 0 0 0!important;
	font-family: "Sawarabi Gothic", sans-serif; 
	letter-spacing: 1px;
	line-height: 1.5;
}

.bg-ligr {
  background-color: #F7F8F8;
  padding: 20px;
  margin-bottom: 5em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bg-ligr {
  background-color: #F7F8F8;
  padding: 20px;
  margin-bottom: 5em;

  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bg-ligr .outline-sec {
  width: 50%;
  box-sizing: border-box;
  padding: 10px;
}

/* 412px以下は上下表示 */
@media (max-width: 428px) {
  .bg-ligr .outline-sec {
    width: 100%;
	padding: 0px 10px 0px 10px;
  }
	.p-coment p{
	line-height: 1.7;	
	}
}

@media (max-width: 428px) {
#kasou_about h5 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .2em;
    color: #F18900;
    margin-top: 1em;
    line-height: 1.5;
}
}

@media (max-width: 375px) {
.bg-ligr {
  background-color: #F7F8F8;
  padding: 10px;
  margin-bottom: 5em;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
}


/* -------------------------------- 
-------------------------------- */


#kasou_concept {
	padding-bottom: 6em;
}

#kasou_concept h2 {
    font-size: 154%;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: center;
    color: #8FC31F;
}
#kasou_concept h3 {
    font-size: 154%;
	font-weight: bold;
	text-align: center;
}
#kasou_concept h4 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .7em;
    color: #8FC31F;
    margin-top: 1em;
    line-height: 1.5;
}
#kasou_concept p {
	font-size: 91%;
	line-height: 1.8;
	padding-bottom: 16px;
}

#kasou_concept .message-do p {
font-size: 100%;
line-height: 2.5 !important;
padding-bottom: 16px;
word-break: break-all;
}

@media screen and (max-width: 810px){
#kasou_concept h4 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .7em;
    color: #8FC31F;
    margin-top: .1em;
}
#kasou_concept p {
  font-size: 85%;
  line-height: 1.8;
  padding-bottom: 16px;
}
}

@media screen and (max-width: 428px){
    
#kasou_concept {
	padding-bottom: 2em;
}
    
#kasou_concept h2 {
    font-size: 154%;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: left;
}
#kasou_concept h3 {
    font-size: 144%;
	font-weight: bold;
	line-height: 2.0;
}
.kasou-ttl span {
    border: 1px solid #fff;
    padding: 7px;
    border-radius: 30px;
    font-size: 74% !important;
    background-color: #FFF;
    color: #7E543E;
}
#kasou_concept p {
  font-size: 100%;
  line-height: 1.8;
  padding-bottom: 16px;
}
}

/* -------------------------------- 
　プロフィール
-------------------------------- */
#site-kasou {
	padding-bottom: 6em;
}

#site-kasou h2 {
    font-size: 154%;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: center;
    color: #8FC31F;
}
#site-kasou h3 {
    font-size: 154%;
	font-weight: bold;
}
#site-kasou h4 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .7em;
    color: #8FC31F;
    margin-top: 1em;
}
#site-kasou p {
	font-size: 95%;
	line-height: 1.8;
	padding-bottom: 16px;
}

.author {
  width: 100%;
  float: left;
  margin-bottom: 3em;
}

.author h3 {
margin: 0 0 10px 0;
font-weight: 300;
line-height: 0;
  padding-top: 10px;
}
.author h3 span {
font-size: 70%!important;
display: inline!important;
}

.author .author-inner {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
  width: 40%;
  height: 500px;
  float: left;
  background-image: url("../img/about/person.jpg")
}
.author .desc span {
  font-size: 13px;
  display: block;
  margin-bottom: 0px;
  letter-spacing: 1px;
	padding-left: 0.2em;
}
.author .desc .site-social-icons li a {
  color: #e0cdc6;
  padding-left: 0;
  padding-right: 10px;
}
.author .desc {
  width: 60%;
  float: left;
  padding-left: 50px;
}
.bd_top {
  border-bottom: 3px solid #22A4A0;
  padding: 0 .1em .5em .2em;
  position: relative;
text-align: left!important;
  color: #5F5D57!important;
}

.site-social-icons {
  margin: 0;
  padding: 0;
}
.site-social-icons li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
.site-social-icons li a {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  color: #cabcab;
  padding-left: 10px;
  padding-right: 10px;
}
.site-social-icons li a i {
  font-size: 20px;
}

.author .desc .site-social-icons li a {
  color: #22A4A0;
  padding-left: 0;
  padding-right: 10px;
}

@media screen and (max-width: 810px){
#site-kasou h4 {
    font-size: 134%;
	font-weight: bold;
	margin-bottom: .7em;
    color: #8FC31F;
    margin-top: .1em;
}
#site-kasou p {
  font-size: 85%;
  line-height: 1.8;
  padding-bottom: 16px;
}
 .author .author-inner {
    width: 100%;
    margin-bottom: 20px;
	 height: 200px;
  background-image: url("../img/about/person2.jpg")
  }
	
}

@media screen and (max-width: 810px){
.author {
  width: 100%;
  float: left;
  margin-bottom: 1em;
}
 .author .desc {
    width: 100%;
    padding-left: 0;
  }    
#site-kasou {
	padding-bottom: 2em;
}
    
#site-kasou h2 {
    font-size: 154%;
	margin-bottom: 20px;
	font-weight: bold;
	text-align: left;
}
#site-kasou h3 {
    font-size: 144%;
	font-weight: bold;
	line-height: 2.0;
}
#site-kasou p {
  font-size: 100%;
  line-height: 1.8;
  padding-bottom: 16px;
}
}


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

.flm-ra_gr{
	padding: 10px 20px 20px 20px;
	background-color: #FFF;
	text-align: center;
	margin: 1em 0 .5em 0;
	font-family: "Sawarabi Gothic", sans-serif; 
	font-size: 100%;
	letter-spacing: 1px;
	border: 3px solid #eee;
}

@media screen and ( max-width : 414px ) {
.flm-ra_gr{
	padding: 10px 10px 20px 10px;
}
	
}	

.formTable .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
padding: 20px;
	} 


.form-control{
	font-size:110%;
} 

/* ---------- form ---------- */

.submit{
	padding-top: 30px;
	text-align: center;
}

@media screen and (min-width:961px) {
	#formWrap {
	color: #555;
	line-height: 120%;
	font-size: 110%;
	 margin-right : 10%;
     margin-left : 10%;
		text-align: center;
}

	.tablecontact table {
	margin:0 auto;
	width:90%;
	border-collapse:collapse;
}

.tablecontact table th {
	background-color: #F4F2E387;
	color: #000000;
	text-align: left; 
	white-space: nowrap;
	border: 1px solid #ccc;
	padding: 10px;
	vertical-align: top;
	width: 25%;
}

.tablecontact table td {
	background-color: #fff; 
	color: #000000; 
	text-align: left;  
	border-style: none;
	/* white-space: nowrap;*/
	padding: 15px;
	border:1px solid #ccc;
}
.space {
	margin-left: 25px;
}
table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}
table.formTable tr td #email2 {
	width: 100%;
}

table.formTable tr td #homepage {
	width: 100%;
}
table.formTable tr td #comment {
	width: 100%;
}
	
table.formTable tr td #question {
	width: 100%;
}

.submit{
	padding-top: 30px;
	text-align: center;
}

input[type="reset"] {
	font-size: large;
	background-color: #FFF;
	border: 1px solid #CCC;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 0px;
	color: #666;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-left: 10px;
	padding-right: 10px;
}

input[type="submit"] {
	font-size: large;
	background-color: #F4F2E387;
	border: 1px solid #CCC;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 10px;
	color: #666;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding-left: 10px;
	padding-right: 10px;
}

.button{
	padding-top: 30px;
}
input[type="button"] {
	font-size: large;
	background-color: #e4f1ef;
	border: 1px solid #C2C2C2;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 10px;
	color: #666;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding-left: 10px;
	padding-right: 10px;
}
}

@media screen and (max-width:375px) {
	.tablecontact table {
	font-size: 120%;
}
}

/* ----------  コンタクト  ----------*/

label {
    font-weight: normal;
    padding-left: 0.5em;
}
select {
    border: 1px solid #eee;
    padding: 3px;
    width: 20%;
    font-family: "Hiragino Kaku Gothic Pro", "Yu Gothic", "Meiryo", sans-serif;
	margin-top: 1em;
	font-size: 90%;
}
#cate-list {
    width: 100%;
}


input, button, select, textarea {
    padding: 0.3em;
}

table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	/*border:1px solid #ccc;*/
	padding:10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	background:#F4F2E387;
	text-align:left;
}

@media screen and (max-width:960px) {
	
table.formTable th{
	width:100%;
	border-bottom: none;
    border-top: none;
}
}

@media only screen and (min-width:376px) and (max-width:961px) {
/*tablet用のcssを記述*/

#formWrap {
	width:100%;
	margin:0 auto;
	color:#000000;
	line-height:120%;
	font-size:110%;
}

table {
	margin:0 auto;
	width: 100%;
	border-collapse:collapse;
}
.formTable {
	
	width: 120%;
}
    .formTable th,
    .formTable td{
        width: 100%;
        display: block;
        border-top: none;
    }

.formTable tr:first-child th   {
	border-top: 1px solid #ddd!important;
}
	
table.formTable td,table.formTable th{
	padding: 15px;
	border-top: 1px solid #CCCCCC;
	order-bottom: none;
}
.formTable tr:last-child th   {
	/*border-bottom: 1px solid #ddd!important;*/
}
	
	
table.formTable th{
	font-weight:normal;
	background:#F4F2E387;
	text-align:left;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}
table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #duty-station {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}

table.formTable tr td #comment {
	width: 100%;
}

table.formTable tr td #question {
	width: 100%;
}
}




	
@media screen and (max-width:428px) {
/*スマホ用のcssを記述*/
.formTable {
	
}
    .formTable th,
    .formTable td{
        width: 100%;
        display: block;
        border-top: none;
    }

.formTable tr:first-child th   {
	border-top: 1px solid #ddd;
}
	
table.formTable td,table.formTable th{
	padding: 15px;
	border-top: 1px solid #CCCCCC;
}

	
table.formTable th{
	font-weight:normal;
	background:#F4F2E387;
	text-align:left;
		border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}
table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #duty-station {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}
table.formTable tr td #comment {
	width: 100%;
}
table.formTable tr td #question {
	width: 100%;
}

.space {
	margin-left: 0px;
}
}


@media screen and (max-width:414px) {
select {
    border: 1px solid #eee;
    padding: 3px;
    width: 31%;
    font-family: "Hiragino Kaku Gothic Pro", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 1.0rem;
	margin-top: 1em;
	font-size: 100%;
}
.formTable .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
padding: 10px;
	} 
	
}


.error_messe{
	color: #FF0407;
	text-align: center;
}



/*ボタン*/
.btn-outline {
  background: #B0D476;
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding: .8em 2em;
  margin-top: 2em;
}
.btn-outline:hover, .btn-outline:active, .btn-outline:focus {
background: #8FC31F;
color: #FFFEBA;
}

/* ---------- gallery ---------- */
 
#gallery-img
 {
padding: 5em 0;
}


/* -------------------------------- 
　タイトル装飾
-------------------------------- */

.ttl01 {
	font-size: 1.5em;
	color: #22A4A0;
	    line-height: 30px;
	    text-align: center;
	margin-bottom: 1.1em;
    font-weight: bold;
}

@media screen and (max-width: 414px){
.ttl01 {
	font-size: 1.2em;
	color: #22A4A0;
	    line-height: 30px;
	    text-align: center;
	margin-bottom: 2.1em;
}		
}	
	
	
.ttl02 {
	font-size: 1.2em;
	color: #6D604D;
	    line-height: 30px;
	margin-bottom: 10px;
	margin-top: 20px;
}




@media screen and (max-width: 428px){

.btn-lg, .btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.3333333;
  border-radius: 6px;
}
    
}
	
/* ---------- footer ---------- */

.max_img{
 width: 100%;
max-width: 550px;
margin:0px auto; 
padding-bottom: 10px;
}

.illust-box2 {
			width: 100%;
			height: auto;
			position:relative;
}

.illust2 {
max-width: 130px;
max-height: 130px;
position:relative;
bottom: -30px;
left: 5%;
}




.ft-txt {
  font-size: 15px;
  font-weight: 500;
  color: #5F5D57!important;
  margin-bottom: 5px;
}

.ft-list {
padding-top: .6em;
}


.ft-list li {
list-style: disc !important;
color: #7F4F21;
font-size: 14px !important;
margin-left: 1.2em;
font-weight: 200;
}

@media screen and (max-width: 428px){
.illust2 {
  max-width: 100px;
  max-height: 130px;
  position: relative;
  bottom: -30px;
  left: 5%;
}   
    }

/* -------------------------------- 
　装飾
-------------------------------- */

.bn-shadow {
  box-shadow: 0 5px 15px 0 rgba(121,152,150,0.58);
}
.bn-shadow2 {
  box-shadow: 0 5px 15px 0 rgba(145,131,88,0.58);
}

/* ボトムナビゲーション */
.fbtm-nav {
display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding: 0px;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.3);
}

/* スマホ画面でのみ表示 */
@media (max-width: 576px) {
    .fbtm-nav {
        display: flex; /* フレックスボックスで表示 */
        justify-content: space-around; /* 要素を均等に配置 */
    }

    .banner01, .banner02 {
        display: block; /* ブロック要素として表示 */
        width: 50%; /* 幅を指定 */
        height: auto; /* 高さは自動 */
        text-decoration: none; /* 下線を消す */
        color: transparent; /* テキストを透明にする */
        font-size: 0; /* フォントサイズを0にする */
        background-size: contain; /* 画像を要素内に収める */
        background-repeat: no-repeat; /* 画像を繰り返さない */
        background-position: center; /* 画像を中央に配置 */
    }

    .banner01 {
		background-color: #5F5D57;
        background-image: url('../img/common/btm-nav_mail.jpg');
        height: 70px; /* 高さを指定 */
    }

    .banner02 {
		background-color: #F18900;
        background-image: url('../img/common/btm-nav_tel.jpg');
        height: 70px; /* 高さを指定 */
    }
}

@media (max-width: 375px) {
    .banner01 {
        height: 60px;
    }

    .banner02 {
        height: 60px;
    }	
}

.outline-secn-column2 > .outline-sec {
  width: calc( ( 100% - ( 30px * 1 ) ) / 2 );
}
.outline-sec{
	line-height: 1.8;
}
.outline-sec h4{
color: #22A4A0!important;
margin-block: 1.33em;
display: block;
font-size: 104%!important;
margin: 0!important;
}
.outline-sec p {
  display: block;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin: 0 0 2em 0;
}

@media (max-width: 428px) {

	
.outline-sec h4{
font-size: 124%!important;
}
.outline-sec p {
  font-size: 120%;
  margin: 0 0 .5em 0;
}
}	
	
/* -------------------------------- 
　サービス紹介
-------------------------------- */

.flm-ra_gr2{
	padding: 10px 20px 10px 20px;
	background-color: #FFF;
	text-align: center;
	margin: 2px 0 0 0;
	font-family: "Sawarabi Gothic", sans-serif; 
	font-size: 100%;
	letter-spacing: 1px;
	border: 1px solid #BFC0C0;
}
.flm-ra_gr2 img{
width: 100%;
max-width: 300px;
margin:0px auto;	
}
.service-img200{
width: 100%;
max-width: 130px!important;
margin: 0; /* ← autoをやめて0にする */
}


/**/.service-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.service-list {
  margin-top: 10px!important;
}

.service-list2{
	margin-bottom: 20px!important;
}

.service-list li,
.service-list3 li,
.service-list2 li{
	list-style-type: square;
	font-size: 100%!important;
  padding-bottom: 0!important;
line-height: 1.6!important;
  list-style-type: square!important;
	color: #5F5D57!important;
}

.service-left,
.service-right {
  width: 50%;
  box-sizing: border-box;
  padding: 0 10px;
}

@media (max-width: 576px) {
  .service-left,
  .service-right {
	width: 100%;
	font-size: 120%;
  }
.flm-ra_gr2 p{
	font-size: 120%!important;
}
}

.service-list3 {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;

}

.service-col {
  width: 33.33%;
  box-sizing: border-box;
  padding: 0 10px;
}

.service-list3 li {
  margin-bottom: 0.5em;
}

/* スマホ縦並び */
@media (max-width: 576px) {
  .service-col {
    width: 100%;
	  	font-size: 120%;
  }
}

.two-col {
  display: flex;
}

.col-left {
  flex: 0 0 30%;  /* 幅を固定的に30% */
}

.col-right {
  flex: 0 0 70%;  /* 幅を固定的に70% */
}

/* スマホ縦並び */
@media (max-width: 576px) {
  .two-col {
    flex-direction: column;
	  	font-size: 120%;
  }
  .col-left, .col-right {
    flex: 0 0 auto; /* 自動サイズに戻す */
    width: 100%;
  }
}


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

.faq_list .item,
.faq_list2 .item{
    border: 1px solid #ddd;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: rgb(221, 221, 221);
    border-bottom: none;
    background: #fff;
}

.faq_list .item2,
.faq_list2 .item2{  
    border-bottom: 1px solid #ddd;
}

.question h4 {
    font-size: 120%!important;
	color: #5F5D57!important;
	    line-height: 1.5;
    margin-bottom: 0;
	letter-spacing: 0.06em;
}

.faq_list .question,
.faq_list2 .question{
    font-size: 15px;
    line-height: 2;
    padding: 18px 70px 18px 40px;
    font-weight: normal;
    position: relative;
    cursor: pointer;
	width: 100%;
	background-color: #DDEDEA;
}
.faq_list .question::before,
.faq_list2 .question::before
{
content: '\f107';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #5f5d57;
  font-size: 30px;
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  right: 28px;
  top: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
	

.faq_list .answer,
.faq_list2 .answer{  
    background: #f9f9f6;
    border-top: 1px solid #ddd;
}

.answer-txt {
   padding: 15px 40px 10px;
   font-size: 110%;
}
.answer-txt span {
   color: #F18900;
}

.answer ul {
  margin-top: 0!important;
}

.answer li {
  font-size: 115%;
  padding-bottom: 16px;
  color: #22A4A0;
  line-height: 1;
  list-style-type: square;
  margin-left: 2.3em;
	margin-right: 20px;
}

	
.faq_list .item label,
.faq_list2 .item label
{
	margin-bottom: 0px;
}

.faq_list .item label:hover,
.faq_list2 .item label:hover
{
    background: #f5f5f5;
}


.faq_list .item input,
.faq_list2 .item input
{
    display: none;
}

.faq_list .item .answer,
.faq_list2 .item .answer
{
    height: 0;
    overflow: hidden;
    opacity: 0;
    padding: 0;
    text-align: left;
    transition: 0.5s;
}


.faq_list .item input:checked ~ .answer,
.faq_list2 .item input:checked ~ .answer{
    height: auto;
    opacity: 1;
   padding: 10px 0;
   
}

.ttl_txt {
    min-height: 50px;
    font-size: 113%;
    line-height: 30px;
	text-align: center;
	padding: 0.8em 0;
    background-color: #F2F3EF;
    margin: 2em 0 2.5em 0;
}
@media screen and ( max-width : 428px ) {
.answer-txt {
   padding: 15px 20px 10px;
}	
}

/* ----------  ご利用の流れ ----------*/

.first_step {
  padding: .7em 1.75em;
margin-top: 0;
	text-align: left!important;
	border: 1px solid #C9CACA;
	margin-bottom: 3.5em;
	position:relative;
}

/* 下三角 */ 
.first_step:after {
        border: 30px solid transparent;
        border-top-color: #F18900;
        border-bottom-width: 0;
        bottom: -2.5em;
        content: "";
        display: block;
        left: 50%;
        position: absolute;
        width: 0;
    }



@media screen and ( max-width : 428px ) {
	
.first_step h5,
.first_step_end h5 {
font-size: 144%!important;
text-align: center;
letter-spacing: 0.02em!important;
}
.first_step h5 span {
font-size: 84% !important;
}
	
	
.first_step:after {
        border: 30px solid transparent;
        border-top-color: #F18900;
        border-bottom-width: 0;
        bottom: -2.5em;
        content: "";
        display: block;
        left: 38%;
        position: absolute;
        width: 0;
    }	
    }	

.first_step,
.first_step_end {
  padding: .7em 1.75em;
margin-top: 0;
	text-align: left!important;
	border: 1px solid #C9CACA;
	margin-bottom: 3.5em;
	position:relative;
}

.first_step p,
.first_step_end p{
	font-size: 94%;
	line-height: 1.8!important;
	padding-bottom: 0px!important;
}


.step-arrow{
  width: 60px;
  height: 60px;
  border: 7px solid;
  border-color:  transparent transparent #F18900 #F18900;
  transform: rotate(-45deg);
}

.flow_phone{
 width: 100%;
max-width: 400px;
margin:0px; 
padding-bottom: 10px;
}

.flow_line{
 width: 100%;
max-width: 400px;
margin:0px; 
padding-bottom: 10px;
}



@media screen and ( max-width : 428px ) {
.first_step p,
.first_step_end p{
	font-size: 110%;
	line-height: 1.6!important;
	padding-bottom: 10px!important;
	padding-top: 10px!important;
}
}

@media screen and ( max-width : 375px ) {
.first_step,
.first_step_end {
  padding: .7em .75em;
}
    }	


/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 96%;
  background-color: rgb(34, 164, 160);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 80%;
  max-width: 500px;
  padding: 80px 5px 40px 5px;
  background-color: #fff;
　height : 60%;
　overflow : auto;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: .6rem;
  cursor: pointer;
font-size: 170%;
border-radius: 50%;
  border: 1px solid #a4a4a4;
  width: 40px;
  padding-left: 11px;
}

.modalArea p{
	padding: 10px 10px !important;
  line-height: 1.5;
font-size: 119%;
}

/* 以下ボタンスタイル */
.openModal {
}


