/*--------------------------------------------------------------
	Common
--------------------------------------------------------------*/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;800&display=swap');
body {
	font-family: -apple-system, blinkMacSystemFont, /* Macの欧文はSan Francisco (OS X 10.11以降) */
				 'Helvetica Neue',			/* Macの欧文 (OS X 10.10以前) */
				 'Segoe UI',					/* Windowsの欧文 */
				 'Hiragino Kaku Gothic ProN', /* Macのヒラギノ */
				 Meiryo,						/* Windowsのメイリオ */
				 sans-serif;
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
	-ms-overflow-style: scrollbar;
}

body {
	background: #fff;
	font: 400 11px/1.8;
	color: #2c2c2c;
	-webkit-font-smoothing: antialiased;
	word-wrap: break-word;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {overflow: hidden !important;}
p, ol, ul, dl, blockquote, .form-group {font-size: 18px; line-height: 1.7em;}
b, strong, .bold{
}
ul {list-style-type: none; margin: 0; padding: 0;}
.btn-block {font-weight: bold;}

.main section {
	opacity: 0;
	transition: all .5s ease;
}
.main section.show, #contact {
	opacity: 1;
	transform: none;
}

/*--------------------------------------------------------------
	Navbar
--------------------------------------------------------------*/
.navbar-header h1 {font-size: 13px; margin: 10px 0 0 0; letter-spacing: 1px;}
#head_logo {max-width: 300px; float: left; margin-top: 10px; clear: both;}
#head_logo a {font-size: 13px; white-space: nowrap; line-height: 1.3em; color: #0d1c1f; display: block; margin: 0; padding: 0;}
.navbar-brand {float: none; margin: 0; padding: 0;}
#head_logo a span {display: inline-block; margin-top: -4px; letter-spacing: 0.3px;}

.navbar-custom {
	background: transparent;
	border: 0;
	border-radius: 0;
	z-index: 1000;
	letter-spacing: 3px;
	font-size: 14px;
	transition: background, padding 0.4s ease-in-out 0s;
	position: absolute;
}

.navbar a {
	transition: color 0.125s ease-in-out 0s;
}

.navbar-custom .dropdown-menu {
	background: rgba(26, 26, 26, 0.9);
	border-radius: 0;
	border: 0;
	padding: 0;
	box-shadow: none;
}

.navbar-custom .navbar-brand {
	font-size: 24px;
}
.navbar-custom .nav li > a {
	font-size: 15px;
	font-weight: 900;
	line-height: 4em;
	letter-spacing: 1px;
	padding-top: 0;
	padding-bottom: 0;
}
.navbar-transparent .nav li > a {
	position: relative;
	font-size: 15px !important;
	font-weight: 900;
	color: #2c2c2c;
	letter-spacing: 1px;
	padding-left: 20px;
}
.sub-page .navbar-custom .nav li > a {
	color: #2c2c2c;
}

.navbar-custom .dropdown-menu > li > a {
	border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
	padding: 11px 20px !important;
	letter-spacing: 2px;
	color: #999;
}

.navbar-custom .dropdown-menu .dropdown-menu {
	border-left: 1px solid rgba(73, 71, 71, 0.15);
	left: 100%;
	right: auto;
	top: 0;
	margin-top: 0;
}

.navbar-custom .dropdown-menu.left-side .dropdown-menu {
	border: 0;
	border-right: 1px solid rgba(73, 71, 71, 0.15);
	right: 100%;
	left: auto;
}

.navbar-custom .nav > li > a:focus,
.navbar-custom .nav > li > a:hover,
.navbar-custom .nav .open > a,
.navbar-custom .nav .open > a:focus,
.navbar-custom .nav .open > a:hover,
.navbar-custom .dropdown-menu > li > a:focus,
.navbar-custom .dropdown-menu > li > a:hover {
	background: none;
	color: #dddddd;
}

.navbar-custom .dropdown-menu > li > a:hover {
	background: rgba(255, 255, 255, 0.1) !important;
}

.navbar-custom .dropdown-toggle:after {
	position: absolute;
	display: block;
	right: 0;
	top: 50%;
	margin-top: -6px;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: 11px;
	content: "\f105";
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.navbar-toggle {color: #fff; padding: 0; margin-top: 0; top: 10px;}
.sub-page .navbar-toggle {color: #000000;}

.navbar-custom .navbar-toggle .icon-bar {
	background: #fff;
}
.nav>li>a {padding: 10px 20px;}
.sub-page .navbar-custom .navbar-toggle .icon-bar {
	background: #000000;
}
.dropdown-menu {
	min-width: 180px;
	font-size: 13px;
}

section {padding-top: 50px; padding-bottom: 80px;}

.h2, h2, .h3, h3 {
	font-size: 46px;
	font-weight: 600;
}
.h2, h2, .h3, h3, .h4, h4, dl dt, #case .case_title, .title_fuwafuwa, #pr .pr_box li div span strong, button a, .btn_cva, #olayBtn ul li a {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-feature-settings: "palt";
	letter-spacing: 3px;
}
.mgt-40 {margin-top: -40px !important;}
.mgt-50 {margin-top: -50px !important;}
.pdb70 {padding-bottom: 70px;}

.only_sp, .only_480 {display: none !important;}
.only_pad {display: none !important;}
#mainImg_txt .only_480 {display: inline !important;}
.ls_s {letter-spacing: -10px; background: none !important;}
.txt_center {margin: 0 auto; text-align: center !important;}
.txt_o {color: #0d1c1f !important;}

.navbar-right {
 font-weight: 900;
}
.under_l {
 width: 100%;
 position: relative;
 display: inline-block;
 margin-bottom: 2em;
}
.under_l:before {
 content: '';
 position: absolute;
 bottom: -15px;
 display: inline-block;
 width: 60px;
 height: 1px;
 left: 50%;
 -moz-transform: translateX(-50%);
 -webkit-transform: translateX(-50%);
 -ms-transform: translateX(-50%);
 transform: translateX(-50%);
 background-color: #999;
 border-radius: 1px;
}
.under_line {
	font-size: 24px;
	line-height: 1em;
	padding-bottom: 0.8em;
	border-bottom: solid 1px #ededed;
	position: relative;
	margin: 30px 0;
}
.under_line:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 1px #000a29;
	bottom: -1px;
	width: 90px;
}

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

.align-center {
	text-align: center;
}

.align-left {
	text-align: left !important;
}

.position-relative {
	position: relative;
}

a img:hover {
	opacity: 0.9;
}

/*--------------------------------------------------------------
	Header
--------------------------------------------------------------*/
.home-section {
	position: relative;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center center;
	width: 100%;
	z-index: 1;
	background-size: cover;
	padding: 0;
	margin-bottom: 3em;
}
.home-section::after {
	display: block;
	content: '';
	width: 100%;
	height: 100vh;
	border: 12px solid #ee5c41;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	mix-blend-mode: multiply;
}
.bg_dot {
	display: block;
	background: url("../images/overlay_dot.webp") center center;
	background-position: center center;
	position: absolute;
	width: 100%;
	height: 100%;
	content: '';
}
.contents_inner {
	box-sizing: boder-box;
	margin: 0 auto;
	padding: 30px 0 80px 0;
	color: #fff;
	text-align: center;
}

/* Transition elsements */
a,
.btn {
	transition: all 0.125s ease-in-out 0s;
}

/* mainImg */
#mainImg {
	display: table;
	height: 100vh;
	text-align: left;
	position: relative;
	z-index: 3;
}
#mainImg_txt {
	display: table-cell;
	font-size: 48px;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 5px;
	vertical-align: middle;
	position: relative;
	z-index: 2;
}
#mainImg_txt h2 {
	font-size: 64px;
	font-weight: 600;
	text-shadow: 
       4px  4px 2px #ffffff,
      -4px  4px 2px #ffffff,
       4px -4px 2px #ffffff,
      -4px -4px 2px #ffffff,
       4px  0px 2px #ffffff,
       0px  4px 2px #ffffff,
      -4px  0px 2px #ffffff,
       0px -4px 2px #ffffff;
	line-height: 1.2em;
	margin: 0;
	font-feature-settings: "palt";
}
#mainImg_txt h2 strong {
    display: inline-block;
	font-size: 64px;
	text-shadow: none;
	color: #ffffff;
	background: linear-gradient(135deg, rgba(238, 92, 65,1) 0%,#f16f5c 50%,#f6290c 51%,#f02f17 71%,#e73827 100%);
	padding: 15px;
}
.txt_strong {
	display: inline-block;
	font-weight: 600;
	color: #e73827;
	padding-top: 0.75em;
}
.txt_big {font-size: 200%; font-weight: 600;}
#mainImg_txt h2 .txt_big {
	display: inline-block;
}
#mainImg_txt h2 .txt_xsmall {
	display: inline-block;
	font-size: 24px;
	margin-bottom: 0.5em;
	letter-spacing: 1px;
}
#mainImg_txt .flex_list li {
	width: 35%;
	text-align: left;
	margin: 0;
}
#mainImg_txt .flex_list li:first-child {
	width: 65%;
}
#img_mainImg {
	position: absolute;
	bottom: auto;
	z-index: -1;
}
#mainImg_txt button {
	width: 100%;
	margin-top: 2em;
}
#mainImg_txt button a {
	background: #fff;
	color: #ee5c41;
}

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

