@charset "utf-8";



/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("keyframes.css");

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300&display=swap');

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #000000;	/*全体の文字色*/
	font-family: "Noto Serif JP","Noto Serif JP","sans-serif","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ","Yuji Mai", sans-serif; 	 /*フォント種類*/
	font-size: 16px;		/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #ffffff;	/*背景色*/
	-webkit-text-size-adjust: none;
	font-weight: 500;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {font-size: 85%;border-spacing: 22px;}
iframe {width: 100%;}
.pc{
    display: block;
}
.sp{
    display: none!important;
}
.alignself_c{
    align-self: center;
}
table th{
	background-color: #e6e6e6;
}
/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #fff;		/*リンクテキストの色*/
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
    text-decoration: none;
	font-weight: bold;
}
a:hover {
	color: #f5c720;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
.container {
	max-width: 1400px;	/*最大幅。これ以上広くならない指定。*/
	margin: 0 auto;
    position: relative;
}
/*ヘッダー（一番上の、ロゴやスライドショーが入っているブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
}
header {
  display: flex;
    justify-content: flex-end;
    align-items: center;
    
}
header h2{
    font-size: 120%;
    margin-bottom: 30px;
    color: #A9DAE8;
    
}
header h2 span{
    color:#F8C9C7;
}
/*トップページのヘッダーブロックへの追加指定*/
.home header {
    background-color: #000;
    height:100px;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 10000;
}
/*トップページのロゴ画像への追加指定*/
.home header #logo img {
	position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	z-index: 1;
    width: 170px;
}
/*アイコンブロック*/
/*ul.icon {
    font-size: 40px;
	position: absolute;
	right: 0px;		/*headerに対して右からの配置指定*/
   /* top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    line-height: 0.7;
    display: flex;
    align-items: center;
}*/
ul.icon a{
    font-weight: bold;
    text-decoration: none;
    color: #fff;
}
ul.icon li span{
    font-size: 18px;
    font-weight: bold;
    color:#fff;
}
ul.icon li{
    margin: 0 10px;
}
.icon_tel{
    position: relative;
}
.icon_tel a{
    padding-left: 40px;
}
.icon_tel::before{
    content: "";
    position: absolute;
    background-image: url("../images/index/tel.png");
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    width:30px;
    height:30px;
}
.header_contact{
    padding: 10px 30px;
    font-size: 18px;
    background-color: #00A29A;
    color:#fff;
    border-radius: 15px;
}
ul.icon li .icon_tel2{
    background-color:#FFF100 ;
    color: #EB5F41;
    padding: 0 10px;
    margin-left: 10px;
    border-radius: 10px;
}
.mainimg{
/*	max-width: 1600px;	/*最大幅。これ以上広くならない指定。*/
	margin: 0 auto;
    position: relative;
	padding-top: 100px;
	background-color: #000;
}
.bgmainimg{
	background-color: #000;
}
.mainimg img{
    width:100%;
}
.pad{
    display: none;
}
.banner:hover{
    opacity: 0.7;
}

@media screen and (max-width: 900px) {

ul.icon li{
    margin: 0;
}
    header{
        display: block;
    }
ul.icon {
    font-size: 24px;
    line-height: 1.1;
}
    .pad{
        display: block;
    }
}

@media screen and (max-width: 480px) {
    .pc{
        display: none;
    }
    .sp{
        display: block!important;
    }
   .home header{
       display: flex;
       flex-wrap: wrap;
       justify-content: center;
       padding-bottom: 20px;
       position: absolute;
    }
    .home header #logo img {
    position: relative;
    top: -10px;
        left: -110px;
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    z-index: 1;
    width: 100px;
}
    
/*ul.icon {
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    right: auto;
    top: 10px;
    transform: translateY(0%);
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    align-items: center;
    width:50%;
}*/
    ul.icon a {
    font-size: 13px;
}
    ul.icon li span {
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}
    .icon_tel {
    text-align: center;
}
    
.banner img{
    margin-bottom: 20px;
}
}
/*メニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体への指定*/
#menubar {
	line-height: 2;
	text-align: center;
	font-size: 14px;	/*文字サイズ*/	
}
#menubar ul{
    background-color: #000;
}
/*メニュー１個あたりの指定*/
#menubar li {
	display: inline-block;	/*横並びにする指定*/
	margin: 0px 20px;			/*上下、左右へのメニューの外側にとる余白*/
}
#menubar li a {
	text-decoration: none;display: block;
	padding: 20px;	/*上下、左右へのメニューの内側にとる余白*/
}
/*現在表示中(current)と、マウスオン時の指定*/
#menubar li.current a, #menubar li a:hover {
	background-color: #009a95;	/*背景色*/
	color: #fff;			/*文字色*/
	/*border-radius: 100px;	/*角丸のサイズ。大きめであれば適当で構いません。この１行を削除すると、長方形になります。*/
}

