body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, object, iframe, pre, code, p, blockquote, form, fieldset, legend, table, th, td, caption, tbody, tfoot, thead, article, aside, figure, footer, header, hgroup, menu, nav, section, audio, video, canvas {
    margin: 0;
    padding: 0;
}
article, aside, figure, figcaption, footer, h1, h2, h3, h4, h5, h6, header, hgroup, menu, nav, section {
    display: block;
}
html,body {
    height: 100%;
    width: 100%;
    color: #434343;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
a {
    color: #000;
    -webkit-font-smoothing: antialiased;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
a:link, a:visited {
    text-decoration: none;
}

a:hover, a:active {
    text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
}
li {
    list-style: none;
}
fieldset {
    border: none;
}
input, textarea, select, label {
    font-family: inherit;
    font-size: 100%;
    margin-bottom: 0;
    margin-top: 0;
    padding-bottom: 0;
    padding-top: 0;
    vertical-align: middle;
}
textarea {
    overflow: auto;
}
legend {
    display: none;
}
img {
    border: none;
    vertical-align: top;
}
object {
    outline: none;
    vertical-align: middle;
}
em, strong {
    font-style: normal;
    font-weight: bold;
}
small {
    font-size: 100%;
}
abbr, acronym {
    border: none;
    font-variant: normal;
}
.boxRight {
    float: right !important;
}
.clearfix {
    zoom: 1;
}
.clearfix:after {
    clear: both;
    content: "";
    display: block;
}
body {
    background-color:#e6e6e6;
    color: #000;
    font-size: 1rem;
    line-height:1.8rem;
    -webkit-text-size-adjust: none;
    word-break: break-all;
}
.main {

}
body {
	max-width: 100% !important;
}

/*-------- main  -------*/
/* header */
.header {
  position: relative;
  padding: 0px;
}
/* bg */
.bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -5;
}
.bg img {
  object-fit: cover;
  object-position: center;
  height: 100%;
  width: 100%;
}
.main {
  max-width: min(100vw,500px);
    background: #fff;
    height: auto;
    margin: 0 auto;
    text-align: left;
    overflow: hidden;
  background-color: #ffd89b;
}
.content {
	position: relative;
}

/* header */
.fv {
    background-color: #ff7849;
}
body #mainHeader {
    position: relative;
    z-index: 51;
    background-color: #ff7849;
    padding: 15px;
}
body h1 img {
    /*max-width: 960px;*/
    width: 80px;
}

@media screen and (max-width: 768px) {
    body h1 {
        left: 10px;
        top: 15px;
    }
    body h1 img {
        width: 80px;
    }
}
/* pc fixparts */
.fix-nav {
    position: fixed;
    top: 0px;
    right: auto;
    margin-left: 340px;
    line-height: 2.7;
    color: #fff;
    text-align: right;
    z-index: 999;
}

.fix-nav a {
    color: #fff;
    transition: .5s;
    font-weight: 500;
    font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	.fix-nav {
	margin-left: 245px;
	}
	.fix-nav a {
		font-size: 1.1rem;
	}
}
.fix-nav a:hover {
    transition: .5s;
    color: #1b4332;
}
.fix-nav a::after {
  content: "・";
  color: #ffcc5c;
}
.fix-nav.scroll-nav a {
	color: #ff7849;
	transition: .5s;
}
.fix-nav.scroll-nav a:hover {
    transition: .5s;
    color: #1b4332;
}
/* MV */
.content-Mv {
    position: relative;
}
.content-Mv .mv-bg {
    width: 100%;
}
.content-Mv .mv-text-1 {
    position: absolute;
    right: 0;
    left: 5%;
    top: 80px;
    width: 20%;
}
.content-Mv .mv-text-2 {
    position: absolute;
    right: 0;
    left: 7%;
    bottom: 80px;
    width: 62%;
}


