@charset "UTF-8";

/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
a,
abbr[title] {
	text-decoration: none
}

progress,
sub,
sup {
	vertical-align: baseline
}

a,
mark {
	color: #000
}

html {
	box-sizing: border-box;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%
}

*,
::after,
::before {
	background-repeat: no-repeat;
	box-sizing: inherit
}

::after,
::before {
	text-decoration: inherit;
	vertical-align: inherit
}

* {
	padding: 0;
	margin: 0
}

audio:not([controls]) {
	display: none;
	height: 0
}

button,
hr {
	overflow: visible
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block
}

summary {
	display: list-item
}

[hidden],
template {
	display: none
}

abbr[title] {
	border-bottom: 1px dotted
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects
}

a:active,
a:hover {
	outline-width: 0
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace
}

b,
strong {
	font-weight: bolder
}

dfn {
	font-style: italic
}

mark {
	background-color: #ff0
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

input {
	border-radius: 0
}

[aria-controls],
[role=button],
[type=button],
[type=reset],
[type=submit],
button {
	cursor: pointer
}

[aria-disabled],
[disabled] {
	cursor: default
}

[type=number] {
	width: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

textarea {
	overflow: auto;
	resize: vertical
}

button,
input,
optgroup,
select,
textarea {
	font: inherit
}

optgroup {
	font-weight: 700
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: 0;
	padding: 0
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
	outline: ButtonText dotted 1px
}

[type=reset],
[type=submit],
button,
html [type=button] {
	-webkit-appearance: button
}

button,
select {
	text-transform: none
}

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none;
	color: inherit
}

select {
	-moz-appearance: none;
	-webkit-appearance: none
}

select::-ms-expand {
	display: none
}

select::-ms-value {
	color: currentColor
}

legend {
	border: 0;
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

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

svg:not(:root) {
	overflow: hidden
}

audio,
canvas,
progress,
video {
	display: inline-block
}

input::placeholder {
	color: #CDCDCD;
}

.flex {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

#main_visual .flex {
	margin: 8rem auto;
}

#service #service_image {
	text-align: center;
}

#service ol.flex {
	justify-content: space-around;
	align-items: flex-start;
	list-style: none;
	font-size: 1.4rem;
	line-height: 1.4em;
}

#service ol.flex li {
	position: relative;
}

#service ol.flex li:after {
	content: "";
	background: url('../img/right_arrow.svg') center no-repeat;
	width: 10px;
	height: 17px;
	position: absolute;
	right: -6vw;
	top: 35%;
}

#service ol.flex li:last-child:after {
	display: none;
}

#service ol.flex li:nth-child(2):after {
	right: -2.4vw;
}

#main_visual {
	padding-bottom: 2rem;
}

@media screen {
	[hidden~=screen] {
		display: inherit
	}

	[hidden~=screen]:not(:active):not(:focus):not(:target) {
		position: absolute !important;
		clip: rect(0 0 0 0) !important
	}
}

[aria-busy=true] {
	cursor: progress
}

::-moz-selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none
}

::selection {
	background-color: #b3d4fc;
	color: #000;
	text-shadow: none
}

body,
html {
	font-size: 10px;
	background-color: #FFF;
	color: #333;
	line-height: 1;
	font-family: Arial, "Noto Sans JP", "游ゴシック", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

#back,
.btn {
	color: #FFF
}

small {
	font-size: .75em
}

#back {
	display: block;
	position: fixed;
	bottom: 1.6rem;
	right: 1.6rem;
	width: 6em;
	padding: 1rem 0;
	background-color: rgba(0, 0, 0, .5);
	text-align: center;
	font-size: 1.4rem;
	z-index: 9999
}