#menubar li img {
    width:40px;
}
/*コンテンツ（ヘッダーとフッター以外を囲むブロック）
---------------------------------------------------------------------------*/
.contents {
	/*overflow: hidden;*/
	padding: 50px 3%;	/*上下、左右へのブロック内の余白*/
}
/*コンテンツ内にあるh2(見出し)タグの指定*/
.contents h2 {
	clear: both;
	margin-bottom: 30px;
	margin-top: 30px;
	font-size: 35px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	/*letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
	line-height: 1.2;		/*行間*/
    color: #000000;
    letter-spacing: 3px;
}
.contents h2 span {
	display: inline-block;
    font-size: 15px;
    color:#009A95;
}
/*コンテンツ内にあるh3(見出し)タグの指定*/
.contents h3 {
	clear: both;
	font-size: 28px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	line-height: 1.5;		/*行間*/
    margin-bottom: 10px;
}.contents h4 {
	font-size: 21px;		/*文字サイズ*/
	line-height: 1.5;
	/*margin-left: 25px;/*行間*/
	margin-top: 15px;
	text-align: center;
}
/*コンテンツ内にあるp(段落)タグ設定*/
.contents p {
	padding: 0px 0px 10px;	/*上、左右、下への余白*/
}
/*他。微調整。*/
.w80{
    width:80%;
    margin: 0 auto;
}
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
	margin-top: 50px;
}
.reverse{
    flex-direction: row-reverse;
}
/*お知らせ
---------------------------------------------------------------------------*/
.news .flex{
    justify-content: flex-start;
}
.news li{
    background-image: linear-gradient(to left, #000, #000 5px, transparent 5px, transparent 8px);
    background-size: 8px 1px;  /* 下の線 */
    background-position:right bottom;  /* 下の線 */
        background-repeat:repeat-x;  /* 下の線 */
    padding-bottom: 5px;
    margin-top: 10px;
}
.news .day{
    width:150px;
}

/*con0
---------------------------------------------------------------------------*/
.con0_bg{
	background-image: url("../images/index/bgimg.jpg");
}
.con0_bg h2{
	color: #fff;
}



/*con1
---------------------------------------------------------------------------*/
.con1 .flex{
    margin-top: 100px;
    justify-content: flex-start;
}
.con1 h3{
    text-align: left;
    padding-bottom: 10px;
    border-bottom: solid 3px #f4a460;
    display: inline-block;
}
.contents .con1 h4{
    line-height: 2;
    text-align: center;
	color: #009a95;
	margin-bottom: 50px;
}
.con1 .flex li{
    width:50%;
}
.con1 .flex .flex_r{
    width:45%;
    margin-left: 5%;
}
.con1_bg{
    background-color: #000;
}
.con1 .reverse li{
    width:45%;
    margin-left: 0%;
    margin-right: 5%;
}
.con1 .reverse .flex_r{
    width:45%;
    margin-left: 0%;
    margin-right: 5%;
}
@media screen and (max-width: 820px) {
 
.con1 .flex{
    margin-top: 50px;
    justify-content: space-around;
}   
.con1 .flex li{
    width:100%;
    text-align: center;
    margin: 0;
}
.con1 .flex .flex_r{
    width:100%;
    margin: 0%;
    
}
.con0_bg h2{
	color: #fff;
}	
}
/*con2
---------------------------------------------------------------------------*/
.con2_bg{
    
}
.con2 .flex li{
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    padding: 20px;
    margin-bottom: 40px;
    width:100%;
	
}
.con2 .flex li:nth-child(even){
    flex-direction: row-reverse;
}

.con2 .flex li div:first-child{
    width:40%;
}
.con2 .flex li img{
    width:100%;
}
.con2 .flex li div{
    width:61%;
    padding: 0 10px;
}
.con2 h3{
    text-align: left;
    padding: 10px 10px;
	background-color: #000;
	color: #fff;
	font-size: 23px
}
.UFB_about{
	text-align: left;
    padding: 10px 10px;
	background-color: #000;
	color: #fff;
	font-size: 23px;
	border-bottom: solid 3px #009a95;
	display: inline-block;
}
.con2 .con2_2 h3{
    border: none;
    padding-bottom: 0px;
    color:#fa8072;
}
.con2 .box3 h3{
    border-bottom: none;
    display: block;
    width:700px;
    margin: 0 auto;
} 
.con2_2 div{
    margin-bottom: 25px;
}
@media screen and (max-width: 820px) {
    
.con2 .flex li{
    flex-wrap: wrap;
    justify-content: space-around;
    padding-top: 0px;
}
    
.con2 .flex li div:first-child{
    width:60%;
}
.con2 .flex li div{
    width:100%;
    padding: 0 10px;
    text-align: center;
}
}
@media screen and (max-width: 480px) {
.con2 .flex li div:first-child{
    width:100%;
    margin-bottom: 10px;
}   
.con2 .box3 h3 {
    width: 300px;
    font-size: 14px;
    text-align: left;
}
}
/*con3
---------------------------------------------------------------------------*/

#con3 .con2 .flex li:nth-child(even) {
    flex-direction:row;
}

.con3 h4{
    margin-bottom: 10px;
}