@keyframes bgextendAnimeBase{
	from {
	opacity:0;
	}

	to {
	opacity:1;	
}
}

/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
#mainImg_txt p, #mainImg_txt ul {
	font-weight: 600;
	animation-delay: 1.0s;
}

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

/*左から右*/
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #ee5c41;/*伸びる背景色の設定*/
}
@keyframes bgLRextendAnime{
	0% {
	transform-origin:left;
	transform:scaleX(0);
	}
	50% {
	transform-origin:left;
	transform:scaleX(1);
	}
	50.001% {
	transform-origin:right;
	}
	100% {
	transform-origin:right;
	transform:scaleX(0);
	}
}

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

.form-control {font-size: 18px;}
input[type=button].btn-block {display: inline; padding: 15px 0; margin-bottom: 60px; border: none; border-color: #ffffff;}
button {
	display: block;
	background: none;
	width: 50%;
	margin: 0 auto;
	text-align: center;
	padding: 0;
	overflow: hidden;
	border: none;
}
button a {
	display: block;
	background: #ee5c41;
	font-size: 36px;
	font-weight: 600;
	line-height: 2.35em;
	letter-spacing: 3px;
	color: #fff;
	border: 2px solid #f1816d;
    position: relative;
	overflow: hidden;
	border-radius: 45px;
	z-index: 1 !important;
}
button a:hover {
	background: #fff;
	color: #f1816d;
}
button a:before {
    position: absolute;
    content: "";
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
.cta {margin: 0 5%;}
.cta .flex_list li {width: 45%;}
.cta .flex_list li button {width: 100%;}
.cta .flex_list li:last-child button a {background: #419bee; border-color: #419bee; position: relative;}
.cta .flex_list li:last-child button:hover a {background: #fff; color: #419bee;}

.navbar-custom {margin-bottom: 0;}

#btn_scroll a {
	display: inline-block;
	width: 3em;
	position: absolute;
	right: 0;
	left: 0;
	bottom: -45px;
	z-index: 2;
	padding: 10px 10px 110px;
	overflow: hidden;
	color: #ffffff;
	font-size: 14px;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 900;
	line-height: 20px;
	letter-spacing: .2em;
	text-transform: uppercase;
	text-decoration: none;
	writing-mode: vertical-lr;
}
#btn_scroll a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.75em;
	width: 1px;
	height: 100px;
	background: #fff;
}
#btn_scroll a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.75em;
	width: 1px;
	height: 100px;
	background: rgba(255,255,255,0.45);
}
#btn_scroll a::after {
	animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
	0% {
	transform: scale(1, 0);
	transform-origin: 0 0;
	}
	50% {
	transform: scale(1, 1);
	transform-origin: 0 0;
	}
	50.1% {
	transform: scale(1, 1);
	transform-origin: 0 100%;
	}
	100% {
	transform: scale(1, 0);
	transform-origin: 0 100%;
	}
}

/* Sections */
.navbar-custom + .main {
}

.main {
	position: relative;
	background-color: #fff;
	letter-spacing: 1px;
	z-index: 0;
}

.main section h2, section h3, #form-area h2 {letter-spacing: 3px; font-weight: 600;}
.main section h2, #form-area h2 {margin-bottom: 1.7em; text-align: center;}
.main section h2 span {display: inline-block; border-top: 1px solid; text-align: center; padding-top: 0.75em; line-height: 1.4em;}
section h3 {margin-bottom: 1em;}
section h3.title_brd {
	text-align: center;
	position: relative;
	margin: 1em auto 3em auto;
}
section h3.title_brd::before, section h3.title_brd::after, #contact h3.title_brd::before, #contact h3.title_brd::after {
	display: block;
	content: '';
	width: 1em;
	height: 3px;
	position: absolute;
	bottom: -1em;
}
section h3.title_brd::before {
	background: rgba(238, 92, 65,0.85) !important;
	left: calc(50% - 1em);
}
section h3.title_brd::after {
	background: rgba(238, 92, 65,0.35) !important;
	left: calc(50% - 0em);
}
h2 strong {font-weight: 600;}

#start h2, #pr h2, #form-area h2 {
	font-weight: 600;
	line-height: 1em;
	padding-top: 0.5em;
	position: relative;
}

#form-area h2::before {
	background: #000a29;
}

h3.title_brd {margin-top: 60px;}
h3.title_brd span {
	font-size: 160%;
}

/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
	width: 100%;
	list-style: none;
	text-align: center;
	margin: 30px auto 60px auto;
}

.accordion-area li{
	margin: 10px 0;
}

.accordion-area section {
	padding: 0;
}
.close {float: none; opacity: 1.0;}
/*アコーディオンタイトル*/
.title {
	display: inline-block;
	width: 70%;
	height: 3.5em;
	vertical-align: bottom;
	background: #ffffff;
	position: relative;
	cursor: pointer;
	color:rgba(238, 92, 65,1);
	font-size: 18px;
	font-weight: bold;
	line-height: 3.5em;
	text-align: center;
	margin: 0 auto;
	padding: 0 2em;
	border: 1px solid rgba(238, 92, 65,1);
	border-bottom: 3px solid rgba(238, 92, 65,0.85);
	border-radius: 30px;
	box-sizing: content-box;
}
.title:hover {
	background: rgba(255,255,255,0.45);
}

/*アイコンの＋と×*/
.title::before,
.title::after{
	position: absolute;
	content:'';
	width: 15px;
	height: 2px;
	background-color:rgba(238, 92, 65,1);
	
}
.title::before{
	top:48%;
	right: 10%;
	transform: rotate(0deg);
	
}
.title::after{	
	top:48%;
	right: 10%;
	transform: rotate(90deg);

}
/*closeというクラスがついたら形状変化*/
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
	display: none /*はじめは非表示*/;
	margin-top: 2em;
}
.box p {
	font-size: 15px;
	text-align: left;
}

.box_wh {
	background: rgba(255,255,255,0.8);
	padding: 30px;
	margin: 30px 0;
	border-radius: 5px;
	border: 2px solid #ffffff;
	clear: both;
}
.box_wh:after {display: block; clear: both; content: "";}
.box_wh h3 {font-size: 30px; line-height: 1.2em; letter-spacing: 5px; margin-bottom: 20px; border-left: 5px solid rgba(144,207,195,0.8) !important; padding-left: 10px;}
.box_wh p {font-size: 24px;}
.box_wh h3 span {font-size: 80%; color: #6e7372; padding-left: 5px;}
.box_wh .fl_left {
	width: 30%;
}
.box_wh .fl_right {
	width: 66%;
}
.box_wh p:last-child {margin-bottom: 0;}

.col-md-offset-6-right {float: right; width: 50%; margin-right: 50%;}
.col-md-6-right {width: 50%; margin-left: 50%;}

/* Dark background */
.bg-dark,
.bg-dark-15,
.bg-dark-30,
.bg-dark-45,
.bg-dark-60,
.bg-dark-90 {
	color: #fff;
}

.bg-dark {
	background: #0d1c1f;
}

.bg-dark-15:before {
	position: absolute;
	background: rgba(2, 2, 2, 0.2);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-dark-30:before {
	position: absolute;
	background: rgba(2, 2, 2, 0.4);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	mix-blend-mode: multiply;
}

.bg-dark-45:before {
	position: absolute;
	background: rgba(2, 2, 2, 0.45);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
	mix-blend-mode: multiply;
}

.bg-dark-60:before {
	position: absolute;
	background: rgba(0, 0, 0, 0.8);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-dark-90:before {
	position: absolute;
	background: rgba(34, 34, 34, 0.9);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-blur {position: relative;}
.bg-blur:before {
	content: '';
	background: inherit;
	-webkit-filter: blur(3px);
	-moz-filter: blur(3px);
	-o-filter: blur(3px);
	-ms-filter: blur(3px);
	filter: blur(3px);
	position: absolute;
	top: -3px;
	left: -3px;
	right: -3px;
	bottom: -3px;
	z-index: -1;
}

.bg-light {
	background: #ffffff;
}

.bg-gray {
	background: #fafafa;
}

.bg-light-45:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.45);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-light-60:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.6);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-light-70:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.7);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.bg-light-85:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.85);
	content: " ";
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}

