@charset "utf-8";
/* flow css */

/*-------------------------------------------------
ページタイトル
-------------------------------------------------*/

#page_flow .page_titlebox::before {
content: "FLOW";
}
body#page_flow::before {
content: "";
background-image: url("../img/flow/body_bg.jpg");
background-position: center top;
background-size: cover;
background-repeat: no-repeat;
background-color: #000;
display: block;
position: fixed;
top: 0;
left: 0;
z-index: -1;
width: 100%;
height: 100vh;
opacity: .25;
}


/*-------------------------------------------------
intro
-------------------------------------------------*/

.intro_txt {
font-size: 1.5rem;
line-height: 200%;
letter-spacing: 0.2em;
display: block;
text-align: center;
margin-bottom: 50px;
}
.intro_txt a {
text-decoration: underline;
color: #B29458;
}
.intro_txt a:hover {
text-decoration: none;
}

@media all and (max-width : 767px ){
.intro_txt {
font-size: 1.2rem;
line-height: 180%;
letter-spacing: 0.1em;
margin-bottom: 30px;
}
}

/*-------------------------------------------------
コンテンツ
-------------------------------------------------*/

.flow_title {
font-size: 2.0rem;
font-weight: 600;
color: #BCA461;
letter-spacing: 0.3em;
margin-bottom: 40px;
}

@media all and (max-width : 767px ){
.flow_title {
font-size: 1.5rem;
letter-spacing: 0.2em;
margin-bottom: 30px;
}
}

/* flow
-------------------------------------------------- */

.flow_item {
position: relative;
padding-left: 115px;
counter-increment: number;
}
.flow_item:last-of-type {
padding-bottom: 50px;
}
.flow_item:not(:last-child) {
padding-bottom: 70px;
}

@media all and (max-width : 820px ){
.flow_item:not(:last-child) {
padding-bottom: 60px;
}
}

@media all and (max-width : 767px ){
.flow_item {
margin-left: 10px;
padding-left: 60px;
}
.flow_item:last-of-type {
padding-bottom: 30px;
}
.flow_item:not(:last-child) {
padding-bottom: 30px;
}
}

.flow_item:not(:last-child)::before {
content: "";
position: absolute;
top: 90px;
left: 44px;
display: block;
width: 0;
height: calc(100% - 112px);
border-right: 1px solid #aaa;
}

@media all and (max-width : 767px ){
.flow_item:not(:last-child)::before {
content: "";
position: absolute;
top: 48px;
left: 20px;
width: 0;
height: calc(100% - 70px);
}
}

.editor-ttl {
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.2em;
color: #ccc;
margin-bottom: 10px;
}

@media all and (max-width : 820px ){
.editor-ttl {
font-size: 1.6rem;
letter-spacing: 0.15em;
}
}

@media all and (max-width : 767px ){
.editor-ttl {
font-size: 1.3rem;
}
}

.editor-ttl::after {
content: counter(number, decimal-leading-zero);
position: absolute;
top: -8px;
left: 5px;
display: flex;
justify-content: center;
align-items: center;
width: 70px;
height: 70px;
line-height: 50px;
letter-spacing: 0.05em;
border-radius: 50%;
text-align: center;
color: #000;
background-color: #EFEFEF;
font-family: "garamond-premier-pro", serif;
font-weight: 400;
font-size: 1.4rem;
}
.flow_txt {
font-size: 1.5rem;
font-weight: 400;
line-height: 200%;
}
.flow_txt a {
text-decoration: underline;
color: #8E7742;
font-weight: 700;
}
.flow_txt a:hover {
text-decoration: none;
}
.flow_txt span {
color: #B29458;
font-weight: 700;
}

@media all and (max-width : 767px ){
.editor-ttl::after {
content: counter(number, decimal-leading-zero);
position: absolute;
top: -6px;
left: 0px;
width: 40px;
height: 40px;
line-height: 50px;
font-size: 1.1rem;
}
.flow_txt {
font-size: 1.2rem;
line-height: 180%;
}
}

.flow_subtitle {
font-size: 1.8rem;
letter-spacing: 0.2em;
font-weight: 600;
color:#B29458;
margin-bottom: 20px;
}
.caution_box {
width: 100%;
background: rgba(41,41,41,.90);
padding: 30px 40px 20px;;
}
.caution_txtbox {
margin-bottom: 20px;
}
.caution_txtbox dt {
font-size: 1.8rem;
font-weight: 600;
color: #BCA461;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.caution_txtbox dd {
font-size: 1.4rem;
line-height: 200%;
color: #eee;
font-weight: 400;
}
.caution_txtbox dd ul {
margin-top: 10px;
}
.caution_txtbox dd ul li {
margin-bottom: 5px;
}

@media all and (max-width : 767px ){
.flow_subtitle {
font-size: 1.5rem;
margin-bottom: 15px;
}
.caution_box {
padding: 15px 20px 10px;;
}
.caution_txtbox {
margin-bottom: 20px;
}
.caution_txtbox dt {
font-size: 1.4rem;
letter-spacing: 0.2em;
margin-bottom: 10px;
}
.caution_txtbox dd {
font-size: 1.2rem;
line-height: 180%;
}
.caution_txtbox dd ul {
margin-top: 8px;
}
}