.con3 table {
  border-collapse: collapse;
  margin: 20px auto 0px;
  padding: 0;
  width: 100%;
}
.con3 .table1{
    margin-bottom: 0;
}
.con3 table tr {
  background-color: #fff;
  border: 1px solid #bbb;
}
.con3 table th,
.con3 table td {
  padding: -1em 20px 1em 2em;
  border-right: 1px solid #bbb;
    text-align: center;
}
.con3 table th {
    color: #000000;
    font-size: 100%;
    line-height: 1;
    background-color: #E6E6E6;
}
.con3 table thead tr{
  background-color: #eee;
}
.con3 .txt{
   text-align: center;
    background-color:  #ffffe0;
    width:25%
}
.con3 .price{
   text-align: center;
    width:50%;
}
.con3 table span{
    font-size: 80%;
}
@media screen and (max-width: 600px) {
 .con3 table {
    border: 0;
    width:100%
  }
 
.con3 .txt{
    background-color: #fff;
}
}
@media screen and (max-width: 480px) {
.con3 .txt {
    width: auto;
}
.con3 .price {
    width: auto;
    text-align: left;
    padding-left: 45%;
}
    .con3 .table1 caption{
        border: solid 1px #bbb;
        border-bottom: none;
        font-size: .8em;
    }
}
/*con4
---------------------------------------------------------------------------*/
.con4_bg{
    background-color: #e6e6e6;
}
.contents .con4 h2 span{
    color:#fa8072;
}

.con4 h3{
    text-align: left;
    padding-bottom: 10px;
    border-bottom: solid 5px #f4a460;
    display: inline-block;
}

.con4 .flex{
    justify-content: space-between;
}
.con4 .flex li{
    width:55%;
}
.con4 .flex .flex_r{
    width:40%;
}
.con4 .btn{
    position: relative;
    font-size: 100%;
    width:auto;
    padding-right: 70px;
    background-color: #48BCC2;
    color: #fff;
}
.con4 .btn:hover{
    background-color: #fff;
    color: #48BCC2;
}


@media screen and (max-width: 820px) {
    
.con4 .flex{
    justify-content: space-around;
    flex-flow: wrap-reverse;
}
.con4 .flex li{
    width:100%;
}
.con4 .flex .flex_r{
    width:60%;
    margin-bottom: 30px;
}
.con4 .flex li{
    width:100%;
    text-align: center;
}
}

@media screen and (max-width: 480px) {
.con4 .btn {
    padding: 10px 15px;
    width:250px;
}
    .con4 .btn::after{
        top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    }
}
/*con5
---------------------------------------------------------------------------*/
.con5_bg{
	background-image: url("../images/index/white.jpg")
}
.bg_contact{
	background-image: url("../images/index/bgimg2.jpg")
}

/*con6
---------------------------------------------------------------------------*/
.con6_bg{
	background-color: #fcfaea;
}


/*会社概要
---------------------------------------------------------------------------*/


.flex_about{
	display: flex;
	flex-wrap: wrap;
	margin: 50px 0;
}

.map{
	width: 45%;
	margin-left: 10px;
}
.ta_about{
	align-self: center;
	width: 45%;
	margin-top: 100px;
	margin-left: 100px;
}

.ta_about th{
	border-right: 1px solid #000;
	padding: 4px 15px;
	width: 110px;
	
}

.ta_about td{
	padding: 0px 15px;
}

.tel a{
    color:#000;
}
.contents .map h3{
    text-align: center;
    color:#f0bbc7;
    display: block;
}
@media screen and (max-width: 820px){
	

	
	.map{
	width: 100%;
	
}
	.ta_about{
		width: 100%;
		margin: 20px 0 0;
	}
}	



/*contact
---------------------------------------------------------------------------*/
.contact_bg{
    background-color: #FFFEEC;
}
.contact .btn{
    background-color: #fa8072;
    color: #fff;
}
.contact .btn:hover{
    background-color: #eee;
    color:  #fa8072;
}
.contents .tel{
    font-size: 36px;
}
.flex_c a{
    margin: 0 15px;
}
.flex.flex_c{
    justify-content: center;
    margin-bottom: 20px;
}
.contact .kotira{
    color:#000;
}
.contact .kotira:hover{
    color: #fa8072;
}
/*footer
---------------------------------------------------------------------------*/