/*----- all layout -----*/
.text-or {
	background: linear-gradient(to top, #ffcfbe 0% 70%, rgba(0,0,0,0) 70% 100%)
}
/*----- message -----*/
.content-message .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-message .content-title h2 {
    font-size: 28px;
    font-weight: 100;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
.content-message h2::before {
  width: 2px;
  height: 80px;
  content: "";
  background-color: #1b4332;
}
.content-message h2::before {
  margin-right: 20px;
  transform: rotate(40deg);
}
.content-message {
    padding: 50px 30px 80px;
    background-color: #ff7849;
 	color: #1b4332;
 	position: relative;
}
.content-message .decoration-01 {
	position: absolute;
	right: -30px;
	top: -60px;
	width: 130px;
}
.content-message img {
    width: 100%;
}
.content-message .text {
	background-color: #fff4f1;
	border: 2px solid #1b4332;
	padding: 50px;
	border-radius: 80px 0 80px 0;
	font-size: 1rem;
}
.content-message .text span {
	font-weight: 700;
}

/*----- reson -----*/
.content-reason .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-reason .content-title h2 {
	width: 65%;
	margin: 0 auto;
}
.content-reason .content-title h2 img {
	width: 100%;
}
.content-reason {
    padding: 40px 40px 60px;
 	color: #1b4332;
 	background-color: #ffd89b;
    position: relative;
}
.content-reason .decoration-01 {
	position: absolute;
	left: -50px;
	top: -60px;
	width: 130px;
}
.content-reason .decoration-02 {
	position: absolute;
	left: 55%;
	bottom: -60px;
	width: 130px;
	z-index: 1;
}
.area-reason {
	position: relative;
}
.area-reason .nail-parts-01{
	width: 100px;
	position: absolute;
	right: -50px;
	top: -150px
}
.area-reason .nail-parts-02{
	width: 150px;
	position: absolute;
	left: -80px;
	top: -150px
}
.area-reason .reason-img {
	width: 150px;
	position: absolute;
	right: 0;
	top: -100px
}
.area-reason.area-l {
	border-left: 7px solid #ff7849;
	padding: 0 0 0 15px;
	margin: 100px 0 150px;
}
.area-reason.area-r {
	border-right: 7px solid #ff7849;
	padding: 0 15px 0 0px;
	margin: 100px 0 150px;
}
.area-reason-end {
	margin: 100px 0 0px !important;
}
.area-reason.area-r .reason-img {
	right: auto;
	left: 0;
}
.area-reason h3 {
	display: flex;
	align-items: baseline;
	color: #ff7849;
	font-size: 24px;
	margin: 0 0 15px;
	padding: 0 0 15px;
	border-bottom: 2px dotted #1b4332;
}
.area-reason h3 img {
	width: 70px;
	margin: 0 10px 0 0;
}
.area-reason.area-r h3 {
	flex-direction: row-reverse;
}
.area-reason.area-r h3 img {
	margin: 0 0 0 10px;
}
.area-reason dt {
	font-weight: 700;
	font-size: 20px;
}
/*----- faq -----*/
.content-faq .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-faq .content-title h2 {
    font-size: 28px;
    font-weight: 100;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
.content-faq h2::before {
  width: 2px;
  height: 80px;
  content: "";
  background-color: #1b4332;
}
.content-faq h2::before {
  margin-right: 20px;
  transform: rotate(40deg);
}
.content-faq {
    padding: 40px 30px 80px;
    background-color: #f9f6f1;
 	color: #1b4332;
 	position: relative;
}
.content-faq .decoration-01 {
	position: absolute;
	right: -30px;
	bottom: -60px;
	width: 130px;
}
.content-faq h4 {
	border: 2px solid #1b4332;
	background-color: #ffd89b;
	text-align: center;
	margin: 0 auto 20px;
	font-size: 1.3rem;
	width: 80%;
}
@media screen and (max-width: 767px) {
	.content-faq h4 {
		font-size: 1rem;
	}
}
.content-faq .swiper {
  width: 100%;
  padding: 0 0 80px;
}
.content-faq .swiper img{
  width: 100%;
}
.swiper-button-prev, .swiper-button-next{
	top: auto !important;
	bottom: 0 !important;
}
.swiper-pagination-bullet {
	width: 12px !important;
	height: 12px !important;
	margin: 0 10px !important;
}
.swiper-pagination-bullet-active {
	background-color: #ff7849 !important;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  height: 56px !important;
  width: 30px !important;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev:after,
.swiper-button-next:after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 56px;
  margin: auto;
  width: 30px;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev:after {
  background-image: url(../images/left.png);
}
/* 次への矢印カスタマイズ */
.swiper-button-next:after {
  background-image: url(../images/right.png);
}

/*----- description -----*/
.content-description .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-description .content-title h2 {
    font-size: 28px;
    font-weight: 100;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
.content-description h2::before {
  width: 2px;
  height: 80px;
  content: "";
  background-color: #1b4332;
}
.content-description h2::before {
  margin-right: 20px;
  transform: rotate(40deg);
}
.content-description {
    padding: 40px 30px;
    background-color: #ffe9c6;
 	color: #1b4332;
}
.content-description-detail {
	background-color: #ffffff;
	border-radius: 40px;
	padding: 30px;
	margin: 0 0 30px;
}
.content-description-detail dl {
	display: flex;
	justify-content: space-between;
	margin: 0 0 20px;
}
.content-description-detail dt {
	width: 30%;
	text-align: center;
	background-color: #1b4331;
	color: #fff;
	border-radius: 5px;
	height: 34px;
}
.content-description-detail dd {
	width: 65%;
}
.content-description-detail ul {
line-height: 1.3rem;
}
.content-description-detail ul li {
	text-indent:-1em;
	padding-left:1em;
}

.accordion-a-content-01 {
	text-align: center;
}
.accordion-a-content-01 .detail {
	margin: 0 0 20px;
	padding: 0 0 20px;
	font-weight: 700;
	position: relative;
}
.accordion-a-content-01 .detail:before {
  content: '';
  position: absolute;
  bottom: 0px;
  display: inline-block;
  width: 300px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1b4332;
  border-radius: 2px;
}
.accordion-a-content-02 {
	text-align: center;
}
.accordion-a-content-02 .detail {
	padding: 0 0 20px;
	font-weight: 700;
	position: relative;
}
.accordion-a-content-03 p {
	padding: 0 55px;
	position: relative;
	text-align: center;
	margin: 0 auto;
	font-weight: 700;
	width: 65%;
}
.accordion-a-content-03 p:before, .accordion-a-content-03 p:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}
.accordion-a-content-03 p:before {
  left:0;
}
.accordion-a-content-03 p:after {
  right: 0;
}
.accordion-a-content-03 .detail {
	padding: 0 0 20px;
	font-weight: 700;
	position: relative;
}
.accordion-a-content-04 dl {
	padding: 0 0 20px;
}
.accordion-a-content-04 dl dt {
	font-weight: 700;
}

/*----- flow -----*/
.content-flow .content-title {
    text-align: center;
    margin: 0 0 30px;
    border-bottom: 2px solid #1b4332;
    padding: 0 0 20px;
}
.content-flow .content-title h2 {
    font-size: 26px;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
.content-flow {
    padding: 40px 0px;
    background-color: #f9f6f1;
 	color: #1b4332;
 	position: relative;
}
.stepbar {
  margin: 0 auto;
  width: 90%;
}
.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}
.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 5em;
  height: 5em;
  padding: 14px;
  content: "";
  border-radius: 50%;
  background-color: #ffd89b;
  color: #1b4332;
  text-align: center;
  z-index: 2;
  line-height: 1.2em;
  font-size: 0.8em;
  font-weight: bold;
  font-style: italic;
}
.stepbar .stepbarwrap .steptitle .stepcircle span {
  display: block;
	text-align: center;
	font-size: 1.8rem;
	margin: 4px 0 0;
}

.stepbar .stepbarwrap .steptitle .title {
  margin: 0.5em;
  font-weight: bold;
  font-size: 1.2em;
}


.stepbar .stepbarwrap .steptxt {
  padding-left: 4.8em;
}

.stepbar .stepbarwrap .steptxt .txt {
  font-size: 0.9em;
}

.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: #a2a2a2;
  position: absolute;
  top: 1em;
  left: 2.1em;
  z-index: 1;
}
.stepbar .stepbarwrap .stepline::before,
.stepbar .stepbarwrap .stepline::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50%);
  width: 1px;
  height: 10px;
  border-radius: 9999px;
  background-color: #a2a2a2;
  transform-origin: 50% calc(100% - 1px);
}

