@charset "UTF-8";
/*!
Theme Name: davinci-leaseback
Theme URI: http://underscores.me/
Author: DaViniciのリースバック
Author URI: https://davinci-leaseback.com/
Description: DaViniciのリースバック専用のテーマです。
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: davinci-leaseback
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

davinci-leaseback is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
	- header
	- footer
	- no-sidebar
# Pages
	- top
	- case
	- about
	- flow
	- reason
	- faq
	- contact
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap");
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
	font-size: 16px;
	font-size: 1.6rem;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.fc_orange {
	color: #eb6100;
}

/* Elements
--------------------------------------------- */
html {
	height: 100%;
	font-size: 62.5%;
}

body {
	line-height: 2;
	color: #434343;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*body {
	background: $color__background-body; // Fallback for when there is no custom background color defined.
}*/
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	-ms-interpolation-mode: bicubic;
}

/*@media only screen and (min-width:1500px) {
  html {
    font-size: 78.15%
  }
}*/
@media only screen and (max-width: 768px) {
	html {
		font-size: 53.625%;
	}
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
	list-style: none;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover, a:focus, a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover, a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 1.0rem;
	font-size: 16px;
	font-size: 1.6rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/* header,navi
--------------------------------*/
.global-header {
	position: relative;
	height: 12.5rem;
}

.global-header .header-inner {
	width: 100%;
	max-width: initial;
	height: 100%;
	padding: 0 5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.global-header .logo {
	margin-top: -18px;
}

.global-header .sp-menu-btn {
	display: none;
	position: absolute;
	top: 2.6rem;
	right: 1.2rem;
	z-index: 999;
	width: 8rem;
	height: 8rem;
	cursor: pointer;
}

.global-header .sp-menu-btn span {
	position: absolute;
	right: 0;
	left: 0;
	display: block;
	width: 40px;
	height: 2px;
	margin: 0 auto;
	background: #000;
	transition: transform .3s ease-out;
}

.global-header .sp-menu-btn span.bar01 {
	top: 2.8rem;
}

.global-header .sp-menu-btn span.bar02 {
	top: 3.7rem;
}

.global-header .sp-menu-btn span.bar03 {
	top: 4.6rem;
}

.global-header .sp-menu-btn.on span.bar01 {
	transform: translateX(1px) translateY(6px) rotate(-45deg);
}

.global-header .sp-menu-btn.on span.bar02 {
	opacity: 0;
}

.global-header .sp-menu-btn.on span.bar03 {
	transform: translateX(1px) translateY(-6px) rotate(45deg);
}

.global-nav {
	height: 100%;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

.global-nav-list {
	height: 100%;
	font-size: 0;
	line-height: 1.5;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.global-nav-list li {
	height: 100%;
	margin-left: 2.5rem;
	position: relative;
	vertical-align: top;
	font-size: 16px;
	font-size: 1.6rem;
	display: flex;
	align-content: center;
	align-items: center;
}

.global-nav-list li a {
	color: #434343;
	text-decoration: none;
}

.global-nav-list li a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 0;
	margin: 0 auto;
	z-index: 1;
	height: 5px;
	background: linear-gradient(to right, #0a325d 0, #0a325e 49%, #0d427c 75%, #0e4a8b 100%);
	transition: all .3s;
}

.global-nav-list li.current-menu-item a:before,
.global-nav-list li:hover a:before {
	width: 100%;
}

@media only screen and (max-width: 1200px) {
	.global-header .sp-menu-btn {
		display: block;
	}
	.global-header .global-nav {
		display: none;
	}
}

@media only screen and (max-width: 768px) {
	.global-header {
		position: relative;
		height: 6rem;
	}
	.global-header .logo {
		position: absolute;
		top: 3.8rem;
		left: 1.8rem;
		width: 20rem;
	}
	.global-header .sp-menu-btn {
		top: 0;
		right: 0;
		width: 6.7rem;
		height: 6rem;
	}
	.global-header .sp-menu-btn span {
		width: 19px;
		height: 2px;
	}
	.global-header .sp-menu-btn span.bar01 {
		top: 2.3rem;
	}
	.global-header .sp-menu-btn span.bar02 {
		top: 2.9rem;
	}
	.global-header .sp-menu-btn span.bar03 {
		top: 3.5rem;
	}
	.global-nav {
		padding: 5.4rem 5.4rem 0 46rem;
	}
	.global-nav-list {
		font-size: 0;
		line-height: 1.5;
	}
	.global-nav-list li {
		display: inline-block;
		margin: 0 0 0 4.1rem;
		vertical-align: top;
		font-size: 16px;
		font-size: 1.6rem;
	}
	.global-nav-list li:first-child {
		margin-left: 0;
	}
}

.sp-global-nav {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 9999;
	background-color: #0e2949;
	padding: 0;
}

.sp-global-nav .nav-inner {
	position: relative;
	z-index: 9;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	height: 100%;
	padding: 0;
	margin: 0;
	background-color: #0e2949;
	color: #fff;
}

.sp-global-nav .nav-box, .sp-global-nav .sp-global-nav .table-style {
	height: 100%;
}

.sp-global-nav .link-inner {
	padding: 70px 5.33333% 40px;
}

.sp-global-nav .btn-close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 99;
	height: 60px;
	width: 70px;
	cursor: pointer;
}

.sp-global-nav .btn-close img {
	margin: 23px 0 0;
}

.sp-global-nav a {
	color: #fff;
}

.sp-global-nav .menu {
	margin: 0;
	padding: 0;
}

.sp-global-nav .menu .menu-item {
	border-top: 1px solid #293554;
}

.sp-global-nav .menu .menu-item > a {
	display: block;
	padding: 20px 0;
	font-size: 15px;
	font-size: 1.5rem;
	text-decoration: none;
}

.ct-btn, .ct-btn-line-limit-wrap, .ct-btn-line-text-box, .wrapper {
	overflow: hidden;
}

/* second
--------------------------------*/
.page-header {
	width: 100%;
	height: 218px;
	background: url(./img/common/page-header_bg.jpg) no-repeat #18315b center right;
}

.page-header .page-header-inner {
	width: 100%;
	max-width: initial;
	height: 100%;
	padding: 0 5rem;
	display: flex;
	align-items: center;
}

.page-header .page-header-inner .page-title {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #fff;
	font-size: 30px;
	font-size: 3.0rem;
}

@media only screen and (max-width: 768px) {
	.page-header {
		width: 100%;
		height: 100px;
		background: url(./img/common/page-header_bg.jpg) no-repeat #18315b center right/auto 100px;
	}
	.page-header .page-header-inner {
		padding: 0 2rem;
	}
	.page-header .page-header-inner .page-title {
		color: #fff;
		font-size: 26px;
		font-size: 2.6rem;
	}
}

/* footer 
--------------------------------*/
footer {
	background: #251e1c;
}

footer .copyright {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}

.no-sidebar .site {
	/*		display: grid;
		grid-template-columns: auto;
		grid-template-areas:
			"header"
			"main"
			"footer";*/
}

.inner {
	position: relative;
	width: 90%;
	max-width: 1500px;
	height: 100%;
	margin: 0 auto;
}

/**/
@media only screen and (min-width: 769px) {
	.spOnly {
		display: none !important;
	}
}

@media only screen and (max-width: 768px) {
	.pcOnly {
		display: none !important;
	}
}

/*--------------------------------------------------------------
# Pages
--------------------------------------------------------------*/
/* parts
--------------------------------*/
.btn1 {
	display: inline-block;
	width: 90%;
	max-width: 30.0rem;
	padding: .8rem 1rem;
	color: #fff !important;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	text-decoration: none;
	background: #213963;
	border-radius: 2.8rem;
}

.btn1:hover {
	color: #fff;
	opacity: .7;
}

@media only screen and (max-width: 1260px) {
	.btn1 {
		max-width: 26.8rem;
		padding: .5rem 1rem;
		font-size: 16px;
		font-size: 1.6rem;
		border-radius: 2.5rem;
	}
}

/**/
section {
	margin-bottom: 8.0rem;
}

/**/
.second {
	padding: 0 0 9.0rem 0;
}

.second h2 {
	margin-bottom: 3.0rem;
	padding: 0.2rem 1.0rem;
	color: #18315b;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	border-top: 3px solid #18315b;
	border-bottom: 3px solid #18315b;
}

/**/
.anchorLink .ancherBlock {
	background: #f2f2f2;
}

.anchorLink .ancherBlock ul {
	margin: 0;
	padding: 1.8rem 1.0rem;
	display: flex;
	flex-wrap: wrap;
}

.anchorLink .ancherBlock ul li {
	width: calc( calc(100% - 2.0rem) / 3);
	padding: 1.0rem 1.4rem;
}

.anchorLink .ancherBlock ul li a {
	position: relative;
	display: block;
	width: 100%;
	padding: 1.0rem;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #18315b;
	font-weight: 600;
	font-size: 16px;
	font-size: 1.6rem;
	text-decoration: none;
	background: #fff;
}

.anchorLink .ancherBlock ul li a:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 5.2rem;
	height: 100%;
	background: url(./img/common/icon_anchor_ya.png) no-repeat #6095c4 center center/13px 13px;
}

@media only screen and (max-width: 768px) {
	.anchorLink .ancherBlock ul {
		margin: 0;
		padding: 1.8rem 1.0rem;
		display: flex;
		flex-wrap: wrap;
	}
	.anchorLink .ancherBlock ul li {
		width: 100%;
		padding: 1.0rem 1.4rem;
	}
}

/**/
.photoTxt {
	width: 100%;
	display: flex;
}

.photoTxt .textArea {
	padding-right: 4.0rem;
}

.photoTxt .imgArea {
	flex: 0 0 auto;
}

@media only screen and (max-width: 768px) {
	.photoTxt {
		display: block;
	}
	.photoTxt .textArea {
		padding-right: 0;
	}
}

/* top
--------------------------------*/
#top .kv {
	height: 64rem;
	margin-bottom: 0;
	background: url(./img/top/kv_bg.jpg) no-repeat center right/contain;
}

#top .kv .textArea {
	position: absolute;
	top: 50%;
	margin-left: 10%;
	transform: translateY(-50%);
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

#top .kv .textArea .kv_text1 {
	margin: 0;
	font-size: 42px;
	font-size: 4.2rem;
	letter-spacing: 0.2em;
}

