/*スマホ対応関連*/
.nbsp_pc { display: inline !important; }
.nbsp_sp { display: none !important; }
.nbsp_pc2 { display: inline !important; }
.nbsp_sp2 { display: none !important; }

.menu_pc { display: inline !important; }
.drawer-wrap { display: none !important; }

@media only screen and (max-width: 1024px) {
	.nbsp_pc { display: none !important; }
	.nbsp_sp { display: inline !important; }

	table.menu_pc1,table.menu_pc2,table.menu_pc3 { display: none !important; }
	.drawer-wrap { display: inline !important; }
}
@media only screen and (max-width: 768px) {
	.nbsp_pc2 { display: none !important; }
	.nbsp_sp2 { display: inline !important; }
}





body{
width:100%;
margin:0;
padding:0;
text-align:center;
background-color: #0079ba;
color:black;
overflow-x: hidden!important;
}

#wrapper{
position: relative;
width:100%;
margin:0 auto;
padding:0;
text-align:center;
background-color:#fff;
}

div.main_content1{
width:60% !important;
margin:0 auto;
padding:0;
}
@media only screen and (max-width: 768px) {
	div.main_content1{ width:95% !important; }
}


/*ヘッダー*/
h1.header_txt1{
margin:0;
padding:10px 0 10px 30px;
font-size:18px;
font-weight:normal;
color:black;
text-align:left;
letter-spacing:0.1em;
}

header.header1{
margin:0;
padding:0 0 0 30px;
text-align:left!important;
background-color:#fff;
transition: 0.5s;
}

div.header_title1{
margin:0;
padding:0;
position: relative;
}

img.header_logo{
margin:0;
padding:0;
height:125px;
width:auto;
}
@media only screen and (max-width: 768px) {
	h1.header_txt1{
	padding:10px 0 10px 10px;
	font-size:14px;
	}

	header.header1{ padding:0 0 4% 0 !important; }

	img.header_logo_sp{
	top: 0;
	width: 96% !important;
	height: auto !important;
	padding:0 1% 0 2% !important;
	}
}

img.header_logo_fuusui1{
float: right;
height: 125px;
width:auto;
margin:0;
padding:0 1% 0 0;
}
@media only screen and (max-width: 768px) {
	img.header_logo_fuusui1{
	width: 12% !important;
	height: auto !important;
	padding:5px 1% 0 0 !important;
	}
}

/*ヘッダー_PCメニュー*/
table.menu_pc1,table.menu_pc1 tr,table.menu_pc1 td{
width:100%;
margin:0;
padding:0;
border-collapse: collapse;
background-color: #0079ba;
text-align:left;
font-size:18px;
font-weight:normal;
}

table.menu_pc2,table.menu_pc2 tr,table.menu_pc2 td{
width:100%;
margin:0;
padding:0;
border-collapse: collapse;
background-color: #0c3156;
text-align:left;
font-size:18px;
font-weight:normal;
}

table.menu_pc3,table.menu_pc3 tr,table.menu_pc3 td{
width:100%;
margin:0;
padding:0;
border-collapse: collapse;
background-color: #005c68;
text-align:left;
font-size:18px;
font-weight:normal;
}