footer {
	clear: both;
	text-align: center;
	padding: 10px;
	font-size: 90%;
}
footer a {text-decoration: none;}
footer a:hover {color: #000000;}
footer .pr {display: block;}
.footer .flex{
    align-items: center;
}
.footer_left{
    width:30%;
}
.footer_left img{
    width: 50%;
}
.footer_center{
    width:40%;
}
.footer_right{
    width: 20%;
    align-self: baseline;
}
.footer_right ul{
}
.footer_bg{
    background-color:#000;
}
.footer_bg p{
    color: #fff;
	font: 14px;
	font-weight: bold;	
}
.footer .flex p{
	font-size: 14px;
}
.footer_bg .flex{
	margin-top: 0px;
}
.footer_bg a{
    color: #fff;
	font-weight: bold;
}
.footer_bg a:hover{
    color: #009a95;
}
footer{
    background-color: #545454;
    color: #fff;
}
@media screen and (max-width:1400px){
    .footer .flex{
        justify-content: space-around;
    }
    .footer_left{
        width:80%;
        text-align: center;
    }
    .footer_left img{
        width:600px;
    }
}
@media screen and (max-width:1024px){
    .footer_left{
        width:80%;
        text-align: center;
    }
    .footer_center{
        width:80%;
    }
    .footer_right{
        width:80%;
    }
    .footer_left img{
        width:200px;
    }
}
@media screen and (max-width:480px){
.footer_left{
        width:95%;
    }
.footer_left img{
	margin: 0 auto 20px;
	width: 60%;
	display: block;
    }
.footer_left li {
    flex-basis: 100%;
}
.footer_right {
    width: 80%;
}
    .footer_right ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .footer_right a{
        flex-basis: 45%;
    }
   
    .footer_bg {
        padding-top: 50px;
}
    .footer_right a {
    flex-basis: 100%;
}
    .footer_right ul {
    text-align: left;
}
}
/*お問い合わせで使うかも？
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border-top: 1px solid #545454;	/*下の線の幅、線種、色*/
	text-align: center;		/*文字をセンタリング*/
	padding: 10px;			/*ボックス内の余白*/
	background: rgba(0,0,0,0.03);	/*背景色。0,0,0は黒の事で0.03は色が3%出た状態の事。*/
}
/*テーブル１行目に入った見出し部分（※tamidashi）*/
.ta1 th.tamidashi {
	width: auto;
	text-align: center;	/*文字をセンタリング*/
}
/*ta1テーブルブロック設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 30px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	padding: 10px;			/*テーブル内の余白*/
}
/*テーブルの左側ボックス*/
.ta1 th {
	text-align: center;	/*センタリング*/
	width: 25%;			/*幅*/
}

input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
	-webkit-appearance: none;
	outline: none;
	border: 1px solid #009a95;
	background: #009a95;
	color: #fff;
	padding: 10px 30px;
	border-radius: 100px;
	font-size: 16px;
	cursor: pointer;
    transition: 0.7s;
}
input[type="submit"].btn:hover,
input[type="button"].btn:hover,
input[type="reset"].btn:hover {
	background: #fff;
	color: #009a95;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
body .nav-fix-pos-pagetop a {
	display: none;
}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	position: fixed;
	animation-name: opa1;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	width: 80px;		/*ボタンの幅*/
	/*line-height: 80px;	/*ボタンの高さ*/
	bottom: 50px;		/*画面の下からの配置場所指定*/
	right: 3%;			/*画面の右からの配置場所指定*/
	/*background: rgba(255,255,255,0.5);	背景色*/
	/*border: 1px dashed #ccc;			/*枠線の幅、線種、色*/
	border-radius: 50%;
}

body .aqula a {
	display: block;
	text-decoration: none;
	text-align: center;
	position: fixed;
	animation-name: opa1;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	width: 1rem;		/*ボタンの幅*/
	/*line-height: 80px;	/*ボタンの高さ*/
	bottom: auto;		/*画面の下からの配置場所指定*/
    top:200px;
	right: 0%;			/*画面の右からの配置場所指定*/
	/*background: rgba(255,255,255,0.5);	背景色*/
	/*border: 1px dashed #ccc;			/*枠線の幅、線種、色*/
    border: solid 1px #009A95;
    background-color: #009A95;
	border-radius: 0;
    padding: 10px 15px;
    line-height: 1.2;
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #fff;	/*背景色*/
/*	border: 1px dashed #b4c19a;			/*枠線の幅、線種、色*/
}
body .aqula a:hover{
    color: #009A95;
    background-color: #fff;
}
body .nav-fix-pos-pagetop img{
    width:80px;
    height:80px;
    object-fit: cover;
}