#top .kv .textArea .kv_text1 span {
	color: #cf6116;
}

#top .kv .textArea .kv_text2 {
	margin: 0;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.06em;
}

#top .intro {
	margin-bottom: 0;
}

#top .intro .intro_set {
	position: relative;
}

#top .intro .intro_set .bgArea {
	height: 33.7rem;
	background: url(./img/top/intro_bg.jpg) no-repeat center center/cover;
}

#top .intro .intro_set .textArea {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9;
	margin: 0 auto;
	padding-left: 5.5rem;
	padding-right: 5.5rem;
}

#top .intro .intro_set .textArea .textBox {
	position: absolute;
	top: calc(30.706075533661743vh - 2.7rem);
	z-index: 9;
	width: calc(60% - 2.25rem);
	max-width: 72rem;
	padding: 4rem 3.2rem;
	background: #213963;
}

#top .intro .intro_set .textArea .textBox p {
	color: #fff;
	font-size: 34px;
	font-size: 3.4rem;
}

#top .intro .intro_set .textArea .posi_r {
	position: relative;
}

#top .intro .intro_set .textArea .posi_r .textBox {
	right: 0;
}

#top .intro .readTextArea {
	position: relative;
	overflow: hidden;
	min-height: 40rem;
	padding: 6rem 5.5rem;
}