.btn {
	width: 100%;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	display: inline-block;
	padding: 1.5rem;
	background: linear-gradient(110deg, #898989 0, #555 30%);
	box-shadow: 1px 3px 6px rgba(0, 0, 0, .5);
	padding-top: 2rem
}

.btn img.btn_icon {
	width: 42px;
	height: 42px;
	vertical-align: middle;
	margin-right: .5em;
	display: inline-block;
	margin-top: -.5rem
}

header,
main section {
	display: block;
	width: 100%
}

.btn_submit {
	background: linear-gradient(110deg, #F45C66 0, #E91120 30%)
}

header {
	font-size: 1.6rem;
	border: none;
	padding: 0;
	margin: 0;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2)
}

header .tagline {
	padding-left: .5em;
	display: inline-block;
	font-size: 1.4rem;
	color: #666
}

main {
	font-size: 1.6rem
}

main .cv_area {
	list-style: none;
	padding: 1em;
	background-color: #FFF;
	margin: 2rem auto;
	margin-bottom: 0
}

main .btn_entry,
main section .sectionTitle .underbar {
	background: linear-gradient(110deg, #F45C66 0, #E91120 30%)
}

main .cv_area li {
	margin-bottom: 1.4rem
}

main section {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	margin: 0;
	padding-bottom: 8rem
}

main section .sectionTitle {
	width: 100%;
	max-width: 100%;
	padding-top: 8rem;
	padding-bottom: 2rem;
	text-align: center
}

main section .sectionTitle h2.title {
	font-size: 2rem;
	color: #000;
	margin-bottom: 1.6rem
}

main section .sectionTitle .underbar {
	height: 4px;
	width: 5em;
	margin: 0 auto
}

main section .cv_area {
	padding: 1.3rem;
	background-color: #FFF;
	margin: 2rem auto;
	margin-bottom: 0
}

main section .telinfo {
	margin: 2rem auto;
	margin-bottom: 0;
	padding: 1.6rem;
	border: 4px solid #E6E6E6;
	text-align: center;
	line-height: 1.4em
}

main section .telinfo .freedial {
	color: #289F23;
	font-size: 2.6rem;
	display: inline-block;
	margin-top: .5em;
	font-weight: 900
}

main section .telinfo .freedial .icon {
	vertical-align: bottom;
}

@media all and (max-width:340px) {
	#entry .telinfo .freedial{letter-spacing: -0.02em;}
}

main section .telinfo a.privacy_policy,
main section .telinfo span {
	font-size: 1.4rem
}

main section#main_visual {
	text-align: center
}

main section#main_visual h1.main_copy {
	font-size: 1.8rem;
	margin: 0 auto;
	font-weight: 400;
	padding-left: 1.5rem;
	line-height: 1.4em;
	text-align: left;
	letter-spacing: 1px;
	word-break: break-all;
	max-width: 680px;
}

main section#main_visual img.main_image {
	padding-top: 0
}

main section#main_visual .cv_area {
	margin-top: 0;
	padding: 1.6rem 0;
}

main section#entry {
	background-color: #F5F5F5
}

main section#entry .form_wrapper {
	background-color: #FFF;
	padding: 1em
}

main section#entry .form_wrapper table.entry_form {
	max-width: 100%;
	width: 100%;
	box-sizing: border-box
}

main section#entry .form_wrapper table.entry_form td,
main section#entry .form_wrapper table.entry_form th {
	display: block;
	text-align: left;
	max-width: 100%;
	box-sizing: border-box;
	padding-bottom: .5em
}

main section#entry .form_wrapper table.entry_form .hissu {
	font-size: 1.2rem;
	color: #E91120;
	display: inline-block;
	margin-left: .5rem;
	vertical-align: middle
}

main section#entry .form_wrapper table.entry_form tr {
	margin-bottom: 1em;
	display: block
}

main section#entry .form_wrapper table.entry_form input[type=date],
main section#entry .form_wrapper table.entry_form input[type=email],
main section#entry .form_wrapper table.entry_form input[type=tel],
main section#entry .form_wrapper table.entry_form input[type=text],
main section#entry .form_wrapper table.entry_form select {
	padding: 1rem;
	border: 1px solid #CCC;
	border-radius: 4px;
	width: 100%;
	height: 4.5rem
}

main section#entry .form_wrapper table.entry_form select {
	background-color: #EEE
}

main section#entry .notice {
	font-size: 1.4rem;
	line-height: 2rem;
	font-weight: 400;
	padding: 1.6rem;
	background: #FCF2F3;
	margin-bottom: 1.6rem;
	border: 2px solid #FDEAEA;
	border-radius: 4px;
	margin-top: 1.6rem
}

main section#entry .notice:before {
	content: "!";
	font-size: 34px;
	vertical-align: middle;
	opacity: .3;
	color: #E91120;
	font-weight: 900;
	display: inline-block;
	width: 3.6rem;
	text-align: center
}

main section#entry .notice p {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 38px);
}

main section#blog .blog_list {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 1em .8rem
}

main section#blog .blog_list .column_data {
	width: 50%;
	padding: .5em;
	position: relative
}

main section#blog .blog_list .column_data .body {
	font-size: 1.4rem
}

main section#blog .blog_list .column_data .body .cat,
main section#blog .blog_list .column_data .body .news_date,
main section#blog .blog_list .column_data .body .tag {
	font-size: 1.2rem
}

main section#blog .blog_list .column_data .body .cat {
	display: inline-block;
	padding: 4px;
	position: absolute;
	top: 1em;
	right: 1em;
	background-color: rgba(240, 120, 120, .4)
}