/*その他
---------------------------------------------------------------------------*/
.ta1.mb1em {
    table-layout: auto;
    width: 950px;
}
.look {background: rgba(0,0,0,0.1);border: 1px solid #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.mb30 {margin-bottom: 30px;}
.mb80 {margin-bottom: 80px;}

.clear {clear: both;}
.color1, .color1 a {color: #A9DAE8;}
.pr {font-size: 10px;}
.wl {width: 100%;}
.ws {width: 100%;}
.contents .c {text-align: center; margin-bottom: 30px;}
.contents .r {text-align: right;}
.contents .l {text-align: left;}
.big1 {font-size: 40px;letter-spacing: 0.2em;}
.mini1 {font-size: 11px;}


.pc {display:block;}
.sh {display:none;}


.btn{
	text-decoration: none;
    padding: 10px 30px;
    width:320px;
    border-radius: 50px;
    font-size: 18px;
    font-weight: bold;
	color: #000;
    display: inline-block;
    background-color: #F5F5F5;
	text-align: center;
	margin-top: 40px;
	margin-bottom: 50px;
    position: relative;
}
.btn::after{
    position: absolute;
    right: 30px;
    content: "▶";
}
.btn:hover{
    color: #fff;
    background-color: #000;


}

@media screen and (max-width:1024px){
.contents h2 {
	font-size: 36px;		/*文字サイズ*/
}
#menubar li a {
    text-decoration: none;
    display: block;
    padding: 0px 10px;
}    
}

@media screen and (max-width: 820px) {
/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 16px;
}
    /*コンテンツ内にあるh2(見出し)タグの指定*/
.contents h2 {
	clear: both;
	margin-bottom: 30px;
	font-size: 30px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	/*letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
	line-height: 1.2;		/*行間*/
    letter-spacing: 3px;
}
/*コンテンツ内にあるh3(見出し)タグの指定*/
.contents h3 {
	clear: both;
	font-size: 24px;		/*文字サイズ*/
	text-align: center;		/*文字をセンタリング*/
	line-height: 1.5;		/*行間*/
    margin-bottom: 10px;
}.contents h4 {
	font-size: 18px;		/*文字サイズ*/
	line-height: 1.5;
	/*margin-left: 25px;/*行間*/
	margin-top: 15px;
	text-align: center;
}
}
@media screen and (max-width:768px){
#menubar li {
    margin: 5px;
}
	.ta1.mb1em {
    table-layout: auto;
    width: auto;
}
}
@media screen and (max-width:768px){
#menubar li {
    margin: 10px 5px;
}
}
/*画面幅600px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:600px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;
}

/*ヘッダー（一番上の、ロゴやスライドショーが入っているブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo img {
	width: 200px;		/*画像の幅*/
}

/*メニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体への指定*/
#menubar {
	font-size: 100%;
}
#menubar li a {
	padding: 0px 5px;	/*上下、左右へのメニューの内側にとる余白*/
    
}
#menubar li:last-child a{
    border-right: none;
    }
/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1の左側ボックス*/
.ta1, .ta1 td, .ta1 th {
    display: block;
    padding: 0;
}
.ta1 th {
	width: auto;
    display: block;
    text-align: left;
    padding-top: 5px;
}

body .aqula a {
	display: block;
	text-decoration: none;
	text-align: center;
	position: fixed;
	animation-name: opa1;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	width: 1rem;		/*ボタンの幅*/
	/*line-height: 80px;	/*ボタンの高さ*/
	bottom: auto;		/*画面の下からの配置場所指定*/
    top:200px;
	right: 0%;			/*画面の右からの配置場所指定*/
	/*background: rgba(255,255,255,0.5);	背景色*/
	/*border: 1px dashed #ccc;			/*枠線の幅、線種、色*/
    border: solid 1px #009A95;
    background-color: #009A95;
	border-radius: 0;
    padding: 5px;
    line-height: 1.2;
}
}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*ヘッダー（一番上の、ロゴやスライドショーが入っているブロック）
---------------------------------------------------------------------------*/
/*トップページのロゴ画像への追加指定*/

/*コンテンツ（ヘッダーとフッター以外を囲むブロック）
---------------------------------------------------------------------------*/
.contents {
	padding: 30px 3%;
}
/*コンテンツ内にあるh2(見出し)タグの指定*/
.contents h2 {
	font-size: 24px;		/*文字サイズ*/
}
/*コンテンツ内にあるh3(見出し)タグの指定*/
.contents h3 {
	font-size: 18px;		/*文字サイズ*/
	margin-bottom: 10px;
}
/*コンテンツ内にあるp(段落)タグ設定*/
/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	width: 50px;		/*ボタンの幅*/
	line-height: 50px;	/*ボタンの高さ*/
}
body .nav-fix-pos-pagetop img {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

/*その他
---------------------------------------------------------------------------*/
.big1 {font-size: 20px;}
.mini1 {font-size: 9px;}
.sh {display:block;}
.pc {display:none;}
.ws,.wl {width: 97%;}
.fl {float: none;}
.fr {float: none;}

}




@media (min-width: 751px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}


/*元気な身体は作れます
---------------------------------------------------------------------------*/

.box3 {
    padding: 2em 1em;
    margin: 2em 0;
    border-radius: 50px;
    color: #2c2c2f;
    background:#F9D2D6;/*背景色*/
}
.box3 li{
    position: relative;
}
.box3 li::before{
    content: "";
    position: absolute;
    background-image: url("../images/index/check.png");
    background-repeat: no-repeat;
    background-size: contain;
    top:7px;
    width:30px;
    height:30px;
    
    
}
.box3 p {
    margin: 0; 
    padding-left: 50px;
    position: relative;
}


.box4 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #2c2c2f;
    background:#fff;/*背景色*/
}
.box4 p {
    width:80%;
    margin: 0 auto; 
    padding: 0 15px;;
}



@media screen and (max-width: 820px){
.con2 .box3 h3 {
    text-align: left;
    width: 600px;
}
.box3 li::before {
    left:10px;
    width: 25px;
    height: 25px;
}
}