.parallax-bg {
	background-attachment: fixed;
	background-size: cover;
}

/* Vertical margin, padding */
.p-0 {
	padding: 0 !important;
}

.pt-0 {
	padding-top: 0 !important;
}

.pt-10 {
	padding-top: 10px !important;
}

.pt-20 {
	padding-top: 20px !important;
}

.pt-30 {
	padding-top: 30px !important;
}

.pt-40 {
	padding-top: 40px !important;
}

.pt-50 {
	padding-top: 50px !important;
}

.pt-140 {
	padding-top: 140px !important;
}

.pb-0 {
	padding-bottom: 0 !important;
}

.pb-10 {
	padding-bottom: 10px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.pb-30 {
	padding-bottom: 30px !important;
}

.pb-40 {
	padding-bottom: 40px !important;
}

.pb-50 {
	padding-bottom: 50px !important;
}

.pb-140 {
	padding-bottom: 140px !important;
}

.m-0 {
	margin: 0 !important;
}

.mt-0 {
	margin-top: 0 !important;
}

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

.mt-20 {
	margin-top: 20px !important;
}

.mt-30 {
	margin-top: 30px !important;
}

.mt-40 {
	margin-top: 40px !important;
}

.mt-50 {
	margin-top: 50px !important;
}

.mt-60 {
	margin-top: 60px !important;
}

.mt-70 {
	margin-top: 70px !important;
}

.mt-80 {
	margin-top: 80px !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.mb-10 {
	margin-bottom: 10px !important;
}

.mb-15 {
	margin-bottom: 15px !important;
}

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

.mb-30 {
	margin-bottom: 30px !important;
}

.mb-40 {
	margin-bottom: 40px !important;
}

.mb-50 {
	margin-bottom: 50px !important;
}

.mb-60 {
	margin-bottom: 60px !important;
}

.mb-70 {
	margin-bottom: 70px !important;
}

.mb-80 {
	margin-bottom: 80px !important;
}
.btn_link a {
	display: block;
	background: #ffffff;
	width: 320px;
	color: #02215c;
	font-weight: bold;
	line-height: 3.5em;
	text-align: center;
	border-radius: 30px;
	border: 1px solid #02215c;
	border-bottom: 3px solid #02215c;
	box-sizing: content-box;
}
.btn_link a:before {
	display: inline-block;
	content: '\f080';
	font-family: 'Font Awesome 5 Free';
	font-size: 1.4em;
	font-weight: 900;
	vertical-align: middle;
	margin-right: 5px;
}

.intro_box {font-weight: 600; margin-bottom: 4em;}
.intro_box:after {display: block; content: ''; clear: both;}
.intro_box img {display: block; box-shadow: 0 5px 3px rgb(0 0 0 / 10%);}
.intro_box dl {
	font-size: 180%;
	font-weight: normal;
	margin-top: 1em;
}
.intro_box dl dt {
	font-size: 160%;
	font-weight: 600;
	margin-bottom: 0.75em;
}

#intro h4, #pr h4 {
	font-size: 270%;
	font-weight: 600;
	text-align: center;
	margin: 1.5em auto;
}

#price table, .price_table {
	background: #ffffff;
	width: 100%;
	font-size: 160%;
	table-layout: fixed;
	margin-top: 30px;
	border-collapse: collapse;
}
#price table th, #price table td, .price_table th, .price_table td {
	text-align: center;
	padding: 15px 20px;
	border: 1px solid #cccccc;
}
#price table th, .price_table th {
	background:rgba(238, 92, 65,0.065);
	color:rgba(238, 92, 65,1);
}
#price table td a, .price_table td a {
	display: block;
}
#price .caution_box dl dd p strong {
	font-size: 160%;
}
.bnr_center {
	margin: 1em auto;
	text-align: center;
}
.alert_box {
	background: #fff845;
	font-weight: 600;
	color: #ee5c41;
	text-align: center;
	padding: 10px 15px;
	border-radius: 5px;
}
.alert_box p {
	display: inline-block;
	font-size: 180%;
	position: relative;
}
.alert_box p:before, .alert_box p:after {
	display: inline-block;
	content: '\f071';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	position: absolute;
	top: 1em;
}
.alert_box p:before {left: -3em;}
.alert_box p:after {right: -3em;}
.alert_box p:last-child {
	margin-bottom: 0;
}
.txt_caution {text-align: center; margin-top: 1em;}
#price .txt_caution ul {font-size: 110%; text-align: left;}
#price .txt_caution ul li div:nth-child(2) {margin-left: 0.5em;}
#price .txt_caution dl {text-align: left;}
#price .txt_caution dl dt {margin-bottom: 0.5em;}
canvas {display: block !important; width: 100% !important; height: auto !important;}
.txt_caution {clear: both; position: relative;}
.txt_caution p {font-size: 14px;}
.txt_wh {color: #ffffff !important;}
.case_experience::before, .case_amount::before {
	display: inline-block;
	content: '';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	margin-right: 3px;
}
#price h4 {
	font-size: 240%;
	text-align: center;
	margin: 3em auto 2em auto;
}
#price h4 small {
	display: block;
	margin-bottom: 5px;
}
#price p a, #price td a, .price_table a {
	font-weight: 600;
	color: #ee5c41;
	text-decoration: underline;
}
#price a:hover, .price_table a:hover {
	text-decoration: none;
}
#price .caution_box.bg-caution {
	background: rgba(238, 92, 65, 0.05);
	padding: 45px 30px 30px 30px;
}
#price .caution_box dl dt strong {
	display: block;
	font-size: 200%;
	margin-bottom: 30px;
}
.step_list li {
	flex: 1;
	position: relative;
}
.step_list li:after {
	display: block;
	font-family: "FontAwesome";
	font-size: 200%;
	content: "\f138";
	font-weight: 900;
	position: absolute;
	top: 88px;
    right: -1.25em;
}
.step_list li:last-child:after {
	display: none;
}
.step_list li dl {
	font-weight: normal;
}
.step_list li dl dt span {
	display: block;
	background: #000;
	color: #fff;
	padding: 5px 15px;
	margin-bottom: 15px;
	border-radius: 3px;
}
.step_list li dl dt img {
	display: block;
	max-width: 332px;
	min-height: 130px;
    object-fit: cover;
	margin: 10px auto 20px auto;
	border: 1px solid #ddd;
}