main section#blog .blog_list .column_data .body .cat a {
	color: #FFF
}

main section#blog .blog_list .column_data .body .tag {
	margin-top: .8rem;
	color: #999
}

main section#blog .blog_list .column_data .body .tag a {
	color: #999;
	font-weight: 400
}

main section#blog .blog_list .column_data .body .tag a:after {
	content: ","
}

main section#blog .blog_list .column_data .body .news_title {
	line-height: 1.4em
}

main section#blog .blog_list .column_data .body .news_title a {
	font-weight: 400
}

main section#blog .blog_list .column_data .body .news_date {
	text-align: right;
	margin-bottom: .5em
}

main section#blog .news_link {
	text-align: center;
	margin-bottom: 1em
}

main section#faq .faq_list dd,
main section#faq .faq_list dt {
	padding: 1.6rem;
	line-height: 1.6em
}

main section#faq .faq_list dt {
	font-weight: 800;
	color: #000;
	font-size: 1.6rem;
	background-color: #FCF2F3;
	padding-left: 64px;
	background-image: url('../img/icon_q.svg');
	background-position: 16px center;
	background-repeat: no-repeat;
	background-size: auto;
	line-height: 1.4em
}

main section#faq .faq_list dd {
	margin-bottom: 1em
}

main section .block_notice {
	background-color: #FCF2F3;
	padding: 1.6rem;
	border-radius: .4rem;
	margin-bottom: 1em
}

main section .block_notice p {
	font-size: 1.4rem;
	line-height: 1.5em;
	text-align: left;
	margin-left: .5em
}

main section .with_lefticon {
	display: flex;
	flex-direction: row;
	justify-content: flex-start
}

footer {
	font-size: 1.6rem;
	color: #000;
	border-top: 1px solid #000;
	text-align: center;
	padding-top: 1em;
	padding-bottom: 6rem
}
footer .footer-links{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
}
footer .footer-links a:not(:last-of-type){
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #707070;
}
@media  screen and (max-width: 480px) {
    footer .footer-links{
        flex-direction: column;
        margin-bottom: 0;
    }
    footer .footer-links a{margin-bottom: 7px;}
    footer .footer-links a:not(:last-of-type){
        margin-right: 0;
        padding-right: 0;
        border-right: none;
    } 
}

@media all and (min-width:681px) {

	section>*,
	h1.main_copy {
		max-width: 680px;
		margin: 0 auto
	}

	table {
		width: 100%
	}

	main section#main_visual .cv_area {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	main section#main_visual .cv_area li {
		width: calc(50% - .5rem);
	}

	main section .cv_area {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: stretch;
	}

	#faq .cv_area .btn {
		width: 320px;
		padding-top: 4rem;
	}

	main section .cv_area .telinfo {
		margin: 0;
		width: 50%;
	}
}

.night_message {
	display: none;
}

.night_message p {
	text-align: justify;
	color: #000;
	padding: 1em;
	background: #E9E9E9;
	line-height: 1.6em;
	font-size: 1.4rem;
}

.night_message h2 {
	margin-bottom: 1em;
}

.btn_entry span {
	vertical-align: middle;
	display: inline-block;
	text-align: left;
}

.btn_entry span small {
	line-height: 1.8em;
	font-size: 1.2rem;
	font-weight: 400;
}

.header_area {
	display: inline-block;
	color: #FFF;
	background-color: #E91120;
	padding: 1rem 1.5rem;
	font-size: 1.4rem;
}

#contents .inner {
	max-width: 680px;
	margin: 1rem auto;
	padding: 1rem;
}

#contents .inner #cont_body p {
	margin-bottom: 1em;
	line-height: 1.7em;
}

#contents .inner #cont_body picture {
	max-width: 100%;
	text-align: center;
	margin: 1rem auto;
	display: block;
}

#contents .inner .block_tbl table {
	width: 100%;
	max-width: 100%;
}

#contents .inner .block_tbl table td,
#contents .inner .block_tbl table th {
	padding: 1.5rem 1rem;
	display: block;
	border-bottom: 1px solid #CCC;
}

#contents .inner .block_tbl table td.first {
	font-size: 14px;
	background-color: #FCFCFC;
	color: #666;
	padding: 1rem;
}

@media all and (min-width:681px) {

	#contents .inner .block_tbl table td,
	#contents .inner .block_tbl table th {
		display: table-cell;
	}

	main section#main_visual h1.main_copy {
		margin-left: auto;
		margin-right: auto;
	}

	main section .with_lefticon {
		justify-content: center;
	}
}