@media screen and (max-width: 480px){
.con2 .box3 h3 {
    text-align: left;
    width:auto;
}
.box3 li::before {
    top: 1px;
    left:20px;
    width: 20px;
    height: 20px;
}
}
/*スタッフ紹介
---------------------------------------------------------------------------*/

.flex_point  ul{
    display: flex;
    margin-top: 40px;
    flex-wrap: wrap;
}
.flex_point li{
    width:22%;
    margin-left: 4%;
}
.flex_point li:first-child{
    margin-left: 0%;
}
.flex_point li img{
    width: 100%;
}
.flex_point p{
    text-align: left;
}

@media screen and (max-width: 820px){
    .flex_point ul{
        justify-content: space-between;
    }
.flex_point li {
    width: 45%;
    margin-left: 0%;
}
}


@media screen and (max-width: 480px){
.flex_point li {
    width: 100%;
    margin-left: 0%;
}
}
/*よくある質問
---------------------------------------------------------------------------*/	
.qa .qa-list{
    width:80%;
    margin: 0 auto;
}
.qa dt{
    font-size: 120%;
    font-weight: bold;
    color: #fa8072;
}
	
	
/*利用者の声
---------------------------------------------------------------------------*/		


	
	
	
/*問い合わせページ
---------------------------------------------------------------------------*/
.contactpage h4{
    text-align: left;
}
.contactpage .bg_contact h4{
	text-align: center;
}

@media screen and (max-width: 1024px){
    .ta_about {
    margin-left: 0px;
}
}

@media screen and (max-width: 820px){
    .map {
    width: 100%;
    margin-left: 0px;
}
    .ta_about {
    width: 100%;
    margin-top: 50px;
    margin-left: 0px;
}
	.btn {
    width: 250px;
}
}
@media screen and (max-width: 480px){
	
	
    .contents h2 span {
    padding: 10px;
}
	.ta1.mb1em {
    display: flex;
    justify-content: center;
}
}

/*追記
---------------------------------------------------------------------------*/
.corona{
    margin: 50px 0 0;
    text-align: center;
	margin-bottom: 100px;
}
.contact_btn{
    text-align: center;
}
.contact_btn .btn {
    text-decoration: none;
    padding: 10px 30px;
    width: 400px;
    border:none;
    border-radius: 50px;
    font-size: 36px;
    font-weight: bold;
    color: #fff;
    display: inline-block;
    background-color: #fa8072;
}
.contact_btn .btn::before {
    content: '';
    display: inline-block;
    width: 45px;
    height: 45px;
    background-image: url(../images/index/mail.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 15px;
    background-repeat: no-repeat;
    transition: 0.5s;
}
.contact_btn .btn:hover{  
    background-color: #eee;
    color:  #fa8072;
}

.contact_btn .btn:hover::before {
    background-image: url(../images/index/mail2.png);
    
}
.contact_btn .btn::after {
    content: none;
}
.contact_btn ul{
    display: flex;
    justify-content: center;
    align-items: center;
}
.contact_btn li{
    margin: 0 10px;
}

/*AKURA LP　樽谷追記
---------------------------------------------------------------------------*/

/*.bgtop{
	background-color: #000;
	position: relative;
	height: 1400px;
}
.bgtop h2{
	color: #fff;
	text-align: left;
	line-height: 2;
	letter-spacing: 5px;
	position: absolute;
	top: 300px;
	
}
.bgtop h3{
	color: #fff;
	font-size: 25px;
	text-align: left;
	position: absolute;
	top: 450px;
	
}
.toplogo{
	position: absolute;
	bottom: 65px;
	right: -10px;
	width: 600px;
	top: 1000px;
		
}
@media screen and (max-width: 1024px) {
	.bgtop{
		height: 1200px;
	}
	.bgtop h2{
		top: 300px;
		font-size: 40px;
		left: 70px;
	}
	.bgtop h3{
		font-size: 20px;
		top: 435px;
		left: 70px;
	}
	.toplogo{
		right: 65px;
		width: 500px;
		top: 930px;
	}
}
*/


.contents .akura{
	color: #009a95;
	font-size: 35px;
}
.contents .con1 h4 .about_akura{
	text-align: center;
	border-bottom: solid 3px #009a95;
	display: inline-block;
}
.btn_kurashi{
	
}
.ufbimg{
	margin-top: 60px;
}
.flexpoint .merit1{
	width: 30%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background-color: #f0f6da;
    margin-bottom: 30px;
    
}
.flexpoint .merit2{
	width: 30%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background-color: #faebd7;
    margin-bottom: 30px;
    
}
.flexpoint .merit3{
	width: 30%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    background-color: #fff0f5;
    margin-bottom: 30px;
    
}
@media screen and (max-width: 480px) {
	.flexpoint .merit1{
		width: 95%;
	}
	.flexpoint .merit2{
		width: 95%;
	}
	.flexpoint .merit3{
		width: 95%;
	}
}



.flex_expoint{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-top: 80px;
	padding: 30px 0px 100px 0;
}
.expointh5{
	margin: 15px;
	text-align: center;
	font-size: 18px;
}
.consdg_bg{
	background-color: #eaf4fc;
}
.sdgs{
	padding: 30px 0 30px 0;
}
.sdgs img{
	width: 60%;
	margin-top: 30px;	
}
.sdgs p{
	padding: 30px 250px 10px;
	text-align: center;
}
.list.thumb {
    width: 25%;
    margin: 0 1% 30px;
    padding-top: 1%;
    float: left;
    text-align: center;
}
.list .thumb img{
	margin: 0;
	float: none;
	width: 78%;
}

.list img{
	border-radius: 50%;
}

.con3_bg{
	background-color: #000;
}
.scene h2{
	color: #fff;
	background-color: #000;
	padding: 10px 0 10px;
	border-radius: 40px;
}

.flexpoint ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-bottom: 50px;
	margin-top: 80px;
}
.flexpoint li{
	width: 30%;
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	justify-content: center;
	overflow: hidden;
	background-color: #fff;
	margin-bottom: 30px;
}
.flexpoint p{
	padding: 0px 20px 30px 20px;
	flex: 8;
    height: 100%;
    min-height: 0%;
	text-align: center;
}
.flexpoint h5{
    text-align: center;
	flex: 1;
    height: 100%;
    min-height: 0%;
	font-size: 18px;
}
@media screen and (max-width: 820px){
	.sdgs p {
		padding: 30px 100px 10px;
	}
}