#start {
	background-color: rgba(255, 255, 255, 1); background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, rgba(254, 251, 242, 1) 10px, rgba(254, 251, 242, 1) 20px );
	margin-top: 0;
	padding-top: 0;
}
#start .title_bg {
	background-image: url(../images/bg_start.webp);
	background-repeat: no-repeat;
	background-position: 50% 65%;
	position: relative;
}
#start .title_bg h2 {
	display: table;
	width: 100%;
	color: #fff;
	text-align: center;
	line-height: 1.5em;
	min-height: 300px;
	margin: 0;
	padding: 0;
	position: relative;
}
#start .title_bg h2 span {
	display: table-cell;
	vertical-align: middle;
}
#start .col-sm-6 {position: relative;}
#start .col-sm-6 h3 {
	color: rgba(238, 92, 65,1);
}
#start .col-sm-6 p strong {
	color: rgba(238, 92, 65,1);
}
#start h4 {
	font-weight: 600;
	font-size: 230%;
	text-align: center;
	margin-bottom: 1em;
}
#start .col-sm-6 h4 {
	text-align: left;
}
#start h4 span {
	display: inline-block;
	background: linear-gradient(135deg, #ffffff 0%,#fefefe 50%,#ededed 51%,#ffffff 100%);
	font-size: 200%;
	width: 2em;
	height: 2em;
	line-height: 1.8em;
	color: rgba(238, 92, 65,1);
	border-radius: 50%;
	border: 6px solid rgba(238, 92, 65,1);
}
#start .img_start {
	display: block;
	border: 6px solid #fff;
	box-shadow: 0 0 6px rgb(0 0 0 / 50%);
	transform: rotate(3deg);
	margin-bottom: 3em;
}
#start .img_fukidashi, #start .img_notice {position: absolute; z-index: 2;}
#start .img_fukidashi {
	top: 2%;
	left: -3%;
	transform: scale(-1, 1);
}
#start .img_notice {
	top: 8%;
	right: 18%;
}
#start .cta {margin-top: 60px;}
.start_support {
	margin: 10em auto 5em auto !important;
	position: relative;
}
.start_support:before {
	display: block;
	background: linear-gradient(135deg, rgba(238, 92, 65,1) 0%,#f16f5c 50%,#f6290c 51%,#f02f17 71%,#e73827 100%);
	width: 2em;
	height: 2em;
	content: '＆';
	font-size: 400%;
	font-weight: 600;
	color: #fff;
	text-align: center;
	position: absolute;
	top: calc(50% - 1em);
	left: calc(50% - 1em);
	padding-top: 0.25em;
	border-radius: 50%;
	z-index: 2;
}
.start_support > div {
	background: #fff;
	width: 48%;
	font-weight: 600;
	text-align: center;
	border: 4px solid; border-top-left-radius: 7px; border-top-right-radius: 7px; overflow: hidden;
}
.start_support > div dl dt {
	display: table;
	width: 100%;
	text-align: center;
	padding: 10px 15px;
	min-height: 98px;
}
.start_support > div dl dd img {
	display: block;
	width: auto;
	max-height: 300px;
	margin: 2em auto;
}
.start_support > div dt span {display: table-cell; width: 100%; vertical-align: middle;}
.start_support > div:nth-child(1) {border-color: #fad47f;}
.start_support > div:nth-child(1) dl dt {background: #fad47f;}
.start_support > div:nth-child(2) {border-color: #f7c8c9;}
.start_support > div:nth-child(2) dl dt {background: #f7c8c9;}
.img_480 {display: block; max-width: 480px; margin: 0 auto 2em auto;}
#kouza_table {
	position: relative;
}
#kouza_table .img_kouza {
	position: absolute;
	bottom: -10%;
	right: -5%;
	z-index: 2;
}
#kouza_contents {
	width: 100%;
	background: #fff;
	font-size: 140%;
	border: 4px solid rgba(238, 92, 65,1);
	border-collapse: collapse;
}
#kouza_contents tr th, #kouza_contents tr td {padding: 30px 20px; border: 1px solid rgba(238, 92, 65,0.35); white-space: nowrap:}
#kouza_contents tr th {background: linear-gradient(to bottom, rgba(238, 92, 65,1) 0%,#f16f5c 50%,#f6290c 51%,#f02f17 71%,#e73827 100%); color: #fff; font-weight: 600; text-align: center; border: 1px solid rgba(255,255,255,0.35);}
#kouza_contents tr td:nth-child(2) {background: rgba(238, 92, 65,0.075); color: rgba(238, 92, 65,1); font-weight: 600; text-align: center;}

.title_fuwafuwa {
	font-size: 230%;
	font-weight: 600;
	text-align: center;
	margin: 2em auto;
	animation: fuwafuwa 2s infinite;
}
.title_fuwafuwa span {
	background: #fff;
	color: rgba(238, 92, 65,1);
	padding: 20px 45px;
	border-radius: 45px;
	border: 3px solid rgba(238, 92, 65,1);
	position: relative;
}
.title_fuwafuwa span:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid rgba(238, 92, 65,1);
}
@keyframes fuwafuwa {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0px);
  }
}

#pr {
	position: relative;
}
#pr .pr_box {
	margin-top: 60px;
}
#pr .pr_box li {
	background: #ffffff;
	margin-bottom: 3em;
	padding: 3em;
	border-top: 5px solid #2c2c2c;
	position: relative;
	overflow: hidden;
}
#pr .pr_box li:last-child {
	margin-bottom: 0;
}
#pr .pr_box li:after {
	display: block;
	content: '';
	clear: both;
}
#pr .pr_box li > span {
	display: block;
	width: 320px;
	float: left;
}
#pr .pr_box li img {
	height: 200px;
	width: 320px;
	object-fit: cover;
	border-radius: 10px;
}
#pr .pr_box li div {
	width: calc(100% - 350px);
	float: right;
}
#pr .pr_box li div span strong {
	display: inline-block;
	vertical-align: middle;
	font-size: 180%;
	font-weight: 600;
	color: #ee5c41;
	border-left: 10px solid rgba(238, 92, 65,0.35);
	padding-left: 0.5em;
	position: relative;
}
#pr .pr_box li strong::before {
	display: block;
	content: '';
	width: 5px;
	background: rgba(238, 92, 65,0.65);
	height: -webkit-fill-available;
	position: absolute;
	left: -10px;
	top: 0;
}
#pr .pr_box li div span {
	display: block;
	text-align: left;
	margin: 0 0 1.5em 0;
	overflow: hidden;
}
#pr .pr_box li p {
	margin-bottom: 0.75em;
}
#pr .pr_box li > div > span small {
	display: inline-block;
	background: rgba(238, 92, 65, 0.15);
	padding: 0 7px;
	margin-left: 15px;
	border-radius: 3px;
}
#pr .pr_box li p:last-child {
	margin-bottom: 0;
}
#pr .pr_box li:before {
	display: block;
	content: '';
	background:rgba(238, 92, 65,0.85);
	width: 8em;
	height: 8em;
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 600;
	color: #ffffff;
	text-align: center;
	line-height: 13.8em;
	letter-spacing: 0;
	transform: rotate(-45deg);
	position: absolute;
	top: -4em;
	left: -4em;
}
#pr .pr_box li:nth-child(1):before {
	content: '実例 01';
}
#pr .pr_box li:nth-child(2):before {
	content: '実例 02';
}
#pr .pr_box li:nth-child(3):before {
	content: '実例 03';
}
#pr .pr_box li:nth-child(4):before {
	content: '実例 04';
}
#pr .pr_box li:nth-child(5):before {
	content: '実例 05';
}
#pr .pr_box li:nth-child(6):before {
	content: '実例 06';
}
.img_center {
	margin: 0 auto;
	text-align: center;
}

#case {
	background-image: url(../images/bg_case.webp);
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
}
#case:before {
	display: block;
	background: rgba(255,255,255,0.8);
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#case h2 {
	color: #ee5c41 !important;
	font-weight: bold !important;
	text-align: center;
	margin: 1.5em auto;
}
#case h2 small {display: block; color: #ffffff; font-weight: bold; margin-bottom: 5px;}
#case h2 span {font-family: 'Josefin Sans', sans-serif;}
#case h2:before, #case h2:after {
	display: none;
}
#case .bg_case {
	width: 46%;
	background: rgba(255,255,255,1);
	text-align: left;
	font-weight: normal;
	padding: 45px 30px;
	margin: 0 auto 4% auto;
	border-radius: 5px;
	box-shadow: 0 0 7px rgb(241 129 109 / 80%);
	align-items: stretch;
	position: relative;
	overflow: hidden;
}
#case .bg_case p {
	font-size: 18px;
}
#case .bg_case p:last-child {
	margin-bottom: 0;
}
#case .bg_case:after {
	display: block;
	content: '';
	clear: both;
}
#case .case_title {
	text-align: center;
	font-weight: 600;
	font-size: 140%;
	letter-spacing: 1px;
	color: rgba(238, 92, 65,1);
	margin-bottom: 15px;
}
#case .case_info {
	font-weight: 600;
	font-size: 110%;
	line-height: 1.4em;
	color: #777;
	text-align: center;
	margin-top: 15px;
}
#case .case_info span {
	display: block;
}
#case .case_txt h4 {
	font-weight: bold;
	font-size: 24px;
	color:rgba(238, 92, 65,1);
	text-align: center;
	padding: 5px 15px;
	margin: 1em 0;
	border: 2px solid rgba(238, 92, 65,0.35);
	border-radius: 5px;
}
#case .case_txt img {
	display: block;
	max-height: 240px;
	margin: 0 auto;
}
#case .case_list li {
	width: 96%;
	background: #fff;
	padding: 30px;
	margin: 0 2% 4% 2%;
	border: 4px solid rgba(238, 92, 65,1);
	border-radius: 5px;
}
#case .case_list li .case_txt:after {
	display: block;
	content: '';
	clear: both;
}
#case .case_list .case_txt h4 {
	background: rgba(238, 92, 65,1);
	font-size: 200%;
	color: #fff;
	text-align: left;
	padding: 15px 30px;
	position: relative;
}
#case .case_list .case_txt h4:before {
	  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
	border-right: 15px solid rgba(238, 92, 65,1);
}
#case .case_list .case_txt img {
	max-height: 290px;
	border-radius: 50%;
	border: 6px solid rgba(238, 92, 65,0.35);
}
#case .case_list .case_txt .case_img {width: 270px; float: left;}
#case .case_list .case_contents {width: calc(100% - 315px); float: right;}
#case .case_txt table {
	width: 100%;
	font-size: 15px;
	background:rgba(238, 92, 65,0.085);
	border-collapse: collapse;
	margin-bottom: 15px;
	border-radius: 5px;
}
#case .case_txt table td {
	line-height: 1em;
	padding: 7px 15px;
}
#case .case_txt table td span {
	color:rgba(238, 92, 65,1);
	font-weight: bold;
	line-height: 1em;
}