.stepbar .stepbarwrap .stepline::before {
  transform: rotate(45deg);
}

.stepbar .stepbarwrap .stepline::after {
  transform: rotate(-45deg);
}
.training {
	border: 2px dotted #1b4332;
	border-radius: 0 40px 0 40px;
	background-color: #fff;
	padding: 20px 20px 0 0;
}
.training h4 {
	text-align: center;
	font-size: 2rem;
}
.training ul li {
	text-indent:-1em;
	padding-left:1em;
}
.training ul li::before {
  content: "・";
  color: #ff7849;
}
.stepbar .training .stepbarwrap {
	margin: 0 0 20px;
}
.stepbarwrap .title span {
	display: inline-block;
	border: 1px solid #1b4332;
	font-size: 14px;
	padding: 0 10px;
	background-color: #fff;
}
.stepline-01 {
  height: 230px !important;
}
.stepline-02 {
  height: 290px !important;
}
.stepline-03 {
  height: 182px !important;
}


@media screen and (max-width: 767px) {
.content-flow .content-title h2 {
	font-size: 22px;
}
.stepbar .stepbarwrap .stepline {
	left: 2em;
}
.stepbar .stepbarwrap .steptitle .title {
  font-size: 1em;
}
.stepline-01 {
  height: 225px !important;
}
.stepline-02 {
  height: 345px !important;
}
.stepline-03 {
  height: 178px !important;
}
}