.button {
  display: inline-block;
  text-align: center;
  text-decoration: none;
  outline: none;
margin:0;
padding:20px;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.button1 {
  position: relative;
  z-index: 2;
  border: 0px solid #333;
  color: #fff;
  overflow: hidden;
text-decoration:underline!important;
}
.button1:hover {
  color: #fff;
text-decoration:none!important;
}
.button1::after {
  top: -100%;
  left: -10%;
  width: 150%;
  height: 100%;
}
.button1:hover::after {
  top: 0;
  background-color: #513a19;
}

.button2 {
  position: relative;
  z-index: 2;
  background-color: #513a19;
  border: 0px solid #333;
  color: #fff;
  overflow: hidden;
text-decoration:none!important;
}
.button2:hover {
  color: #fff;
text-decoration:none!important;
}
.button2::after {
  top: -100%;
  width: 100%;
  height: 100%;
}
.button2:hover::after {
  top: 0;
  background-color: #513a19;
}

/*参考→ https://theorthodoxworks.com/web-design/drop-down-menu-multi-css/ */
.menu {
    list-style: none inside;
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.menu > li {
    float: left;
    margin:0;
    padding:0;
}

.menu > li a {
    display: block;
    color: #fff;
}

ul.menu__second-level {
    list-style: none inside;
    margin:0;
    padding:0;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    text-align:center;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
}

.menu > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 0px solid #111;
    margin:0;
    padding:0 0 15px 0;
}

.menu__third-level li {
    border-top: 1px solid #111;
}

.menu__second-level li a:hover {
    text-decoration:none!important;
}

.menu__third-level li a:hover {
    background: #2a1f1f;
}

.menu__fourth-level li a:hover {
    background: #1d0f0f;
}
/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}
.menu:after { clear: both; }
.menu { *zoom: 1; }
/*サブメニュー*/
.menu > li.menu__single {
    position: relative;
    min-width:220px;
    margin:0;
    padding:0;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

.second1{ background-color: #0079ba; }
.second2{ background-color: #0c3156; }
.second3{ background-color: #005c68; }


/*スマホ_追尾メニュー*/
html {
scroll-behavior:smooth;
}

.floating-banner{
display:none!important;
position:fixed;
z-index:99999;
bottom:0;
left:0;
}
@media screen and (max-width:768px) {
	.floating-banner{
		display:inline!important;
	}
}

table.menu_sp1{
margin:0;
padding:0;
width:100vw;
border-collapse:collapse;
background-color:rgba(0,121,186,0.95)!important;
color:#fff;
text-align:center;
font-size:12px;
line-height:100%;
}
table.menu_sp1 td{
margin:0;
padding:0;
width:25vw;
height:70px;
border:0px solid #fff;
border-top:1px solid #fff!important;
border-left:1px solid #fff!important;
text-align:center;
}
table.menu_sp1 td.td1{
margin:0;
padding:0;
width:25vw;
height:70px;
border:0px solid #fff;
border-top:1px solid #fff!important;
text-align:center;
}
table.menu_sp1 img{
margin:0;
padding:0;
height:50px;
width:auto;
}
table.menu_sp1 a{
text-decoration:none;
color:#fff;
}

/*スマホ_追尾メニュー_ドロワーメニュー*/
/* チェックボックスを非表示 */
.menu-checkbox {
  display: none;
}

/* メニューボタンのアニメーション */
.menu-checkbox:checked ~ .menu-button::before {
  top: 50%;
  transform: rotate(45deg);
}
.menu-checkbox:checked ~ .menu-button::after {
  top: 50%;
  transform: rotate(-45deg);
}
.menu-checkbox:checked ~ .menu-button span {
  display: none;
}

/* ドロワーメニューの装飾 */
.drawer-menu {
  position:fixed;
  top:0;
  left:0;
  z-index:200;
  height:100%;
  width:auto;
  transform:translateX(-100%);
  transition:.5s;
  background-color:rgba(0,121,186,0.75);
	&.hidden {
		opacity: 0;
		visibility: hidden;
	}
}

/* ドロワーメニューの開閉 */
.menu-checkbox:checked ~ .drawer-menu {
  transform: translateX(0);
}

/* ドロワーメニューの背景 */
.menu-background {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, .5);
  cursor: pointer;
}
.menu-checkbox:checked ~ .menu-background {
  display: block;
}

/* ドロワーメニュー中身 */
nav.accordion{
margin:0;
padding:30px 0;
height:100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
nav.accordion a{
display:block;
margin:0;
padding:0;
}
nav.accordion label{
display:block;
}
nav.accordion ul {
  list-style: none;
margin:0;
padding:0;
background-color:rgba(102,204,255,0.5);
}
nav.accordion li {
  list-style: none;
margin:0;
padding:15px 0;
font-size:14px;
line-height:150%;
}

label.acco_now1{background-color:#513a19!important;}

label.acco_menu0{
  cursor: pointer;
margin:0;
padding:5px 25px;
font-size:18px;
line-height:150%;
}
label.acco_menu1{
  cursor: pointer;
margin:0;
padding:5px 25px;
font-size:18px;
line-height:150%;
}
label.acco_menu2{
  cursor: pointer;
margin:0;
padding:5px 25px;
font-size:14px;
line-height:150%;
}

ul.acco_menu2_menu{
margin:0;
padding:0;
background-color:#555!important;
}

.toggle{
  display: none;
}
.toggle + ul{
  max-height: 0;
  overflow: hidden;
  transition: all 1s ease;
}
.toggle:checked + ul{
  max-height: 1000px;
  transition: all 1s ease-in;
}

/* 閉じるボタン */
.menu-background{
color:#fff;
font-size:36px;
font-weight:normal;
cursor:pointer;
}
.close01::before{
font-family:'Font Awesome 5 Free';
content:"\f057";
}
.close01{
position:absolute;
top:3vh;
left:85vw;
color:#fff;
cursor:pointer;
}


/*LINE QRポップアップ*/
.open1 {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up1 {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay1 {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up1:checked + .overlay1 {
	display: block;
	z-index: 9999;
	background-color: rgba(0, 0, 0, .5);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window1 {
	width: 90vw;
	max-width: 380px;
	height: 380px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text1 {
	font-size: 14px;
	margin: 0;
	color:black;
}
.close1::before{
font-family:'Font Awesome 5 Free';
content:"\f057";
}
.close1 {
	cursor:pointer;
	position: absolute;
	top: 20px;
	right: 7px;
	font-size: 36px;
	color:black;
}

.open2 {
	cursor:pointer; /* マウスオーバーでカーソルの形状を変えることで、クリックできる要素だとわかりやすいように */
}
#pop-up2 {
	display: none; /* label でコントロールするので input は非表示に */
}
.overlay2 {
	display: none; /* input にチェックが入るまでは非表示に */
}
#pop-up2:checked + .overlay2 {
	display: block;
	z-index: 9999;
	background-color: rgba(0, 0, 0, .5);
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.window2 {
	width: 90vw;
	max-width: 380px;
	height: 380px;
	background-color: #ffffff;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.text2 {
	font-size: 14px;
	margin: 0;
	color:black;
}
.close2::before{
font-family:'Font Awesome 5 Free';
content:"\f057";
}
.close2 {
	cursor:pointer;
	position: absolute;
	top: 20px;
	right: 7px;
	font-size: 36px;
	color:black;
}

a.popup_link1{
font-size:18px!important;
line-height:150%!important;
color:#513a19!important;
}
a.popup_link2{
font-size:18px!important;
line-height:150%!important;
color:#a5559d!important;
}

/*ページトップボタン*/
html{ scroll-behavior: smooth; }

.float-button__wrap {
    display: none;/*最初は隠す*/
    width: 50px;
    height: 50px;
    margin:0;
    padding:0;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 10;
}
.float-button__wrap a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size:14px;
    line-height:18px;
    font-weight:normal;
    text-decoration: none;
    background-color: silver;
    color: #fff;
}


/*フッター*/
footer.footer1 {
position: relative;
padding:15px 0;
margin:0;
background-color: #0079ba;
color:#fff;
text-align:center;
font-size:18px;
border-top:0px solid #0079ba;
}

.footer_copy1{
padding:0;
vertical-align:bottom;
text-align:center;
}
@media only screen and (max-width: 768px) {
	footer.footer1 {
	padding:15px 0 150px 0;
	font-size:14px;
	background-color: #fff;
	color:black;
	border-top:1px solid #0079ba;
	}
}


/*トップページ*/

/*スライド*/
.slide {
  position: relative;
  width: 100%;
  padding-top: 39%;
  overflow: hidden;
  background-color: #fff;
}

@keyframes slideshow {
　/* 非表示（不透明度0%）状態からフェードインを始める */
  0%{ opacity:0; }
  /* ここまでにフェードインを完了し、完全表示（不透明度100%）にする */
  14.28%{ opacity:1; }
  /* ここまで完全表示（不透明度100%）の状態を維持したらフェードアウトを始める */
  50%{ opacity:1; }
  /* ここまでにフェードアウトを完了し、非表示（不透明度0%）にする */
  64.28%{ opacity:0; }
  /* 非表示（不透明度0%）状態を維持したまま終わる */
  100%{ opacity:0; } 
}
@keyframes slideshow_last {
  0%{ opacity:0; }
  14.28%{ opacity:1; }
  50%{ opacity:1; }
  64.28%{ opacity:1; }
  100%{ opacity:1; }
}

.slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  opacity: 0;
  animation: slideshow forwards 10s linear 1, slideshow_last forwards 10s linear 1;
}

.slide img.s_img1 {
  animation-delay:-2s;
}

.slide img.s_img2 {
  animation-delay: 3s;
}

.slide img.s_img3 {
  animation-delay: 8s;
}

.slide img.s_img4 {
  animation-delay: 13s;
}

/*スライドしない固定画像*/
.slide2 {
  position: relative;
  width: 100%;
  padding-top: 39%;
  overflow: hidden;
  background-color: #fff;
}
.slide2 img.s_img1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}


/*トップページ_ボタン*/
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* 背景用*/
.btn,
a.btn,
button.btn {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.btn-wrap-pc-sp {
  max-width: 435px;
  margin: 0 auto 20px;
}

a.btn-pc-sp {
  line-height: 1.4;
  width: 49.5%;
  padding: 1.25rem 0;
  color: #ffff;
}

a.btn--contact {
  display: block;
  padding: 5px 20px 2px 20px;
  color: #fff;
  background: #513a19;
  -webkit-box-shadow: 0 5px 0 #402d12;
  box-shadow: 0 5px 0 #402d12;
}

a.btn--contact i {
  font-size: 2rem;
}

a.btn--contact i.fa-position-left {
  font-size: 3rem;
  left: 2rem;
}

a.btn--contact :hover {
  color: #fff;
}

a.btn--tel {
  display: block;
  padding: 5px 20px 2px 20px;
  color: #fff;
  background: #a5559d;
  -webkit-box-shadow: 0 5px 0 #914489;
  box-shadow: 0 5px 0 #914489;
}

a.btn--tel i {
  font-size: 2rem;
}

a.btn--tel i.fa-position-left {
  font-size: 3rem;
  left: 2rem;
}

a.btn--tel .number {
  line-height: 1;
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0.25rem 2rem;
  letter-spacing: 0;
  color: #094;
  border-radius: 0.5rem;
  background: #fff;
}

a.btn--tel:hover {
  color: #fff;
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - 0.5em);
  right: 1rem;
}


/*3つのメリット*/
ul.top_3merit{
width:100%;
margin:0 auto;
padding:0;
text-align:center;
list-style:none;
}
@media only screen and (max-width: 768px) {
	ul.top_3merit{
	width:90%;
	margin:0 auto;
	}
}

ul.top_3merit li{
float: left;
width:29%;
margin:0 auto;
padding:0 2% 30px 2%;
}
@media only screen and (max-width: 768px) {
	ul.top_3merit li{
	width:100%;
	margin:0;
	padding:0 0 30px 0;
	}
}

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


ul.top_3merit p{
padding:0 0 0 2px;
font-size:24px;
line-height:135%;
font-weight:normal;
text-align:left;
}
@media only screen and (max-width: 768px) {
	ul.top_3merit p{ font-size:18px; }
}

.marker-animation.active{
    background-position: -100% .5em;
}
 
.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
    color:#a00;
}

br.c_both { clear: both; }

p.merit_big1{
margin:0 auto;
padding:0;
font-size:36px;
line-height:135%;
font-weight:bold;
color:#b17aaf;
text-align:center;
}
@media only screen and (max-width: 768px) {
	p.merit_big1{ font-size:28px; }
}


/*メインコンテンツ*/
#main{
box-sizing: border-box;
width:95%;
margin:0 auto;
padding:0;
text-align:left;
}


/*見出し*/
h2.midasi1 {
  position: relative;
  padding: 1rem 1rem calc(1rem + 5px);
  padding-bottom:12px;
  background: #0079ba;
color:#fff;
font-size:32px;
line-height:38px;
font-weight:bold;
letter-spacing:0.1em;
}

h2.midasi1:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid #0079ba;
}
@media only screen and (max-width: 768px) {
	h2.midasi1{
	padding-bottom:12px;
	font-size:20px;
	line-height:32px;}
}

h2.midasi_facility1 {
  position: relative;
  padding: 1rem 1rem calc(1rem + 5px);
  padding-bottom:12px;
  background: #513a19;
color:#fff;
font-size:32px;
line-height:38px;
font-weight:bold;
letter-spacing:0.1em;
}

h2.midasi_facility1:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid #513a19;
}
@media only screen and (max-width: 768px) {
	h2.midasi_facility1{
	padding-bottom:12px;
	font-size:20px;
	line-height:32px;}
}

h2.midasi_reform1 {
  position: relative;
  padding: 1rem 1rem calc(1rem + 5px);
  padding-bottom:12px;
  background: #a5559d;
color:#fff;
font-size:32px;
line-height:38px;
font-weight:bold;
letter-spacing:0.1em;
}

h2.midasi_reform1:before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 2px solid #a5559d;
}
@media only screen and (max-width: 768px) {
	h2.midasi_reform1{
	padding-bottom:12px;
	font-size:20px;
	line-height:32px;}
}


/*本文_基本*/
p.bold1{
box-sizing: border-box;
width:90%;
margin:0 auto;
padding:0;
font-size:16px;
line-height:28px;
font-weight:bold;
text-align:left;
}
@media only screen and (max-width: 768px) {
	p.bold1{
	font-size:14px;
	line-height:21px;}
}

p.normal1{
box-sizing: border-box;
width:100%;
margin:0 auto;
padding:0;
font-size:16px;
line-height:28px;
text-align:left;
}
@media only screen and (max-width: 768px) {
	p.normal1{
	font-size:14px;
	line-height:21px;}
}


span.bold1{ font-weight:bold; }


/*本文_個人宅リフォーム*/
span.reform_green1{ color:#005C68; font-weight:bold; }
span.reform_red1{ color:#A60D0E; font-weight:bold; }
span.reform_red1big{ color:#A60D0E; font-weight:bold; font-size:24px; }
span.reform_komidasi1{
color: #010079;
text-shadow: 0 0 5px white;
border-left: solid 7px #010079;
background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
padding:5px 15px;
font-size:130%;
line-height:250%;
}

img.reform_img1{
float:right;
width:300px;
height:auto;
margin:0;
padding:0 0 0 20px;
border:0;
}
@media only screen and (max-width: 768px) {
	img.reform_img1{
	clear:both!important;
	width:100%!important;
	padding:0 0 10px 0!important;}
}


/*本文_百ゼロ*/
span.facility_green1{ color:#005C68; font-weight:bold; }
span.facility_komidasi1{
color: #010079;
text-shadow: 0 0 5px white;
border-left: solid 7px #010079;
background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px);
padding:5px 15px;
font-size:130%;
line-height:250%;
}

img.facility_img1{
float:right;
width:300px;
height:auto;
margin:0;
padding:0 0 0 20px;
border:0;
}
@media only screen and (max-width: 768px) {
	img.facility_img1{
	clear:both!important;
	width:100%!important;
	padding:0 0 10px 0!important;}
}

center.facility_center1{
margin:0;
padding:0 0 10px 0;
font-size:28px;
line-height:32px;
color:#b17aaf;
font-weight:bold;
}
@media only screen and (max-width: 768px) {
	center.facility_center1{ font-size:21px; line-height:145%; }
}


/*本文_従来の問題点*/
img.problem_img1{
width:35%;
margin:0 auto;
padding:5% 2% 0 0;
vertical-align:top;
}

img.problem_img2{
width:50%;
margin:0 auto;
padding:5% 0 0 2%;
vertical-align:top;
}

img.problem_img3{
width:48%;
margin:0 auto;
padding:0 1% 2& 0;
vertical-align:top;
}

img.problem_img4{
width:48%;
margin:0 auto;
padding:0 0 2% 1%;
vertical-align:top;
}

img.problem_img5{
width:75%;
margin:0 auto;
padding:5px 0;
vertical-align:top;
}
@media only screen and (max-width: 768px) {
	img.problem_img1{ width:75%; padding:5% 0 3% 0; }
	img.problem_img3, img.problem_img4{ width:100%;  padding:2% 0 3% 0; }
	img.problem_img2, img.problem_img5{ width:100%;  padding:2% 0 0 0; }
}

.problem_bad1.active{
    background-position: -100% .5em;
}
 
span.problem_bad1 {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
    color:#a00;
font-size:21px;
line-height:135%;
}
@media only screen and (max-width: 768px) {
	span.problem_bad1{ font-size:16px; }
}

p.problem_jurai1 {
margin:0;
padding:0 0 1% 0;
    font-weight: bold;
    color:#b17aaf;
font-size:36px;
line-height:135%;
}
@media only screen and (max-width: 768px) {
	p.problem_jurai1{ font-size:28px; }
}

p.problem_bad2 {
margin:0;
padding:0 0 20px 0;
font-size:32px;
line-height:48px;
color:#a00;
font-weight:bold;
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
@media only screen and (max-width: 768px) {
	p.problem_bad2{ 
	font-size:26px;
	line-height:135%;
	}
}


.problem_link1.active{
    background-position: -100% .5em;
}

a.problem_link1 {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
    color:#b17aaf;
font-size:40px;
line-height:135%;
}
@media only screen and (max-width: 768px) {
	a.problem_link1{ font-size:32px; }
}


/*本文_メリット*/
img.merit_img1{
width:100%;
margin:0 auto;
padding:5px 0;
vertical-align:top;
}

img.merit_img2{
width:50%;
margin:0 auto;
padding:5px 0 0 4%;
vertical-align:top;
float:right;
}

img.merit_img3{
width:50%;
margin:0 auto;
padding:5px 0 0 4%;
vertical-align:top;
float:right;
}

img.merit_img4{
width:90%;
margin:0 auto;
padding:5px 0;
vertical-align:top;
}
@media only screen and (max-width: 768px) {
	img.merit_img1, img.merit_img4{ width:100%;  padding:2% 0 0 0; }
	img.merit_img2, img.merit_img3{ width:100%;  padding:2% 0 5% 0; }
}


p.merit_point1{
margin:0;
padding:0 0 10px 0;
font-size:32px;
line-height:44px;
color:#b17aaf;
font-weight:bold;
}
@media only screen and (max-width: 768px) {
	p.merit_point1{ font-size:24px; line-height:145%; }
}

.merit_point2.active{
    background-position: -100% .5em;
}

span.merit_point2 {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
}
span.merit_red1 {
margin:0;
padding:0;
    font-weight: bold;
    color:#a00;
font-size:21px;
line-height:135%;
}
@media only screen and (max-width: 768px) {
	span.merit_red1{ font-size:16px; }
}

p.merit_link1{
margin:0;
padding:0;
font-size:40px;
line-height:58px;
color:#a00;
font-weight:bold;
}
p.merit_link1 a{ color:#a00; }
p.merit_link1 a:hover{ color:#b17aaf; }
@media only screen and (max-width: 768px) {
	p.merit_link1{ font-size:32px; }
}

p.merit_txt1 {
  position: relative;
  padding: 10px 15px;
  text-align: left;
  color: #22ac38;
  border-radius: 0 5px 5px 5px;
  background: #f2deec;
color:black;
font-size:16px;
line-height:28px;
}
p.merit_txt1:before {
  font-size: 16px;
line-height:28px;
  position: absolute;
  top: -26px;
  left: 0;
  height: 26px;
  padding: 0 10px;
  content: '\ご存知でしたか？';
  color: #fff;
  border-radius: 5px 5px 0 0;
  background: #b17aaf;
font-weight:bold;
}
@media only screen and (max-width: 768px) {
	p.merit_txt1{
	font-size:14px;
	line-height:21px;}
}


/*会社概要*/
p.company_rinen1{
color:#005C68;
font-weight:bold;
font-size:120%;
line-height:155%;
}

img.company_img1{
float:right;
width:300px;
height:auto;
margin:0;
padding:0 0 0 20px;
border:0;
}
@media only screen and (max-width: 768px) {
	img.company_img1{
	clear:both!important;
	width:100%!important;
	padding:0 0 25px 0!important;}
}

.tbl-r02 {
width: 100%;
border-collapse: collapse;
font-size:18px;
line-height:28px;
}

.tbl-r02 th {
width: 20%;
background: #e0e0e0;
border:solid 1px #999;
padding:10px;
text-align:center;
letter-spacing:0.25em;
}

.tbl-r02 td {
border:solid 1px #999;
padding:10px;
text-align:left;
}
@media screen and (max-width: 768px) {
	.last td:last-child {
	border-bottom: solid 1px #999;
	width: 100%;
	}
	.tbl-r02 {
	width: 95%;
	font-size:14px;
	line-height:22px;
	}
	.tbl-r02 th,
	.tbl-r02 td {
	border-bottom: none;
	display: block;
	width: 100%;
	border: solid 1px #999;
	border-bottom: solid 0px #999;
	text-align:left;
	}
}


/*お問合せ*/
a.contact_tel1{
font-size:21px;
font-weight:bold;
}



span.contact_bad1{
margin:0;
padding:0;
font-size:32px;
line-height:48px;
color:#a00;
font-weight:bold;
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
@media screen and (max-width: 768px) {
	span.contact_bad1{
	font-size:18px;
	line-height:32px;
	}
}

span.contact_point1.active{
    background-position: -100% .5em;
}
span.contact_point1{
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,102) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
margin:0;
padding:0;
font-size:32px;
line-height:48px;
color:#b17aaf;
font-weight:bold;
}
@media screen and (max-width: 768px) {
	span.contact_point1{
	font-size:24px;
	line-height:36px;
	}
}

span.contact_point2{
margin:0;
padding:0;
font-size:32px;
line-height:48px;
color:#b17aaf;
font-weight:bold;
}
@media screen and (max-width: 768px) {
	span.contact_point2{
	font-size:28px;
	line-height:40px;
	}
}


.tbl-r02 th.contact1 { text-align:left; }

.tbl-r02 tr.contact_button1{ border: solid 1px #fff; }

.tbl-r02 td.contact_button1{
margin:0;
padding:15px 0;
font-size:18px;
line-height:28px;
text-align:center;
border: solid 1px #fff;
}

.tbl-r02 td.contact_button1 input{
width:300px;
padding:15px;
font-size:18px;
line-height:28px;
text-align:center;
background: #e0e0e0;
border:solid 1px #999;
}


select.contact_select1 {
width:100%;
padding:10px 0;
font-size:18px;
line-height:28px;
}
@media screen and (max-width: 768px) {
	select.contact_select1 {
	font-size:14px;
	line-height:22px;
	}
}

input.contact_input1 {
width:99%;
font-size:18px;
line-height:28px;
}
@media screen and (max-width: 768px) {
	input.contact_input1 {
	width:98%;
	font-size:14px;
	line-height:22px;
	}
}

textarea.contact_text1 {
width:99%;
height:200px;
font-size:18px;
line-height:28px;
}
@media screen and (max-width: 768px) {
	textarea.contact_text1 {
	width:98%;
	height:350px;
	font-size:14px;
	line-height:22px;
	}
}