#top .intro .readTextArea .readTextBox {
	width: calc(100% - 80.0rem);
}

#top .intro .readTextArea .readTextBox p {
	font-size: 18px;
	font-size: 1.8rem;
}

#top .intro .imgArea {
	background: #f9f8ed;
	margin: 0 auto;
	padding: 6rem 4rem;
	text-align: center;
}

#top .intro .btnArea {
	width: 100%;
	padding: 4rem 2rem;
}

#top .intro .btnArea .btnSet {
	display: flex;
	justify-content: space-around;
}

#top .intro .btnArea .btnSet .btn1 {
	margin: 0 2.0rem;
}

#top .case {
	margin-bottom: 0;
	padding: 5.8rem 0 2.6rem;
	background: #f2f2f2;
}

#top .case .case_heading {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	color: #213963;
	font-size: 36px;
	font-size: 3.6rem;
	letter-spacing: 0.2em;
	text-align: center;
	margin-bottom: 5.8rem;
}

#top .case .case_list {
	display: flex;
	flex-wrap: wrap;
}

#top .case .case_list .case_box {
	width: 33.3%;
	margin-bottom: 3.2rem;
	padding: 0 3.2rem;
}

#top .case .case_list .case_box .case_box_inner {
	height: 100%;
	padding: 0.5rem .1rem 0;
	text-align: center;
	background: #fff;
}

#top .case .case_list .case_box .case_box_inner .btnArea {
	padding: 3rem 1rem;
}

#top .company {
	margin-bottom: 0;
	padding: 6rem 0;
}

#top .company .company_heading {
	margin-bottom: 9rem;
	text-align: center;
}

#top .company .company_heading img {
	width: 15rem;
}

#top .company .access_wrap {
	max-width: 100rem;
	margin: 0 auto;
}

#top .company .access_wrap .access_box {
	margin-bottom: 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#top .company .access_wrap .access_box .access_info {
	width: 50%;
	max-width: 50rem;
}

#top .company .access_wrap .access_box .access_info dl {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
}

#top .company .access_wrap .access_box .access_info dl dt, #top .company .access_wrap .access_box .access_info dl dd {
	padding: 0 0 1.6rem 0;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
}

#top .company .access_wrap .access_box .access_info dl dt:last-of-type, #top .company .access_wrap .access_box .access_info dl dd:last-of-type {
	padding-bottom: 0;
}

#top .company .access_wrap .access_box .access_info dl dt {
	width: 30%;
}

#top .company .access_wrap .access_box .access_info dl dd {
	width: 70%;
	margin: 0;
	padding-left: 4rem;
	border-left: 1px solid #251e1c;
}

#top .company .access_wrap .access_box .access_map {
	width: 42%;
	max-width: 42rem;
}

#top .company .gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 42%;
	overflow: hidden;
}

@media only screen and (max-width: 1260px) {
	#top .kv .textArea .kv_text1 {
		font-size: 36px;
		font-size: 3.6rem;
	}
	#top .kv .textArea .kv_text2 {
		font-size: 14px;
		font-size: 1.4rem;
	}
	#top .intro .intro_set .textArea .textBox {
		width: calc(60% - 2.25rem);
		max-width: 64rem;
	}
	#top .intro .intro_set .textArea .textBox p {
		font-size: 30px;
		font-size: 3.0rem;
	}
	#top .intro .readTextArea .readTextBox {
		width: calc(40% - 2.25rem);
	}
	#top .intro .readTextArea .readTextBox p {
		font-size: 16px;
		font-size: 1.6rem;
	}
	#top .case .case_heading {
		font-size: 36px;
		font-size: 3.6rem;
		margin-bottom: 5.8rem;
	}
	#top .company .access_wrap .access_box .access_info dl dt, #top .company .access_wrap .access_box .access_info dl dd {
		font-size: 16px;
		font-size: 1.6rem;
	}
	#top .company .access_wrap .access_box .access_info dl dd {
		padding-left: 4rem;
	}
}