.flex_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: space-between;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.flex_list li {
	font-weight: 600;
	text-align: center;
	margin: 0 2%;
	padding: 0;
}
#negative {
	position: relative;
}

.check_list li {
	width: 32%;
	background: rgba(238, 92, 65,0.05);
	font-weight: bold;
	text-align: left;
	line-height: 1.5em;
	margin: 2% 0;
	padding: 20px !important;
	border: 3px solid rgba(238, 92, 65,1);
	box-sizing: border-box;
	border-radius: 5px;
}
.check_list li img {
	display: block;
	width: 100%;
	max-width: 320px;
	height: 180px;
	object-fit: cover;
	margin: 0 auto 15px auto;
}
.check_list li small {
	display: block;
	font-size: 100%;
	color: #ee5c41;
	text-align: left;
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
}
.check_list li div {
	position: relative;
}
.check_list li div:before {
	display: inline-block;
	padding-right: 5px;
	font-family: "FontAwesome";
	content: "\f00c";
	font-weight: 900;
}

#business {
	position: relative;
}
#business table th small {color: #777777;}
#business table td small {display: inline-block; color: #757575; margin-top: 5px; letter-spacing: 0;}

/* Scroll to top */
.scroll-up {
	position: fixed;
	display: none;
	bottom: 7px;
	right: 7px;
	z-index: 999;
}

.scroll-up a {
	background: #fff;
	display: block;
	height: 28px;
	width: 28px;
	text-align: center;
	line-height: 28px;
	font-size: 18px;
	color: #000;
	opacity: 0.6;
	border-radius: 2px;
}

.scroll-up a:hover,
.scroll-up a:active {
	opacity: 1;
	color: #000;
}

.txt_wh, .txt_wh a, .txt_white {color: #fff !important;}
.txt_wh small {color: #fff !important; font-size: 18px;}

.txt_gray {color: #999999;}

.btn_top, .btn_other {margin: 0 auto; text-align: center;}
.btn_top, .btn_top a, .btn_other, .btn_other a {font-weight: bold;}
.btn_top span, .btn_other span {
	display: inline-block;
	font-size: 24px;
	margin-bottom: 5px;
	line-height: 1.9em;
}

/*--------------------------------------------------------------
	Buttons
--------------------------------------------------------------*/
.btn {
	border-radius: 0;
	letter-spacing: 2px;
	font-size: 24px;
	padding: 16px 37px;
}

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
	outline: 0;
}

.btn.btn-round {
	border-radius: 2px;
}

.btn.btn-circle {
	border-radius: 45px;
}

.btn.btn-w {
	background: rgba(255, 255, 255, 0.8);
	color: #0d1c1f;
}

.btn.btn-w:hover,
.btn.btn-w:focus {
	background: white;
	color: #0d1c1f;
}

.btn.btn-g {
	background: #e5e5e5;
	color: #0d1c1f;
}

.btn.btn-g:hover,
.btn.btn-g:focus {
	background: #d8d8d8;
	color: #0d1c1f;
}

.btn-warning {
	font-size: 180%;
	background: #eea236;
	border-color: #eea236;
}

.btn.btn-border-w {
	background: #efefef;
	border: 1px solid rgba(255, 255, 255, 0.75);
	color: #0d1c1f;
	font-size: 180%;
}
.btn.btn-border-o {
	width: 70%;
	background: #fff600;
	border-bottom: 4px solid #a9a300;
	color: #d83d00;
	font-size: 30px;
	line-height: 0;
	padding-bottom: 0 !important;
}

.btn.btn-border-w:hover,
.btn.btn-border-w:focus {
	background: #fff;
	border-color: transparent;
	color: #0d1c1f;
}
.btn.btn-border-o:hover,
.btn.btn-border-o:focus {
	background: #23ac38 !important;
	border-bottom: 4px solid #23ac38 !important;
	color: #fff !important;
	box-shadow:0px 5px 3px 1px #0d1c1f;
	transition: .9s;
}

.btn.btn-d {
	background: rgba(17, 17, 17, 0.8);
	color: #fff;
}

.btn.btn-d:hover,
.btn.btn-d:focus {
	background: #0d1c1f;
}

.btn.btn-b {
	background: #0d1c1f;
	color: #fff;
}

.btn.btn-b:hover,
.btn.btn-b:focus {
	background: rgba(17, 17, 17, 0.8);
}

.btn-border-d {
	background: transparent;
	border: 1px solid #0d1c1f;
	color: #0d1c1f;
}

.btn.btn-border-d:hover,
.btn.btn-border-d:focus {
	background: #0d1c1f;
	color: #fff;
}

/*--------------------------------------------------------------
	Typography
--------------------------------------------------------------*/
a {
	color: #0d1c1f;
}

a:hover, a:focus {
	text-decoration: none;
	color: #aaa;
	outline: 0;
}

.bg-price {
	background: #fff600;
}

.bg-dark a {
	color: #aaa;
}

.bg-dark a:hover, .bg-dark a:focus {
	color: #fff;
}

h1, h2, h3, h4, h5, h6 {
	line-height: 1.4;
	font-weight: 400;
}

p, ol, ul, blockquote {
	margin: 0 0 20px;
}

h1, h2, h3, h4, h5, h6, .navbar-custom .nav li > a, .fl_left, .fl_right {
	transform: rotate(.03deg);
}

.box-shadow {box-shadow: 0 0 4px rgba(0,0,0,0.3) inset;}
.highlight {
 display: inline !important;
 background: linear-gradient(transparent 60%, rgba(255, 248, 69, 0.5) 60%);
 font-weight: bold;
 line-height: 1.7em;
}

.txt_highlight {
 color: #f6ee41;
 font-size: 160%;
 font-weight: bold;
}

.txt_highlight {
	position: relative;
	line-height: 1em;
	padding: 0.15em 0.45em;
	margin: 0 0.5em;
}

.txt_highlight:before, .txt_highlight:after{ 
	content:'';
	width: 10px;
	height: 15px;
	position: absolute;
}

.txt_highlight:before{
	border-left: solid 1px #f6ee41;
	border-top: solid 1px #f6ee41;
	top:0;
	left: 0;
}

.txt_highlight:after{
	border-right: solid 1px #f6ee41;
	border-bottom: solid 1px #f6ee41;
	bottom:0;
	right: 0;
}
.company_box {margin: 3em 0 5em 0;}
.company_box h3 {margin-bottom: 2em;}
.company_box table {width: 100%; font-size: 16px; margin: 0;}
.company_box table tr {border-bottom: 1px dotted #dddddd; margin-bottom: 10px;}
.company_box table th {width: 20%;}
.company_box table th, .company_box table td {font-weight: normal; padding: 15px 0;}
.company_box table td ul {font-size: 110%; margin: 15px 0 0 0;}
.company_box img {display: block; margin: 0 auto 10px auto;}
.company_box .txt_caution p {color: #777;}

#business .bg_bk {
	background: rgba(0,0,0,0.85);
	color: #ffffff;
	font-weight: 600;
	padding: 3em 4em 2em 3em;
	position: relative;
}
#business .bg_wh {
	background: #ffffff;
	padding: 2em 3em;
	top: 3em;
	right: 3em;
	position: relative;
}
#business .bg_wh table {
	position: relative;
}
#business .bg_bk p:last-child {
	margin-bottom: 0;
}
.bg_wh table tr:last-child {
	border: none;
}
#business .bg_wh table tr:last-child th, #business .bg_wh table tr:last-child td {
	margin-bottom: 0;
	padding-bottom: 0;
}
#business .bg_bk::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background-size: 100%;
	background: url(../images/img_company.webp) no-repeat;
	background-size: 50%;
	position: absolute;
	top: 0;
	left: 40%;
	opacity: 0.25;
}
#business .bg_wh::after {
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	background: #cccccc;
	mix-blend-mode: multiply;
	position: absolute;
	top: 3em;
	left: 3em;
	z-index: -1;
}