/*----- form -----*/
.content-form .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-form .content-title h2 {
    font-size: 28px;
    font-weight: 100;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
@media screen and (max-width: 767px) {
	.content-form .content-title h2 {
		font-size: 20px;
	}
}
.content-form h2::before {
  width: 2px;
  height: 80px;
  content: "";
  background-color: #1b4332;
}
.content-form h2::before {
  margin-right: 20px;
  transform: rotate(40deg);
}
.content-form {
    padding: 40px 30px;
    background-color: #ffe9c6;
 	color: #1b4332;
}
.form-text {
	margin: 0 0 20px;
	padding: 0 0 20px;
	border-bottom: 2px dotted #1b4332;
}
.form-text-link {
	text-align: center;
	margin: 25px 0;
}
.form-text a {
	display: inline-block;
	background-color: #fff;
	padding: 5px 20px;
	margin: 0 auto;
	border-radius: 100px;
	transition: .5s;
	color: #1b4332;;
}
.form-text a:hover {
	color: #fff;
	background-color: #ff7849;
}
.inquirySection dl {

}
.inquirySection dd ul {
	display: flex;
	justify-content: left;
	padding: 0 0 20px;
}
.inquirySection dd ul li {
	display: flex;
}
.inquirySection dd ul li label {
	display: flex;
}
.inquirySection dd ul li label input {
	width: 30px;
}
.inquirySection dd ul li div {
	width: 60px;
	margin: 0 0 0 15px;
}

.required-text {
	text-align: right;
	margin: 0 0 15px;
	font-size: 13px;
}
.required-text span {
	color: #fb7c8a;
}
.inquirySection .accordion {
	margin: 0 0 15px;
}
.inquirySection .accordion-a-content {
	font-size: 14px;
	line-height: 1.4rem;
}
.inquirySection .accordion > li {
	border-bottom: none;
}
.inquirySection .accordion > li.is-open {
	margin: 0;
}
.accordion-q button {
	font-size: 14px !important;
}
.privacy-caution {
	font-size: 14px;
	margin: 0 0 20px;
	line-height: 1.3rem;
}

.inquirySection form {
    width: 100%;
}

.inquirySection dl {
    text-align: left;
    /*margin-bottom: 20px;*/
}
.inquirySection dl dt {
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 10px;
    font-weight: 500;
}

.inquirySection dl dt span {
    color: #fb7c8a;
    font-size: 11px;
    line-height: 11px;
    margin-left: 5px;
    vertical-align: baseline;
}
.inquirySection dl dd {

}
.inquirySection dl dd input {
    box-sizing: border-box;
    border: 1px solid #c4c4c4;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    padding: 5px 10px;
    width: 100%;
}
.inquirySection dl dd input[type=radio] {width: auto;}
.inquirySection dl dd textarea {
    box-sizing: border-box;
    border: 1px solid #c4c4c4;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    height: 135px;
    padding: 10px;
    width: 100%;
}
@-moz-document url-prefix() {
    .inquirySection dl dd textarea {
        font-size: 11px;
    }
}
.form-submit,.back {
	text-align: center;
}
.form-submit button,.back a {
	font-size: 20px;
	font-weight: 500;
	background-color: #ff7849;
	border-radius: 100px;
	color: #fff;
	display: inline-block;
	border: none;
	padding: 10px 0;
	width: 70%;
	margin: 0 auto;
	cursor: pointer;
	transition: .5s;
}
.form-submit button:hover,.back a:hover {
	background-color: #fff;
	transition: .5s;
	color: #1b4332;
}
.content-confirm {
	padding: 30px;
	color: #1b4332;
	background-color: #ffe9c6;
}
.content-confirm p {
	margin: 0 0 30px;
}
.content-confirm .content-title {
    text-align: center;
    margin: 0 0 30px;
}
.content-confirm .content-title h2 {
    font-size: 20px;
    font-weight: 100;
    font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #1b4332;
}
.content-confirm h2::before {
  width: 2px;
  height: 40px;
  content: "";
  background-color: #1b4332;
}
.content-confirm h2::before {
  margin-right: 20px;
  transform: rotate(40deg);
}


.confirm-table { width: 100%; border-collapse: collapse; }
.confirm-table th, .confirm-table td { border-bottom: 1px dotted #1b4332; padding: 10px; text-align: left;  font-weight: normal; font-size: 14px;}
.confirm-table th { background-color: #ffd89b; width: 35%; }
.button-group { margin-top: 20px; display: flex; justify-content: space-between; }
.button-group button, .back-button { padding: 10px 20px; border-radius: 4px; border: none; cursor: pointer; text-decoration: none; display: inline-block; transition: .5s;}
.button-group button { background-color: #ff7849; color: white; }
.back-button { background-color: #6c757d; color: white; transition: .5s;}
.button-group button:hover,.back-button:hover {
	background-color: #fff;
	transition: .5s;
	color: #1b4332;
}


/**
 * error message
 */

.mw_wp_form .form-col dd span {
    display: inline-block;
}

/**
 * vertical style of radio and checkbox
 */
.mw_wp_form .vertical-item {
	display: block;
}
.mw_wp_form .vertical-item + .vertical-item {
	margin-top: 5px;
}

/**
 * horizontal style of radio and checkbox
 */
.mw_wp_form .horizontal-item {
	width: 95px;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0px;
	width: 95px;
}
.form-other {
	margin: 15px 0 0;
}
.form-other p {
	font-size: 12px;
}
/**
 * radio and checkbox
 */
.mwform-checkbox-field label,
.mwform-radio-field label {
	font-weight: normal;
	margin-bottom: 0;
}
.mwform-checkbox-field input,
.mwform-radio-field input {
	margin-right: 5px;
}

/**
 * datepicker
 */
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
	width: 40%;
	margin: 0 5px;
}

/**
 * deprecated message
 */
.mw-wp-form-deprecated-message {
	background: #fdeeee;
	border: 1px solid #f7bdb8;
	border-radius: 5px;
	color: #af4040;
	font-size: 13px;
	line-height: 1.6;
	margin: 0 0 10px;
	padding: 1em;
}

/**
 * file
 */
.mw_wp_form input[type="file"] {
	display: inline-block;
}

/**
 * file delete button
 */
.mwform-file-delete {
	cursor: pointer;
	visibility: hidden;
}

/**
 * tel and zip
 */
.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
	display: inline-block;
	width: auto;
}
.mw_wp_form .button {
  text-align: center;
  padding-top: 40px;
}
.mw_wp_form .button input {
  border: solid #F18C43 1px;
  background: #ff8256;
  color: #FFF;
  padding: 13px 15px;
  font-weight: bold;
  cursor: pointer;
  transition: all .3s;
  min-width: 150px;
  margin: 0 10px;
  cursor: pointer;
  border-radius: 100px;
}

.mw_wp_form dd {
	width: 100%;
}
.mw_wp_form dd input {
	width: 100%;
}
.mw_wp_form_preview dd {
	padding: 0;
}
.mw_wp_form .button {
	display: flex;
	justify-content: center;
}
.mw_wp_form_confirm .accordion {
	display: none;

}
.inquirySection .mw_wp_form dl {
	display: block;
}
.inquirySection .mw_wp_form dt {
	width: 100%;
}
.mw_wp_form dl {
	display: block !important;
}
.mw_wp_form dt {
	width: 100% !important;
}

.mw_wp_form_confirm dl {
	margin: 0 0 10px;
	padding: 0 0 10px;
	border-bottom: 1px dotted #1b4332;
	display: block;
}
.mw_wp_form_confirm dt {
	font-weight: 500;
	width: 100%;
}


.step-flow {
  width: calc(100%); /* ステップフロー全体の横幅を指定 */
  display: flex;            /* flexboxで横並びにする */
  justify-content: space-between; /* 横並びにしたものを等間隔で並べる */
  margin: 0 0 30px;
}
.step-flow li {
  color: #333;        /* 文字色を黒に指定 */
  font-size: 13px;    /* 文字サイズを指定 */
  width: calc(100% / 3); /* 横幅を三等分した1つの大きさに指定 */
  background: #eee;   /* 背景色をグレーに指定 */
  line-height: 50px;  /* 行間(高さの代わり)を指定 */
  text-align: center; /* 文字を中央寄せにする */
  position: relative; /* 基準位置とする */
}
.step-flow li:not(:first-child):not(:last-child) { 
  padding: 0 0 0 10px;  /* 最初と最後以外には左に適度な余白を指定 */
}
.step-flow li::before,
.step-flow li::after {
  content: "";  /* 疑似要素では必須 */
  width: 0;     /* 横幅を0に指定 */
  height: 0;　　/* 高さを0に指定 */
  display: block;  /* ブロック要素にする */
  position: absolute; /* 相対位置に指定 */
}
.step-flow li::before {
  border: solid 32px transparent;     /* 32pxのborderを指定 */
  border-right: solid 13px transparent;  /* 幅を合わせるため右線は13pxにする */
  border-left: solid 13px #ffe9c6;          /* 白い三角形を作成して▷の形で上に重ねて削り取る */
  top: -7px;  /* 重ねる位置(縦軸)を調整 */
  left: 0;    /* 重ねる位置(横軸)を調整 */
  z-index: 1; /* 重なり順を指定 */
}
.step-flow li::after {
  border: solid 25px transparent;  /* 25pxのborderを指定 */
  border-left: solid 10px #EDEDED; /* 左のborderで背景色と同じ▶の部分を作成する */
  border-right: solid 10px transparent; /* 幅を合わせるために右線は10pxにする */
  top: 0;       /* 重ねる位置(縦軸)を調整 */
  right: -20px; /* 重ねる位置(横軸)を調整 */
  z-index: 2;   /* 重なり順の優先度を他よりも上げる */
}
.step-flow li:first-child::before,
.step-flow li:last-child::after {
  content: none;  /* 最初のliの左と最後のliの右は作らない */
}
/* 以下.currentだけ色を変えるCSS */
.step-flow li.current {
  color: #FFF;
  background: #1b4332;
}
.step-flow li.current::after {
  border-left: solid 10px #1b4332;
}
/*----- footer -----*/
#mainFooter {
    margin: 0px auto 0px;
    padding: 20px 40px;
    background-color: #1b4332;
    color: #fff;
}
#mainFooter a {
    color: #fff;
}
#mainFooter .footerMenu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 20px;
}
#mainFooter .footerMenu img {
	width: 100px;
}
#mainFooter .footerMenu ul {
	text-align: right;
	line-height: 40px;
}
#mainFooter .footerMenu ul li a {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
}
#mainFooter .footerMenu ul img {
	width: 20px;
	margin: 0 0 0 5px;
}
#mainFooter .footerCopy {
	text-align: center;
	color: #fff6e7;
}