@media only screen and (max-width: 768px) {
	#top .kv {
		height: 38.6rem;
		background: url(./img/top/kv_bg_sp.jpg) no-repeat center right/contain;
	}
	#top .kv .textArea {
		position: absolute;
		top: 50%;
		width: 24rem;
		margin-left: 0;
	}
	#top .kv .textArea .kv_text1 {
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 1.4;
	}
	#top .kv .textArea .kv_text2 {
		font-size: 12px;
		font-size: 1.2rem;
	}
	#top .intro .intro_set .bgArea {
		height: 25.5rem;
	}
	#top .intro .intro_set .textArea {
		position: relative;
		margin-top: -10.5rem;
		padding-left: 3.5rem;
		padding-right: 3.5rem;
	}
	#top .intro .intro_set .textArea .textBox {
		position: relative;
		top: 0;
		width: 100%;
		max-width: initial;
		padding: 5rem 2.0rem;
	}
	#top .intro .intro_set .textArea .textBox p {
		margin: 0;
		font-size: 20px;
		font-size: 2.0rem;
	}
	#top .intro .intro_set .textArea .posi_r {
		position: relative;
	}
	#top .intro .intro_set .textArea .posi_r .textBox {
		right: 0;
	}
	#top .intro .readTextArea {
		min-height: initial;
		padding: 3rem 3.5rem 6.0rem;
	}
	#top .intro .readTextArea .readTextBox {
		width: 100%;
	}
	#top .intro .readTextArea .readTextBox p {
		margin: 0;
		font-size: 16px;
		font-size: 1.6rem;
	}
	#top .intro .imgArea {
		padding: 6rem 2rem;
	}
	#top .intro .btnArea {
		width: 100%;
		padding: 4rem 2rem;
	}
	#top .intro .btnArea .btnSet {
		display: block;
		text-align: center;
	}
	#top .intro .btnArea .btnSet .btn1 + .btn1 {
		margin-top: 1.5rem;
	}
	#top .case {
		padding: 3.0rem 0 2.6rem;
	}
	#top .case .case_heading {
		font-size: 28px;
		font-size: 2.8rem;
		margin-bottom: 3.0rem;
	}
	#top .case .case_list {
		display: block;
	}
	#top .case .case_list .case_box {
		width: 100%;
		padding: 0 3.2rem;
	}
	#top .case .case_list .case_box .case_box_inner .btnArea {
		padding: 3rem 1rem;
	}
	#top .company {
		padding: 6rem 0;
	}
	#top .company .company_heading {
		margin-bottom: 6rem;
		text-align: center;
	}
	#top .company .company_heading img {
		width: 15rem;
	}
	#top .company .access_wrap {
		margin: 0 auto;
	}
	#top .company .access_wrap .access_box {
		margin-bottom: 4rem;
		display: block;
	}
	#top .company .access_wrap .access_box .access_info {
		width: 100%;
		max-width: initial;
		margin-bottom: 2.0rem;
	}
	#top .company .access_wrap .access_box .access_info dl {
		margin: 0;
		display: flex;
		flex-wrap: wrap;
	}
	#top .company .access_wrap .access_box .access_info dl dt, #top .company .access_wrap .access_box .access_info dl dd {
		padding: 0 0 1.6rem 0;
	}
	#top .company .access_wrap .access_box .access_info dl dt {
		width: 25%;
	}
	#top .company .access_wrap .access_box .access_info dl dd {
		width: 75%;
		padding-left: 2.5rem;
	}
	#top .company .access_wrap .access_box .access_map {
		width: 100%;
		max-width: initial;
	}
	#top .company .gmap {
		position: relative;
		width: 100%;
		height: 0;
		padding-bottom: 42%;
		overflow: hidden;
	}
}

/* case
--------------------------------*/
.caseLinkList ul {
	margin: 0 -0.5rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.caseLinkList ul li {
	width: 25%;
	padding: 0.5rem 0.8rem;
}

.caseLinkList ul li a {
	width: 100%;
	text-decoration: none;
	border: 1px solid #ccc;
	display: flex;
}

.caseLinkList ul li a:hover {
	text-decoration: underline;
}

.caseLinkList ul li a .imgArea {
	width: 74px;
	flex: 0 0 74px;
}

.caseLinkList ul li a .textArea {
	padding: 0.6rem 1.0rem;
	color: #404040;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.6;
}

/**/
.caseDetailSection .caseDetailBlock1 {
	position: relative;
	margin-bottom: 8.0rem;
}

.caseDetailSection .caseDetailBlock1 .imgArea {
	width: 60%;
}

.caseDetailSection .caseDetailBlock1 .textArea {
	position: relative;
	width: 60%;
	margin: -20% 0 0 auto;
	padding: 1.0rem;
	background: rgba(255, 255, 255, 0.8);
}

.caseDetailSection .caseDetailBlock1 .textArea .caseDetailBlock1_heading {
	margin: 0 0 1.5rem 0;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: bold;
}

.caseDetailSection .caseDetailBlock1 .textArea p {
	font-size: 16px;
	font-size: 1.6rem;
}

.caseDetailSection .caseDetailBlock1 .textArea p:last-child {
	margin-bottom: 0;
}

.caseDetailSection .caseDetailBlock2 {
	width: 90%;
	margin: 0 auto 8.0rem;
}

.caseDetailSection .caseDetailBlock2 .caseDetailBlock2_heading {
	position: relative;
	display: inline-block;
	margin: 0 0 1.5rem 0;
	padding: 1.0rem 2.0rem;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	background: #eb6101;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
}

.caseDetailSection .caseDetailBlock2 .caseDetailBlock2_heading::before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 0;
	border-top: 10px solid #d45c09;
	border-left: 10px solid transparent;
}

.caseDetailSection .caseDetailBlock2 .textArea {
	padding: 1.5rem 2.0rem;
	background: #f5f5f5;
}