#form-area {position: relative;}

/*--------------------------------------------------------------
	Footer
--------------------------------------------------------------*/
#contact h4 {font-weight: 600;}
.caution_box {
	text-align: center;
	color: #444444;
}
#contact .txt_send p {
	margin-bottom: 1em;
}
#contact p {
 text-align: center;
}
#contact .policy_box p {text-align: left; font-weight: normal;}
.policy_box h3 {text-align: center;}
.policy_area a {color: #000a29; text-decoration: underline;}
.caution_box dl dt {
	font-size: 100%;
	margin-bottom: 1.3em;
}
.hissu {
	display: inline-block;
	background: rgba(16, 71, 121, 1);
	border: 1px solid rgba(16, 71, 121, 1);
	color: #ffffff !important;
	font-weight: 600;
	line-height: 1em;
	padding: 5px 10px 3px 10px !important;
	margin-left: 1em;
}
dl dd p:last-child {margin-bottom: 0;}
.caution_box dl dd ul li {
	font-size: 100%;
	list-style-type: none;
	line-height: 1.6em;
}

.footer {
	padding: 0;
	position: relative;
}

.footer h3 {margin: 50px auto;}
.policy_box h3 {margin-top: 0;}
.fnav {text-align: center;}
.fnav li {display: inline-block; color: #ddd; text-align: center; margin: 15px 0; position: relative:}
.fnav li:first-child:after {display: inline-block; color: #ddd; content: '|'; padding: 0 30px;}
.fnav li a {color: #ddd;}
.footer .copyright {
	background: #000000;
	font-size: 14px;
	padding-top: 65px;
	padding-bottom: 20px;
	margin: 0;
	text-align: center;
}
.footer .copyright div {
	color: #ffffff;
	text-align: left;
}
.footer .copyright div span {
	display: block;
}
.footer .copyright div span.txt_footer {
	margin-top: 8px;
}
.footer .copyright address {
	clear: both;
	text-align: center;
}
.footer .copyright::after {
	display: block;
	content: '';
	clear: both;
}
.footer .footer_logo {
	display: block;
	clear: both;
	margin: 0 auto;
	text-align: center !important;
}
.footer .footer_logo img {
	width: auto;
	height: 30px;
}
.footer .footer_link ul {
	float: left;
	padding: 7px 10px;
	font-size: 14px;
	line-height: 1.8em;
	list-style-type: none;
	border-left: 1px dotted #cccccc;
}

.footer .footer-social-links {
	text-align: right;
}

.footer .footer-social-links a {
	display: inline-block;
	padding: 0 6px;
}

#form .footer {
	display: table;
	width: 100%;
	min-height: 100vh;
	position: relative;
}
#form #contact {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	display: table-cell;
	vertical-align: middle;
	padding-bottom: 146px;
}
#form .footer .copyright {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	margin: 0;
}

hr {display: block; float: none; clear: both; border: none;}

.fl_left {float: left; width: 48%;}
.fl_right {float: right; width: 48%;}
.txt_140,p#txt_kakunin {font-size: 160%; font-weight: 900; line-height: 1.8em;}

/*--------------------------------------------------------------
	Responsive Styles - Media Queries
--------------------------------------------------------------*/
.navbar-custom .dropdown-menu {
	position: absolute;
	display: block;
	visibility: hidden;
	opacity: 0;
}
.navbar-custom .open > .dropdown-menu {
	visibility: visible;
	opacity: 1;
}
.navbar-custom .dropdown-menu .dropdown-toggle:after {
	position: absolute;
	display: block;
	right: 9px;
	top: 50%;
	margin-top: -6px;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: 11px;
	content: "\f105";
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.navbar-fixed-top {
	background: #ffffff;
	width: 100%;
	position: fixed;
	top: 0;
	box-shadow: 0 2px 2px 1px rgb(0 0 0 / 20%);
}
.navbar-collapse.collapse {position: relative;}
.navbar-fixed-top .navbar-collapse.collapse::before {
	display: block;
	background: #2c2c2c;
	content: '';
	width: 100%;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.navbar-fixed-top #head_logo a {
	height: auto !important;
}
.navbar-transparent {
	border: none !important;
}
.navbar-transparent .navbar-collapse.collapse::before {
	display: none;
}
	.navbar-right .dropdown-menu {
	right: auto;
	left: 0;
	}
	/* Comments */
	.comment .comment {
	margin-left: 75px;
	}
	
	.col-sm-3 {width: 33%;}
	.col-sm-4 {width: 25%;}
	
hr {padding: 30px 0; border-bottom: 4px double #dddddd;}
.cv_area {margin: 60px auto 30px auto;}
	
@media (max-width: 991px) {
.only_tab {display: block !important;}
	.mt-sm-0 {
	margin-top: 0 !important;
	}
	.mt-sm-10 {
	margin-top: 10px !important;
	}
	.mt-sm-20 {
	margin-top: 20px !important;
	}
	.mt-sm-30 {
	margin-top: 30px !important;
	}
	.mt-sm-40 {
	margin-top: 40px !important;
	}
	.mt-sm-50 {
	margin-top: 50px !important;
	}
	.mt-sm-60 {
	margin-top: 60px !important;
	}
	.mt-sm-70 {
	margin-top: 70px !important;
	}
	.mt-sm-80 {
	margin-top: 80px !important;
	}
	.mb-sm-0 {
	margin-bottom: 0 !important;
	}
	.mb-sm-10 {
	margin-bottom: 10px !important;
	}
	.mb-sm-20 {
	margin-bottom: 20px !important;
	}
	.mb-sm-30 {
	margin-bottom: 30px !important;
	}
	.mb-sm-40 {
	margin-bottom: 40px !important;
	}
	.mb-sm-50 {
	margin-bottom: 50px !important;
	}
	.mb-sm-60 {
	margin-bottom: 60px !important;
	}
	.mb-sm-70 {
	margin-bottom: 70px !important;
	}
	.mb-sm-80 {
	margin-bottom: 80px !important;
	}
	/* Navbar */
	.navbar-custom {
	letter-spacing: 0;
	}
	.navbar-header h1 {margin: 10px 15px 0 15px; padding: 0;}
	.navbar-header h1 span {display: none;}
	#head_logo {position: relative; top: -15px; margin: 0;}
	#head_logo a {height: auto !important;}
	.navbar-transparent .nav li > a {padding-left: 7px;}
	.only_pad {display: block !important;}
	 .col-md-6-right, .col-md-offset-6-right {width: 100%; float: none; margin-left: 0;}
	#case .case_list .case_txt .case_img, #case .case_list .case_contents {
		width: 100%;
		float: none;
	}
	#case .case_list .case_txt h4 {font-size: 140%; text-align: center;}
	#case .case_list .case_txt h4:before {display: none;}
	#case .case_list .case_txt h4:after {
		content: "";
		position: absolute;
		top: -30px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid rgba(238, 92, 65,1);
	}
	#case .case_list .case_txt img {height: 290px;}
}

@media (max-width: 767px) {
	#head_logo {float: none;}
	.navbar-header h1 {font-size: 14px; margin-top: 10px;}
	.navbar-fixed-top .navbar-collapse {max-height: inherit !important;}
	.navbar-transparent {border: none !important;}
	.nav li > a {font-weight: 600 !important; font-size: 18px !important; line-height: 5em !important;}
	.navbar-transparent .nav li > a {padding-left: 20px;}
	.navbar-collapse.in {width: 100%; background: rgba(255,255,255,0.9); border-top: 1px solid #cccccc; margin: 0; padding: 0; position: relative; overflow: hidden;}
	.navbar-custom .navbar-toggle .icon-bar {width: auto; margin: 5px auto; background: #2c2c2c;}
	.navbar-custom .navbar-toggle .menu_txt {display: block; font-family: 'Josefin Sans', sans-serif; margin-top: 3px;}
	.navbar-toggle {width: auto; color: #2c2c2c !important; z-index: 999999; margin-bottom: 0;}
	.navbar-fixed-top .container::before {
	display: block;
	background: #2c2c2c;
	content: '';
	width: calc(100% - 30px);
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 15px;
}
	.navbar-transparent .container::before {display: none;}
	.home-section::after {border-width: 8px;}
	#mainImg {width: 100%; height: 100vh;}
	#mainImg_txt {width: 95%; margin: 0 auto; display: table-cell; vertical-align: middle;}
	.bgLRextend::before {display: block; width: 100%;}
	
	.bg-light-45:before {background: rgba(255, 255, 255, 0.8);}
	#mainImg_txt .flex_list li {width: 100% !important;}
	#img_mainImg {right: -75%; top: 0;}
	#img_mainImg img {max-width: 75%;}
	
	#mainImg_txt h2 {font-size: 40px; line-height: 1.5em; letter-spacing: 0.5px;}
	#mainImg_txt h2 strong {font-size: 40px;}
	#mainImg_txt h2 .txt_small {line-height: 1.35em;}
	#mainImg_txt h2 .txt_xsmall {font-size: 24px; line-height: 1.5em;}
	#mainImg_txt h2 .txt_xsmall br {display: none;}
	#mainImg_txt .col-sm-6 {width: 100%;}
	#mainImg_txt p br {display: none;}
	#mainImg_txt div p {letter-spacing: 0.5px;}
	#mainImg_txt div p:last-child {margin-bottom: 0;}
	#mainImg_txt .only_sp {display: inline-block !important; position: relative;}
	#mainImg_txt .only_sp:before {display: inline-block; content: ''; padding-left: 0.35em;}
	.header_list li {width: 100% !important; margin: 2% 0; padding: 0;}
	.header_list li div.header_list_inner {width: 90vw;}
	.header_list li div.header_list_inner br, #pr .pr_box li div p br, #case .case_txt h4 br {display: none;}
	.header_list li div img {top: 0;}
	
	.cta .flex_list li, button {width: 100%; margin: 0 auto;}
	.cta .flex_list li:last-child {margin-top: 30px;}
	button a {line-height: 2.75em;}
	.flex_list, .flex_list li, .check_list {width: 100%;}
	.flex_list li:last-child {margin-bottom: 0 !important;}
	.check_list li {text-align: left; font-size: 18px; margin-bottom: 4%;}
	.check_list li br {display: none;}
	.h2, h2, section h3.title_brd, #intro h4, #price h4, #start .col-sm-6 h3, #start .col-sm-6 h4, #pr h4, button a {font-size: 30px;}
	section h3.title_brd br, #intro h4 br, #pr h4 br, #case h2 br {display: none;}
	.intro_box dl {font-size: 130%; text-align: center;}
	.intro_box img {margin-bottom: 1.75em;}
	.intro_box p {font-size: 16px;}
	.intro_box p br {display: none;}
	#case .case_txt h4 {font-size: 130%; padding: 10px 15px;}
	#case .case_txt img {height: 180px;}
	#start .col-sm-6 h3, #start .col-sm-6 h4 {text-align: center;}
	#start p br {display: none;}
	#start .img_start {max-width: 320px; margin: 2em auto 0 auto;}
	#start h4 {font-size: 24px; position: relative; z-index: 2;}
	#kouza_contents tr th, #kouza_contents tr td {display: block; text-align: center; padding: 20px;}
	#kouza_contents tr th {font-size: 120%; padding: 10px 20px;}
	#kouza_table .img_kouza {max-width: 143px; position: absolute; bottom: auto; top: -18%; left: -8%; z-index: 0;}
	.start_support, .start_support > div {display: block !important;}
	.start_support > div {width: 100%; margin-bottom: 3.5em;}
	.start_support > div dl dt {padding: 15px; min-height: auto;}
	.start_support > div dt span {line-height: 1.7em;}
	.start_support > div dt span br {display: none;}
	.start_support:before {font-size: 300%; top: calc(50% - 1.25em);}
	.title_fuwafuwa span {font-size: 24px;}
	#pr .pr_box li div span strong {font-size: 130%;}
	#pr .pr_box li > div > span small {font-size: 100%; margin-top: 15px; margin-left: 0;}
	.caution_box ul, .caution_box ul li {text-align: left;}
	.sub-page .main {padding-top: 50px;}
	.contents {margin-bottom: -230px;}
	.contents:before {background-size: 50%;}
	.contents img {width: 80%;}
	#faq dl dt, #faq dl dd {margin-right: 0;}
	.company_box {margin: 0;}
	.company_box:fist-child {margin-top: 3em;}
	.company_box table {width: 100%; margin: 0 auto;}
	.company_box table th, .company_box table td {letter-spacing: 0;}
	#mainImg_txt .main_txt {text-align: left; margin-bottom: 1.7em;}
	#mainImg_txt .main_txt p br {display: none;}
	#mainImg_txt .btn.btn-border-o {font-size: 280%;}
	.mainImg_tel_txt span	{font-size: 150% !important;}
	.mainImg_tel_txt .btn {font-size: 300% !important;}
	#btn_scroll a {left: calc(50% - 2em);}
	#pr .pr_box li {padding: 2em; margin-bottom: 2em;}
	#pr .pr_box li span {display: block; float: none; width: 100%; margin: 0 auto 2em auto; text-align: center;}
	#pr .pr_box li div {float: none; width: 100%;}
	#pr .pr_box li div p {margin-bottom: 1em;}
	#pr .pr_box li div p:last-child {margin-bottom: 0;}
	.step_list li {margin-bottom: 4em;}
	.step_list li:after {content: "\f13a"; top: auto; bottom: -1em; right: calc(50% - 0.5em);}
	#price .caution_box dl dd p strong, #price table, .price_table {font-size: 120%;}
	#price .caution_box dl dt strong {font-size: 160%;}
	#price .caution_box dl dd p {text-align: left;}
	#price .caution_box dl dd p strong, #price table, .price_table {font-size: 140%;}
	#price .caution_box dl dd p br, #price .caution_box dl dd p strong br {display: none;}
	#contact p {text-align: left;}
	#contact p br {display: none;}
	
	.alert_box p br {display: none;}
	.main section br {display: none;}
	#case .bg_case {
	width: 90% !important;
	margin-left: 5%;
	margin-right: 5%;
	margin-bottom: 30px;
	padding: 20px;
	}
	#case .flex_list .bg_case:last-child {margin-bottom: 0;}
	#case .bg_case:last-child {margin-bottom: 30px !important;}
	.txt_caution {text-align: left;}
	
	.menu_txt {text-align: center; font-size: 100%;}
	.mt-xs-0 {
	margin-top: 0 !important;
	}
	.mt-xs-10 {
	margin-top: 10px !important;
	}
	.mt-xs-20 {
	margin-top: 20px !important;
	}
	.mt-xs-30 {
	margin-top: 30px !important;
	}
	.mt-xs-40 {
	margin-top: 40px !important;
	}
	.mt-xs-50 {
	margin-top: 50px !important;
	}
	.mt-xs-60 {
	margin-top: 60px !important;
	}
	.mt-xs-70 {
	margin-top: 70px !important;
	}
	.mt-xs-80 {
	margin-top: 80px !important;
	}
	.mb-xs-0 {
	margin-bottom: 0 !important;
	}
	.mb-xs-10 {
	margin-bottom: 10px !important;
	}
	.mb-xs-20 {
	margin-bottom: 20px !important;
	}
	.mb-xs-30 {
	margin-bottom: 30px !important;
	}
	.mb-xs-40 {
	margin-bottom: 40px !important;
	}
	.mb-xs-50 {
	margin-bottom: 50px !important;
	}
	.mb-xs-60 {
	margin-bottom: 60px !important;
	}
	.mb-xs-70 {
	margin-bottom: 70px !important;
	}
	.mb-xs-80 {
	margin-bottom: 80px !important;
	}
	.col-md-offset-6-right, .col-md-6-right {float: right; width: 100%; margin-right: 0; margin: 0;}
	.side-image-text {padding: 30px 15px;}

	/* Navbar */
	.only_pc {display: none !important;}
	.only_sp {display: block !important; line-height: 0;}
	.kv {margin-top: 0; background-position: 60%;}
	.font-alt span, #reason h4 span {display: block;}
	.navbar-custom .navbar-nav {
	letter-spacing: 0;
	margin-top: 0;
	margin-bottom: 0;
	background: rgba(255, 255, 255, 0.9);
	}
	.navbar-custom .nav li > a {color: #0d1c1f;}
	.navbar-custom li > a:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	}
	.navbar-custom .navbar-nav .open .dropdown-menu .dropdown-header,
	.navbar-custom .navbar-nav .open .dropdown-menu > li > a {
	padding: 10px 25px;
	}
	.navbar-custom .navbar-nav .open .dropdown-menu .dropdown-menu .dropdown-header,
	.navbar-custom .navbar-nav .open .dropdown-menu .dropdown-menu > li > a {
	padding: 10px 35px;
	}
	.navbar-custom li a,
	.navbar-custom .dropdown-search {
	border-bottom: 1px solid rgba(73, 71, 71, 0.15) !important;
	}
	.navbar-custom .dropdown-toggle:after,
	.navbar-custom .dropdown-menu .dropdown-toggle:after {
	right: 7%;
	content: "\f105";
	}
	.navbar-custom .nav > .open > .dropdown-toggle:after,
	.navbar-custom .dropdown-menu .dropdown.open .dropdown-toggle:after {
	right: 7px;
	content: "\f106";
	}
	.navbar-toggle .icon-bar {text-align: center; margin: 0 auto;}
	.parallax-bg {background-attachment: inherit !important;}
	.post.mb-0 {
	margin-bottom: 40px !important;
	}
	.copyright {width: 100%; margin: 0 auto; padding-bottom: 60px;}
	.footer-social-links {
	text-align: center;
	margin: 10px 0;
	}
	.align-center-sm {
	text-align: center;
	}
	.align-left-sm {
	text-align: left;
	}
	
.bg-light-60:before {
	position: absolute;
	background: rgba(255, 255, 255, 0.8);
}
#head_logo a {font-size: 14px; display: block; height: auto; margin: 0; padding: 0;}
.footer .footer_link {float: none; clear: both; text-align: center; margin: 60px auto 0 auto; padding: 0;}
.footer .footer_logo {margin-top: 2em;}
#custom-collapse .btn.btn-border-o {width: 90%; margin: 15px auto; color: #d83d00; font-weight: bold; font-size: 140% !important; border-bottom: 4px solid #a9a300 !important; padding: 15px 0 !important;}
#custom-collapse .btn.btn-border-o:hover {border-bottom: 4px solid #35717d !important;}
.col-sm-3, .col-sm-4 {width: 100% !important;}
.btn_link a {width: 80%; margin: 0 auto;}
#case .case_title {font-size: 16px;}
#price .txt_caution ul li div {display: inline;}

#business .bg_bk::after {background-size: 100%;}
#business .bg_wh {right: 0; margin-bottom: 1em;}
.company_box table tr:last-child {border: none;}
.company_box table td ul li {margin-bottom: 0.75em;}
.company_box table td ul li:last-child {margin-bottom: 0;}
.company_box table td ul li br {display: none;}
#olayBtn {
	display: block !important;
	position: fixed;
	bottom: 0;
	width: 100%;
	padding: 0;
	box-sizing: border-box;
	z-index: 1000;
}
#olayBtn ul {
	display: flex;
	overflow: hidden;
	margin: 0px !important;
	padding: 0px !important;
	visibility: visible !important;
}
#olayBtn ul li {
	width: 50%;
	margin: 0 auto;
}

#olayBtn ul li a {display: block; width: 100%; font-size: 18px; font-weight: 600; color: #fff; line-height: 3em; text-align: center; letter-spacing: 2px:}
#olayBtn ul li a:hover, .cv_area a:hover {
	opacity: 0.9;
}
#olayBtn ul li a .fa, #olayBtn ul li a .fas, #olayBtn ul li a .fab, .cv_area a .fa {
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}
#olayBtn ul li:first-child {background: rgba(16, 71, 121, 1);}
#olayBtn ul li:nth-child(2) {background: #ee5c41;}
.cv_area a {line-height: 4em;}
.footer h3 {margin-bottom: 20px;}
.footer .copyright {padding-top: 30px;}
.footer .copyright address {margin-top: 30px;}
.footer .copyright .col-sm-2 {width: 128px; float: left; padding: 0;}
.footer .copyright .col-sm-10 {width: calc(100% - 145px); float: right; padding: 0;}
.footer .copyright .col-sm-10::after {display: block; content: ''; clear: both; margin-bottom: 15px;}
.footer .copyright div span.txt_footer {margin-top: 15px;}
}