/*----- JS setting -----*/
.accordion {
  list-style: none;
}
.accordion-q-icon {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
	right: 40px;
	width: 16px;
	height: 16px;
}
.accordion-q-icon::before,
.accordion-q-icon::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #1b4332;
}
@media print, (min-width: 768px) {
  .accordion-q-icon::before,
  .accordion-q-icon::after {
    top: 9px;
  }
}
@media screen and (max-width: 767px) {
  .accordion-q-icon::before,
  .accordion-q-icon::after {
    top: 7px;
  }
}
.accordion-q-icon::after {
  transform: rotate(90deg);
  transition: transform 400ms;
}
.accordion-q button {
  display: block;
  position: relative;
  padding: 20px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  border: none;
  background: none;
  color: inherit;
  font-weight: 700;
  appearance: none;
  font-size: 20px;
  cursor: pointer;
  transition: opacity 400ms;
}
@media print, (min-width: 768px) {
  .accordion-q button:hover,
  .accordion-q button:active {
    opacity: 0.5;
  }
}
.accordion-a {
  display: none;
  overflow: hidden;
}
.accordion-a-inner {
  position: relative;
  padding: 0 20px 40px;
}
.accordion > li {
  border-bottom: 2px solid #1b4332;
	background-color: #fff;
}
.accordion > li.is-open {
	margin: 0 0 30px;
}
.accordion > li.is-open .accordion-q-icon::after {
  transform: rotate(0deg);
}


@media print, (max-width: 375px) {
.fix-nav {
        margin-left: 230px;
    }
}