.caseDetailSection .caseDetailBlock2 .textArea p {
	font-size: 16px;
	font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
	.caseLinkList ul {
		display: block;
	}
	.caseLinkList ul li {
		width: 100%;
	}
	.caseDetailSection .caseDetailBlock1 .imgArea {
		width: 100%;
	}
	.caseDetailSection .caseDetailBlock1 .textArea {
		width: 90%;
		margin: -20% auto 0 auto;
	}
	.caseDetailSection .caseDetailBlock2 .caseDetailBlock2_heading {
		position: relative;
		display: inline-block;
		margin: 0 0 1.5rem 0;
		padding: 1.0rem 2.0rem;
		color: #fff;
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: 700;
		background: #eb6101;
		border-top-right-radius: 20px;
		border-bottom-right-radius: 20px;
	}
	.caseDetailSection .caseDetailBlock2 .caseDetailBlock2_heading::before {
		content: "";
		position: absolute;
		bottom: -10px;
		left: 0;
		width: 0;
		height: 0;
		border-top: 10px solid #d45c09;
		border-left: 10px solid transparent;
	}
	.caseDetailSection .caseDetailBlock2 .textArea {
		padding: 1.5rem 2.0rem;
		background: #f5f5f5;
	}
	.caseDetailSection .caseDetailBlock2 .textArea p {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

/* about
--------------------------------*/
.aboutSection .about2_imgArea {
	margin-bottom: 5.0rem;
	text-align: center;
}

.aboutSection .about2_imgArea img {
	width: 100%;
	max-width: 992px;
}

.aboutSection .pointBlock {
	width: 90%;
	margin: 0 auto 8.0rem;
}

.aboutSection .pointBlock .pointBlock_heading {
	position: relative;
	display: inline-block;
	margin: 0 0 1.5rem 0;
	padding: 1.0rem 2.0rem;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	background: #eb6101;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
}

.aboutSection .pointBlock .pointBlock_heading::before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0;
	width: 0;
	height: 0;
	border-top: 10px solid #d45c09;
	border-left: 10px solid transparent;
}

.aboutSection .pointBlock .textArea {
	padding: 1.5rem 2.0rem;
	background: #f5f5f5;
}

.aboutSection .pointBlock .textArea p {
	font-size: 16px;
	font-size: 1.6rem;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 {
	margin: 0;
	padding: 0 0 2.0rem 0;
	display: flex;
	flex-wrap: wrap;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li {
	position: relative;
	margin: 0 0 3.0rem 0;
	width: calc(50% - 2.0rem);
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li .pointBlock_ol_inner {
	position: relative;
	width: 100%;
	padding: 1.5rem 2rem 1.5rem 13rem;
	color: #1a3866;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.4;
	border: 1px solid #eb6101;
	background: #fff;
	overflow: hidden;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li .pointBlock_ol_inner::before {
	content: '';
	position: absolute;
	top: -150%;
	left: -10rem;
	width: 20rem;
	height: 300%;
	transform: rotate(25deg);
	background: #eb6101;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li .pointBlock_ol_inner span.count {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	padding-top: .4rem;
	padding-left: 2.6rem;
	font-size: 30px;
	font-size: 3rem;
	font-weight: 700;
	color: #fff;
	z-index: 1;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li:nth-child(odd) {
	margin-right: 2.0rem;
}

.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li:nth-child(even) {
	margin-left: 2.0rem;
}

.aboutSection .pointBlock .textArea ul.pointBlock_ul1 {
	margin: 1.5rem 0 0 0;
	padding: 0;
}

.aboutSection .pointBlock .textArea ul.pointBlock_ul1 li {
	padding-left: 1em;
	font-size: 14px;
	font-size: 1.4rem;
	text-indent: -1em;
}

.aboutSection .pointBlock .textArea dl.pointDl {
	font-size: 16px;
	font-size: 1.6rem;
}

.aboutSection .pointBlock .textArea dl.pointDl dd + dt {
	margin-top: 2.0rem;
}

.aboutSection .pointBlock .textArea dl.pointDl dd {
	margin: 0;
}

.aboutSection .about_recomend_ul {
	width: 90%;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.aboutSection .about_recomend_ul li {
	width: 33.333%;
	margin-bottom: 1.0rem;
}

.aboutSection .aboutMeritBlock .icon_merit,
.aboutSection .aboutMeritBlock .icon_demerit,
.aboutSection .aboutDemeritBlock .icon_merit,
.aboutSection .aboutDemeritBlock .icon_demerit {
	position: relative;
	width: 18.6rem;
	padding: 0 2rem;
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 5.4rem;
	border-radius: 2.0rem;
}

.aboutSection .aboutMeritBlock .icon_merit::after,
.aboutSection .aboutMeritBlock .icon_demerit::after,
.aboutSection .aboutDemeritBlock .icon_merit::after,
.aboutSection .aboutDemeritBlock .icon_demerit::after {
	content: '';
	position: absolute;
	bottom: -9px;
	left: 1em;
	width: 0;
	height: 0;
	border-width: 10px 10px 0 10px;
	border-style: solid;
}

.aboutSection .aboutMeritBlock .aboutMeritList h3,
.aboutSection .aboutMeritBlock .aboutDemeritList h3,
.aboutSection .aboutDemeritBlock .aboutMeritList h3,
.aboutSection .aboutDemeritBlock .aboutDemeritList h3 {
	padding: 1.0rem 3.0rem;
	font-size: 24px;
	font-size: 2.4rem;
}

.aboutSection .aboutMeritBlock .icon_merit {
	background: #eb6101;
}

.aboutSection .aboutMeritBlock .icon_merit::after {
	border-color: #eb6101 transparent transparent transparent;
}

.aboutSection .aboutMeritBlock .aboutMeritList h3 {
	color: #eb6101;
	background: #ffe2ce;
}

.aboutSection .aboutDemeritBlock {
	margin-top: 6.0rem;
}

.aboutSection .aboutDemeritBlock .icon_demerit {
	background: #434343;
}

.aboutSection .aboutDemeritBlock .icon_demerit::after {
	border-color: #434343 transparent transparent transparent;
}

.aboutSection .aboutDemeritBlock .aboutDemeritList h3 {
	color: #434343;
	background: #f5f5f5;
}

.aboutSection .aboutDifferenceImgArea {
	margin: 4.0rem 0 9.0rem;
	display: flex;
	justify-content: space-between;
}

.aboutSection .aboutDifferenceImgArea > div {
	width: 48%;
	text-align: center;
}

.aboutSection .aboutComparisonArea {
	margin-bottom: 9.0rem;
}

.aboutSection .aboutComparisonArea h3 {
	position: relative;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	color: #18315b;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
}

.aboutSection .aboutComparisonArea h3::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 11.8rem;
	height: 0.7rem;
	margin-left: -5.9rem;
	border-radius: 0.3rem;
	background: #18315b;
}

.aboutSection .aboutComparisonTable {
	width: 100%;
	font-size: 20px;
	font-size: 2.0rem;
	background: #f7f7f0;
	border: 2px solid #000;
	border-collapse: collapse;
}

.aboutSection .aboutComparisonTable th, .aboutSection .aboutComparisonTable td {
	padding: 1.0rem;
	border: 1px solid #000;
}

.aboutSection .aboutComparisonTable th {
	text-align: center;
}

.aboutSection .aboutComparisonTable thead {
	font-weight: 700;
}

.aboutSection .aboutComparisonTable .th_ippan {
	width: 40%;
	color: #fff;
	background: #6479ba;
}

.aboutSection .aboutComparisonTable .th_davinci {
	width: 40%;
	color: #fff;
	background: #eb6101;
}

.aboutSection .aboutComparisonTable .th_common {
	width: 20%;
	background: #d0d8ed;
}

.aboutSection .aboutComparisonTable .td_ippan {
	background: #f7f7f0;
}

.aboutSection .aboutComparisonTable .td_davinci {
	background: #fdece4;
}

.aboutSection .aboutComparisonTable ul {
	margin: 0;
	padding: 0;
}

.aboutSection .aboutComparisonTable ul li {
	position: relative;
	padding-left: 1em;
}

.aboutSection .aboutComparisonTable ul li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

@media only screen and (max-width: 768px) {
	.aboutSection .pointBlock {
		width: 90%;
		margin: 0 auto 8.0rem;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 {
		display: block;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li {
		width: 100%;
		margin: 0 0 1.5rem 0;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li .pointBlock_ol_inner {
		padding: 1.5rem 2rem 1.5rem 13rem;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li .pointBlock_ol_inner span.count {
		padding-top: .3rem;
		padding-left: 2.6rem;
		font-size: 30px;
		font-size: 3rem;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li:nth-child(odd) {
		margin-right: 0;
	}
	.aboutSection .pointBlock .textArea ol.pointBlock_ol1 > li:nth-child(even) {
		margin-left: 0;
	}
	.aboutSection .pointBlock .textArea ul.pointBlock_ul1 {
		margin: 2.0rem 0 0 0;
	}
	.aboutSection .about_recomend_ul {
		width: 100%;
	}
	.aboutSection .about_recomend_ul li {
		width: 50%;
	}
	.aboutSection .aboutDifferenceImgArea {
		margin: 4.0rem 0 9.0rem;
		display: block;
	}
	.aboutSection .aboutDifferenceImgArea > div {
		width: 100%;
	}
	.aboutSection .aboutDifferenceImgArea > div + div {
		margin-top: 4.0rem;
	}
	.aboutSection .aboutComparisonArea h3::after {
		height: 0.5rem;
	}
	.aboutSection .aboutComparisonTable {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.aboutSection .aboutComparisonTable th, .aboutSection .aboutComparisonTable td {
		padding: 1.0rem;
		border: 1px solid #000;
	}
}

@media only screen and (max-width: 480px) {
	.aboutSection .about_recomend_ul {
		width: 90%;
		display: block;
		margin: 0 auto;
	}
	.aboutSection .about_recomend_ul li {
		width: 100%;
	}
}

/**/
.photoTxt {
	width: 100%;
	display: flex;
}

.photoTxt .textArea {
	width: 65.667%;
	padding-right: 4.0rem;
}

.photoTxt .imgArea {
	width: 34.333%;
	flex: 0 0 34.333%;
}

@media only screen and (max-width: 768px) {
	.photoTxt {
		display: block;
	}
	.photoTxt .textArea {
		width: 100%;
		padding-right: 0;
	}
	.photoTxt .imgArea {
		width: 100%;
	}
}

/* flow
--------------------------------*/
.flowSection .flowBlock {
	width: 95%;
	margin: 5.0rem auto 0;
}

.flowSection .flow {
	margin: 0;
	padding: 0 0 0 16rem;
	position: relative;
}

.flowSection .flow::before {
	content: "";
	width: 1.5rem;
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 16rem;
}

.flowSection .flow > li {
	position: relative;
}

.flowSection .flow > li:not(:last-child) {
	margin-bottom: 8vh;
}

.flowSection .flow > li .icon {
	display: block;
	position: absolute;
	top: 0;
	left: -16rem;
	padding: 1.2rem 2rem;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1;
	color: #fff;
	background: #6b90db;
	background: -moz-linear-gradient(left, #6b90db 0%, #66d5e9 100%);
	background: -webkit-linear-gradient(left, #6b90db 0%, #66d5e9 100%);
	background: linear-gradient(to right, #6b90db 0%, #66d5e9 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
	z-index: 100;
}

.flowSection .flow > li .icon::after {
	content: "";
	border-style: solid;
	border-width: .5rem 0 .5rem 1rem;
	border-color: transparent transparent transparent #66d5e9;
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
}

.flowSection .flow > li dl {
	padding-left: 7rem;
	position: relative;
}

.flowSection .flow > li dl::before, .flowSection .flow > li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 2.4rem;
}

.flowSection .flow > li dl::before {
	width: .7rem;
	height: .7rem;
	margin-top: -0.3rem;
	background: #6b90db;
	border-radius: 50%;
	left: -0.4rem;
}

.flowSection .flow > li dl::after {
	width: 5rem;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: .5rem;
}

.flowSection .flow > li dl dt {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 600;
	color: #6b90db;
	margin-bottom: 1vh;
}

.flowSection .flow > li dl dd {
	margin-left: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

.flowSection .flow .flow_contact_box .flow_contact_box_inner {
	display: inline-block;
	margin-top: 1.5rem;
	padding: 1.5rem;
	background: #f2f2f2;
}

.flowSection .flow .flow_contact_box .flow_contact_box_inner p {
	margin: 0;
}

@media only screen and (max-width: 480px) {
	.flowSection .flow {
		padding: 0 0 0 10rem;
	}
	.flowSection .flow::before {
		left: 10rem;
	}
	.flowSection .flow > li {
		position: relative;
	}
	.flowSection .flow > li:not(:last-child) {
		margin-bottom: 8vh;
	}
	.flowSection .flow > li .icon {
		top: 0.5rem;
		left: -10rem;
		padding: 1.2rem 1.0rem;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.flowSection .flow > li dl {
		padding-left: 2rem;
		position: relative;
	}
	.flowSection .flow > li dl::before, .flowSection .flow > li dl::after {
		content: "";
		display: block;
		position: absolute;
		top: 2.4rem;
	}
	.flowSection .flow > li dl::before {
		width: .7rem;
		height: .7rem;
		margin-top: -0.3rem;
		background: #6b90db;
		border-radius: 50%;
		left: -0.5rem;
	}
	.flowSection .flow > li dl::after {
		width: 1rem;
		border-bottom: 1px dashed #999;
		position: absolute;
		left: .5rem;
	}
	.flowSection .flow > li dl dt {
		font-size: 24px;
		font-size: 2.4rem;
		font-weight: 600;
		color: #6b90db;
		margin-bottom: 1vh;
	}
	.flowSection .flow > li dl dd {
		margin-left: 0;
		font-size: 16px;
		font-size: 1.6rem;
	}
	.flowSection .flow .flow_contact_box .flow_contact_box_inner {
		display: inline-block;
		margin-top: 1.5rem;
		padding: 1.5rem;
		background: #f2f2f2;
	}
	.flowSection .flow .flow_contact_box .flow_contact_box_inner p {
		margin: 0;
	}
}

/* reason
--------------------------------*/
.reasonSection .reason_p {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.reasonSection .reasonImgList {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.reasonSection .reasonImgList li {
	width: 33.333%;
	margin-bottom: 1.0rem;
	padding: 0 1.5rem;
}

@media only screen and (max-width: 768px) {
	.reasonSection .reasonImgList {
		display: block;
	}
	.reasonSection .reasonImgList li {
		width: 100%;
	}
}

/* faq
--------------------------------*/
.faqSection .faqBlock dl.faqDl {
	margin: 0;
}

.faqSection .faqBlock dl.faqDl dt::after,
.faqSection .faqBlock dl.faqDl dd::after {
	position: absolute;
	top: 0.5rem;
	left: 1.0rem;
	font-size: 23px;
	font-size: 2.3rem;
}

.faqSection .faqBlock dl.faqDl dt {
	position: relative;
	padding: 1.0rem 1.0rem 1.0rem 5.0rem;
	font-size: 20px;
	font-size: 2.0rem;
	background: #daf0e3;
	cursor: pointer;
	transition: 0.3s;
}

.faqSection .faqBlock dl.faqDl dt:after {
	content: "Q.";
	color: #009944;
}

.faqSection .faqBlock dl.faqDl dt:hover {
	color: #fff !important;
	background: #009944;
}

.faqSection .faqBlock dl.faqDl dt:hover:after {
	color: #fff !important;
}

.faqSection .faqBlock dl.faqDl dd {
	display: none;
	position: relative;
	margin: 0;
	padding: 1.0rem 1.0rem 5.0rem 5.0rem;
	font-size: 16px;
	font-size: 1.6rem;
	border: 1px solid #daf0e3;
}

.faqSection .faqBlock dl.faqDl dd:after {
	content: "A.";
	color: #ec2b2b;
}

.faqSection .faqBlock dl.faqDl + dl.faqDl {
	margin-top: 1.0rem;
}

.faqSection .faqBlock dl.faqDl .close {
	position: absolute;
	bottom: 0;
	right: 0;
	cursor: pointer;
}

.faqSection .faqBlock dl.faqDl .close::after {
	content: "×";
	display: block;
	padding: 0.8rem;
	color: #fff;
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1;
	background: #009944;
	border: 1px solid #009944;
	transition: 0.3s;
}

.faqSection .faqBlock dl.faqDl .close:hover::after {
	color: #009944;
	background: #fff;
}

/* contact
--------------------------------*/
.second.contact,
.second.contact_check {
	padding-bottom: 0;
}

.contactSection {
	margin-bottom: 0;
	padding: 3.0rem 0;
}

.contactSection_gray {
	background: #f2f2f2;
}

.contact_dl1,
.contact_dl2 {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-size: 1.8rem;
}

.contact_dl1 dt, .contact_dl1 dd,
.contact_dl2 dt,
.contact_dl2 dd {
	margin: 0;
	margin-bottom: 2.0rem;
}

.contact_dl1 dt:last-of-child, .contact_dl1 dd:last-of-child,
.contact_dl2 dt:last-of-child,
.contact_dl2 dd:last-of-child {
	margin-bottom: 0;
}

.contact_dl1 dt,
.contact_dl2 dt {
	min-width: 32.5rem;
	padding: 2.0rem;
	flex: 0 0 30%;
}

.contact_dl1 dt.required:after, .contact_dl1 dt.optional:after,
.contact_dl2 dt.required:after,
.contact_dl2 dt.optional:after {
	display: inline-block;
	margin-left: 1.0rem;
	padding: 0.2rem 0.8rem;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	border-radius: 0.3rem;
}

.contact_dl1 dt.required:after,
.contact_dl2 dt.required:after {
	content: "必須";
	background: #d22c2c;
}

.contact_dl1 dt.optional:after,
.contact_dl2 dt.optional:after {
	content: "任意";
	background: #6c6b6b;
}

.contact_dl1 dd,
.contact_dl2 dd {
	margin-left: 1.4rem;
	padding: 1.7rem 2.0rem;
	flex: 0 0 calc(70% - 1.4rem);
}

.contact_dl1 dt, .contact_dl1 dd {
	color: #18315b;
}

.contact_dl1 dt {
	background: #72b2e3;
}

.contact_dl1 dd {
	background: #e7f4fe;
}

.contact_dl1 input[type="text"],
.contact_dl1 input[type="email"],
.contact_dl1 input[type="url"],
.contact_dl1 input[type="password"],
.contact_dl1 input[type="search"],
.contact_dl1 input[type="number"],
.contact_dl1 input[type="tel"],
.contact_dl1 input[type="range"],
.contact_dl1 input[type="date"],
.contact_dl1 input[type="month"],
.contact_dl1 input[type="week"],
.contact_dl1 input[type="time"],
.contact_dl1 input[type="datetime"],
.contact_dl1 input[type="datetime-local"],
.contact_dl1 input[type="color"],
.contact_dl1 textarea {
	border: 1px solid #b4d6f0;
}

.contact_dl2 dt {
	color: #fff;
	background: #434343;
}

.contact_dl2 dd {
	color: #434343;
	background: #e2e2e2;
}

.contact_dl2 input[type="text"],
.contact_dl2 input[type="email"],
.contact_dl2 input[type="url"],
.contact_dl2 input[type="password"],
.contact_dl2 input[type="search"],
.contact_dl2 input[type="number"],
.contact_dl2 input[type="tel"],
.contact_dl2 input[type="range"],
.contact_dl2 input[type="date"],
.contact_dl2 input[type="month"],
.contact_dl2 input[type="week"],
.contact_dl2 input[type="time"],
.contact_dl2 input[type="datetime"],
.contact_dl2 input[type="datetime-local"],
.contact_dl2 input[type="color"],
.contact_dl2 textarea {
	border: 1px solid #9b9b9b;
}

@media only screen and (max-width: 768px) {
	.contactSection {
		padding: 3.0rem 0;
	}
	.contact_dl1,
	.contact_dl2 {
		display: block;
	}
	.contact_dl1 dt, .contact_dl1 dd,
	.contact_dl2 dt,
	.contact_dl2 dd {
		margin: 0;
	}
	.contact_dl1 dt:last-of-child, .contact_dl1 dd:last-of-child,
	.contact_dl2 dt:last-of-child,
	.contact_dl2 dd:last-of-child {
		margin-bottom: 0;
	}
	.contact_dl1 dt,
	.contact_dl2 dt {
		width: 100%;
		padding: 1.4rem;
		margin-bottom: 0;
	}
	.contact_dl1 dd,
	.contact_dl2 dd {
		margin-left: 0;
		margin-bottom: 2.0rem;
		padding: 1.0rem 1.4rem;
	}
}

/**/
.mw_wp_form .horizontal-item {
	margin-left: 0 !important;
	margin-right: 10px;
}

.mw_wp_form_confirm .lebel_block > span {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
}

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

.contactSection input[type="text"],
.contactSection input[type="email"],
.contactSection input[type="url"],
.contactSection input[type="password"],
.contactSection input[type="search"],
.contactSection input[type="number"],
.contactSection input[type="tel"],
.contactSection input[type="range"],
.contactSection input[type="date"],
.contactSection input[type="month"],
.contactSection input[type="week"],
.contactSection input[type="time"],
.contactSection input[type="datetime"],
.contactSection input[type="datetime-local"],
.contactSection input[type="color"],
.contactSection textarea {
	width: 95%;
}

.contactSection input[type="text"].w200,
.contactSection input[type="email"].w200,
.contactSection input[type="url"].w200,
.contactSection input[type="password"].w200,
.contactSection input[type="search"].w200,
.contactSection input[type="number"].w200,
.contactSection input[type="tel"].w200,
.contactSection input[type="range"].w200,
.contactSection input[type="date"].w200,
.contactSection input[type="month"].w200,
.contactSection input[type="week"].w200,
.contactSection input[type="time"].w200,
.contactSection input[type="datetime"].w200,
.contactSection input[type="datetime-local"].w200,
.contactSection input[type="color"].w200,
.contactSection textarea.w200 {
	width: 20.0rem;
}

.contactSection .horizontal-item {
	display: inline-block;
}

.contactSection .lebel_block {
	display: block;
}

.contactSection .lebel_block > span {
	display: block;
}

.contactSection .location_check_wrap {
	margin-bottom: 1.0rem;
	padding-bottom: 1.0rem;
	border-bottom: 1px solid #72b2e3;
}

.contactSection .btnArea {
	padding: 3.0rem 0;
	text-align: center;
}

.contactSection .btnArea input[type="submit"] {
	width: 45%;
	max-width: 36.8rem;
	margin: 0 2.5%;
	padding: 3.0rem 1.0rem;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1;
}

.contactSection .btnArea input[type="submit"].btn_submit {
	color: #fff;
	background: #eb6101;
	border: 1px solid #eb6101;
	cursor: pointer;
	transition: 0.3s;
}

.contactSection .btnArea input[type="submit"]:hover {
	opacity: .7;
}

@media only screen and (max-width: 768px) {
	.contactSection input[type="text"],
	.contactSection input[type="email"],
	.contactSection input[type="url"],
	.contactSection input[type="password"],
	.contactSection input[type="search"],
	.contactSection input[type="number"],
	.contactSection input[type="tel"],
	.contactSection input[type="range"],
	.contactSection input[type="date"],
	.contactSection input[type="month"],
	.contactSection input[type="week"],
	.contactSection input[type="time"],
	.contactSection input[type="datetime"],
	.contactSection input[type="datetime-local"],
	.contactSection input[type="color"],
	.contactSection textarea {
		width: 95%;
	}
	.contactSection input[type="text"].w200,
	.contactSection input[type="email"].w200,
	.contactSection input[type="url"].w200,
	.contactSection input[type="password"].w200,
	.contactSection input[type="search"].w200,
	.contactSection input[type="number"].w200,
	.contactSection input[type="tel"].w200,
	.contactSection input[type="range"].w200,
	.contactSection input[type="date"].w200,
	.contactSection input[type="month"].w200,
	.contactSection input[type="week"].w200,
	.contactSection input[type="time"].w200,
	.contactSection input[type="datetime"].w200,
	.contactSection input[type="datetime-local"].w200,
	.contactSection input[type="color"].w200,
	.contactSection textarea.w200 {
		width: 12.0rem;
	}
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
/* Widgets
--------------------------------------------- */
/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*# sourceMappingURL=style.css.map */

/* お問い合わせページラジオ・チェックボックスの修正
 * contact page radio and checkbox size arrange */
.mwform-checkbox-field input, .mwform-radio-field input{
    width: 15px;
    height: 15px;}