@media screen and (max-width: 480px) {
	.sdgs{
		padding: 0;
	}
	.sdgs img{
		width: 96%;
	}
	.sdgs p{
		padding: 0;
	}
	.list.thumb{
		width: 85%;
		margin: 0 1% 50px;
	}
	.flexpoint ul{
		margin-bottom: 30px;
		margin-top: 0px;
	}
	.flexpoint li{
		width: 95%;
		margin-bottom: 30px;
	}
	.flex_expoint{
		padding: 0;
	}
}
	
	

.flexpoint2 ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin-bottom: 50px;
	margin-top: 80px;
}
.flexpoint2 li{
	width: 30%;
	display: flex;
	flex-wrap: wrap;
    flex-direction: column;
	justify-content: center;
	overflow: hidden;
	background-color: #000;
	color: #fff;
	margin-bottom: 30px;
}
.flexpoint2 p{
	padding: 20px 20px 0px 20px;
	flex: 8;
    height: 100%;
    min-height: 0%;
	text-align: center;
	background-color: #fff;
	color: #000;
}
.flexpoint2 h5{
    text-align: center;
	flex: 1;
    height: 100%;
    min-height: 6%;
	font-size: 18px;
}

.pma{
	padding: 10px 0 20px;
}

.confle_btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: -20px;
}