@media only screen and (max-width: 480px) {
.only_480, .flex_list {display: block !important;}
.navbar-header h1 {font-size: 12px;}
.fl_left, .fl_right {float: none; width: 100%;}
.navbar-brand {padding-right: 0;}
.navbar-toggle {padding: 0;}
.navbar-custom .nav li > a {font-size: 16px;}
.nav>li>a {font-size: 16px;}
.navbar-custom .navbar-brand {font-size: 20px;}
.navbar-brand img {height: 20px; position: relative; top: 4px;}
#head_logo a {position: relative; top: 1px;}
#head_logo a {font-size: 15px;}
.bg_white {background: #fff; padding: 15px 0;}
.footer_link {width: 100%;}
#main {margin: 0 !important; padding: 0 !important; overflow: !important;}
section h2 {font-size: 30px;}
section h3.title_brd, #intro h4, #price h4, #start .col-sm-6 h3, #start .col-sm-6 h4, #pr h4, button a {font-size: 24px; letter-spacing: 1px;}
#price h4 {margin: 2em auto 1em auto;}
.check_list {letter-spacing: 3px;}
#mainImg_txt h2 {margin-top: 2.5em;}
 #mainImg_txt h2, #mainImg_txt h2 strong {font-size: 36px; line-height: 1.35em;}
#mainImg_txt h2 strong {padding: 10px 15px;}
#img_mainImg {right: -130%;}
#img_mainImg img {max-width: 68%;}
#mainImg_txt div p {font-size: 18px;}
#img_mainImg {right: -100%; bottom: -6%; top: auto;}
section p, section ul, section table, section dl,#case .case_txt h4, #start h4 {font-size: 18px !important;}
#case .case_title {font-size: 20px; line-height: 1.5em; letter-spacing: 0;}
#case .case_info {font-size: 90%;}
#case .case_txt h4 {padding: 15px 20px;}
#case .case_txt h4 br {display: none !important;}
#start .img_start {margin: 2em auto;}
#start h4 span {line-height: 1.75em; border-width: 4px;}
#kouza_table .img_kouza {max-width: 96px; top: -15%;}
#kouza_contents tr td {line-height: 1.5em;}
#kouza_contents tr td br {display: none;}
.start_support {margin-top: 1.5em !important;}
.start_support > div dl dd img {max-width: 240px; max-height: 100%;}
.start_support:before {top: calc(50% - 0.35em);}
.img_480 {max-width: 320px;}
.title_fuwafuwa span {display: block; font-size: 20px; padding: 15px 10px;}
#pr .pr_box li div span {margin-bottom: 3.5em;}
#pr .pr_box li div span strong {display: block; font-size: 24px;}
#pr .pr_box li > div > span small {position: absolute; margin-left: 0; margin-top: 15px;}
.intro_box dl br {display: none;}
.company_box table th {width: 25%;}
.caution_box dl dt {font-size: 80%;}
.caution_box button a {font-size: 20px;}
#price .caution_box dl dd p strong {font-size: 120%;}
.cv_area a {width: 100%; letter-spacing: 0;}
#contact h2 {font-size: 30px;}
.footer h3 {font-size: 20px;}
}

@media only screen and (max-width: 375px) {
.navbar-brand img {height: 24px;}
#head_logo a {font-size: 12px;}
.txt_big {font-size: 160%;}
#custom-collapse .btn.btn-border-o, .btn.btn-border-o {font-size: 18px;}
#head_logo a {top: 1px;}
}

@media only screen and (max-width: 320px) {
.navbar-brand img {height: 15px;}
#head_logo a {font-size: 12px;}
#mainImg_txt {height: calc(100% - 172px);}
#mainImg_txt h2 {font-size: 36px; letter-spacing: 0;}
#custom-collapse .btn.btn-border-o, .btn.btn-border-o {font-size: 18px;}
.footer .copyright .col-sm-2 {width: 64px;}
.footer .footer_logo img {height: auto;}
.footer .copyright .col-sm-10 {width: calc(100% - 80px);}
}

@media(min-width: 768px){
	a[href^="tel:"]{
	pointer-events: none;
	}
	.navbar-toggle {
	display: none !important;
}
}