.contel{
	margin: 0 20px;
}
.contel .btn{
	font-weight: normal;
	background: -moz-linear-gradient(left, #000, #666);
    background: -webkit-linear-gradient(left, #000, #666);
    background: linear-gradient(to right, #000, #666);
    color: #fff;
}
.contel .btn::after {
    position: absolute;
    right: 30px;
    content: none;
}
.conmail{
	margin: 0 20px;
}

.conmail .btn{
	display: flex;
    justify-content: center;
    align-items: center;
	height: 72px;
	background: -moz-linear-gradient(left, #000, #666);
    background: -webkit-linear-gradient(left, #000, #666);
    background: linear-gradient(to right, #000, #666);
    color: #fff;
	
}.conmail .btn:hover{
	opacity: 0.5;
}
@media screen and (max-width: 1024px) {
	.productimg{
		width: 45%;
		padding: 100px 0 0 20px;
	}
	.producttext{
		width: 50%;
	}
	
}



@media screen and (max-width: 480px) {
	.flexpoint2 ul{
		margin-bottom: 0px;
		margin-top: 50px;
	}
	.flexpoint2 li{
		width: 95%;
	}
	.contel{
		margin: 0px 20px;
	}
	.conmail{
		margin: -50px 20px;
	}
	}
.productakula{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.productimg{
	width: 45%;
	padding: 55px 0px 0px 95px;
}
.producttext h4{
	font-size: 21px;
    line-height: 2.5;
    margin-top: 30px;
	border-bottom: solid 3px #009A95;
    display: inline-block;
}
.producttext p{
	padding: 20px 0 20px;
}
.producttext{
	width: 45%;
}

.qa-left,.qa-right{
    width:50%;
}
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	overflow-x: hidden;
	margin: 0 auto;
	color: #000000;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.cp_qa .cp_actab {
	padding: 20px 0;
}
.cp_qa label {
	font-size: 1.2em;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 48px;
	cursor: pointer;
}
.cp_qa .cp_actab-content {
	font-size: 1em;
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0 40px;
	padding: 0 14px;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	padding: 14px;
	opacity: 1;
	background-color: #f5f5f5;
}
.cp_qa .cp_plus {
	font-size: 2.4em;
	line-height: 100%;
	position: absolute;
	z-index: 5;
	margin: 3px 0 0 10px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}

@media screen and (max-width: 820px){
	.productimg{
		width: 75%;
		padding: 30px 0 0 110px;
	}
	.producttext{
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.cp_qa {
	   overflow-x: hidden;
	   margin: 0 auto;
	   color: #000000;
		display: block;
}
.qa-left,.qa-right{
    width:auto;
}
	.cp_qa .cp_actab {
		text-align: center;
		width: 100%;
	}
	.cp_qa .cp_actab {
		display: inherit;
		text-align: center;
	}
	.cp_qa .cp_actab {
		margin-left: 50px;
		margin: 10px 0 0 10px;
	}
	.cp_qa .cp_plus{
		margin: 10px 0 0 10px;
		margin-left: 30px;
	}
	.productakula{
		display: block;
	}
	.productimg{
		width: 100%;
		padding: 0
	}
	.producttext {
        width: 95%;
        padding: 0px 10px 0px 10px;
	}
	.producttext h4{
		margin-top: none;
		display: block;
	}
	.con3 table {
		padding: 20px auto -30px;
}
}




.company h3.company_about{
	text-align: center;
	padding: 30px 15px 10px;
	color: #000;
	border-bottom: 3px solid #009a95;
	background-color: #fff;
}
.company h4{
	color: #009A95;
}
.company p {
	padding: 15px 0px 10px;
	text-align: center;
}

.con1_bg .contents  h2{
	color: #fff;
}
.con3_bg .contents h2{
	color: #fff;
}

.companybanner{
	display: flex;
	justify-content: center;
	margin-bottom: 70px;
	
}
.cleanair{
	padding: 0px 30px 0px 0px;
}
.dnninc{
	padding: 0px 0px 0px 30px;
}
.cleanair img:hover{
	opacity: 0.7;
}
.dnninc img:hover{
	opacity: 0.7;
}
@media screen and (max-width: 820px) {
	.company img{
		width: 100%;
		margin-top: -30px;
	}
}

@media screen and (max-width: 480px) {
	
	.company img{
		margin-top: -70px;
	}
	.companybanner{
		display: block;
	}
	.cleanair{
		padding: 0px 30px 30px 30px;
	}
	.dnninc{
		padding: 0 30px 0 30px;
	}
}





/*アニメーション要素のスタイル*/
.animation{
  opacity : 0;
  visibility: hidden;
  transition: 1.5s 0.5s;;
  transform: translateY(60px);
  bottom: -20px;	
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}




/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px){

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
@keyframes menu1 {
	0% {opacity: 0;}
	100% {opacity: 1;}
}
/*スマホ用メニューブロック*/
#menubar-s {
	display: block;overflow: hidden;
	position: fixed;
	top: 0px;	/*上から100pxの場所に配置*/
	border-top: 1px solid #fff;		/*上の線の幅、線種、色*/
	width: 100%;
	z-index: 10000;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
    right:0;
}
    #menubar-s li{
        background-color: #000;
    }
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;text-decoration: none;
	height: auto;		/*高さ。下のpadding-top(15)と合計して「100」になるようにする。*/
	padding: 15px 10px;	/*上に空ける余白*/
/*	padding-left: 80px;	/*左に空ける余白。背景用アイコンとの距離をここで調整。*/
	border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
	font-size: 20px;	/*文字サイズ*/
	color: #fff;	/*文字色*/
}
/*「施設のご案内」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の一番上(0)を基準に読み込む。サイズは50px。*/
#menubar-s li.info {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px 0px / 50px;
}
/*「イベント」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-100px)を基準に読み込む。サイズは50px。*/
#menubar-s li.event {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -100px / 50px;
}
/*「お買い物」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-200px)を基準に読み込む。サイズは50px。*/
#menubar-s li.shopping {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -200px / 50px;
}
/*「周辺マップ」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-300px)を基準に読み込む。サイズは50px。*/
#menubar-s li.map {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -300px / 50px;
}
/*「お問い合わせ」メニューの設定
背景色。アイコンの読み込み。左から15pxの場所に配置。背景画像の上から100px(-400px)を基準に読み込む。サイズは50px。*/
#menubar-s li.contact {
	background: rgba(0,0,0,0.8) url(../images/mark_menu.png) no-repeat 15px -400px / 50px;
}
/*英語表記（飾り文字）*/
#menubar-s li a span {
	display: block;
	font-size: 12px;	/*文字サイズを小さく*/
}
/*PC用メニューを非表示にする*/
#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;
	top: 24px;	/*上から24pxの場所に配置*/
	right: 3%;	/*左から3%の場所に配置*/
	border: 1px solid #000;	/*枠線の幅、線種、色*/
    z-index: 100000;
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
}

/*ヘッダー右上メニュー
---------------------------------------------------------------------------*/
/*メニュー全体のブロック設定*/
#header-nav {
	top: 10px;			/*ヘッダーの上から10pxの場所に配置。*/
	font-size: 11px;	/*文字サイズ*/
}
/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	top: 10px;	/*上から10pxの場所に配置*/
}
}
    #con1 , #con2 ,#con3 ,#con4, #con5{
        padding-top: 100px;
        margin-top: -100px;
    }
.mt100{
    margin-top: 100px;
}