/*=====レイアウト崩れ対応=====*/
.fv {
	position: relative;
}

.fv_con_box {
	position: absolute;
	bottom: 1%;
}
/*=====レイアウト崩れ対応=====*/

/*=====format=====*/
.cf:after{
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.ct {
	padding: 0 2%;
}

.detail_txt {
	margin: 0;
}

.bold_txt {
	font-weight: bold;
}

.red_txt {
	color: #ff0000;
}

.wine_red_txt {
	color: #cc0000;
}

.center_txt {
	text-align: center;
}

.green_txt {
	color: #007943;
}

.band_txt {
	background-color: #007943;
	color: #fff;
}

.small_txt {
	font-size: 14px;
}

.link_txt {
	text-decoration: underline;
}

.link_txt:hover {
	text-decoration: none;
}
/*=====format=====*/

/*=====contents=====*/
#event .contents_box .left_box {
	width: 50%;
	float: left;
}

#event .contents_box .right_box {
	width: 50%;
	float: right;
	margin-top: 10px;
}

#event .contents_box .right_box ul {
	margin: 10px 0 10px 30px;
}

#event .contents_box .right_box ul li span {
	border-bottom: 1px dotted #ccc;
	line-height: 1.6;
}

#event .contents_box .right_box p {
	padding: 0;
	margin: 0 0 0 10px;
}

.head_info .head_icon h1 {
	font-size: 13px !important;
}

section#outline .fv .fv_title {
	background-image: none;
	background-image: url("/haka/naire/images/pc_fv.png");
}

.fv .fv_title .area-name_text {
	top: 130px;
	left: unset;
	right: 12px;
}

.service_cost {
    color: #ff0000;
    font-weight: bold;
}

.service_cost::before {
    content: "：";
    color: #000;
    font-weight: normal;
}
.flex_box.order{
	display: flex;
	flex-wrap: wrap;
	background-color: #b48c00;
}
.flex_box.order .col_2{
	width: 50%;
}
.caution dl.cau dt{
	color: #cc0000;
	margin: 10px 0 5px 0;
}
.caution dl.cau dd{
	margin: 0;
	padding: 0 .5em .2em .5em;
	font-size: 90%;
}
.caution dl.cau dd span{
	color: #cc0000;
	font-size: 100%;
	text-decoration: underline;
}
/* details {
    border: 1px solid #aaa;
    border-radius: 4px;
    padding: .5em .5em 0;
}

summary {
    font-weight: bold;
    margin: -.5em -.5em 0;
    padding: .5em;
}

details[open] {
    padding: .5em;
}

details[open] summary {
    border-bottom: 1px solid #aaa;
    margin-bottom: .5em;
} */

/*=====contents=====*/

/* 202606追加 */
.flex_box {
    display: flex;
    flex-wrap: wrap;
}
.inside {
    margin: 1em auto;
    padding: 1em;
    border: 1px solid #ccc;
}
.fv_title2 {
    background-image: none;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto;
    background-color: #eef8ff;
    width: 100%;
    text-align: center;
    margin: 0 auto 25px;
    min-height: unset;
    max-height: unset;
}
.fv_title2 h1 {
    font-size: 2em;
    font-weight: 700;
    color: #007a43;
    line-height: 1.3;
}
/* YAA */
.shuraku-yaa-section {
    background-color: #fcfbf9;
    padding: 60px 20px;
    font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
    color: #333333;
    line-height: 1.6;
}
.yaa-container {
    max-width: 1000px;
    margin: 0 auto;
}
.yaa-header {
    text-align: center;
    margin-bottom: 30px;
}
.yaa-header p {
    text-align: center;
}
.yaa-subtitle {
    font-size: 1.6rem;
    font-weight: bold;
    color: #2c4a44;
    margin-bottom: 5px;
}
h2.yaa-title {
    background: none;
    padding: 0;
    font-size: 3.6rem;
    font-weight: bold;
    color: #a3875e;
    margin: 0 0 5px 0;
    letter-spacing: 0.1em;
    line-height: 1.3;
}
.yaa-lead {
    font-size: 1.2rem;
    color: #555555;
}
.yaa-lead strong {
    color: #95784c;
    font-weight: bold;
}
.yaa-card-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
}
.yaa-card {
    background: #ffffff;
    border-radius: 8px;
    padding: 30px 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border-top: 4px solid #a3875e;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.yaa-card:hover {
    transform: translateY(-5px);
}
.yaa-card-icon {
    width: 60px;
    height: 60px;
    background-color: #f4efea;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.yaa-alphabet {
    font-size: 1.8rem;
    font-weight: bold;
    color: #a3875e;
    font-family: Arial, sans-serif;
}
h3.yaa-card-title {
    background: none;
    border: none;
    margin: 0;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 15px;
    color: #2c4a44;
}
.yaa-card-title span {
    font-size: 1.2rem;
    color: #a3875e;
    margin-right: 5px;
}
p.yaa-card-text {
    margin: 0;
    font-size: 1rem;
    color: #444444;
    text-align: left;
}
/* YAA終了 */
.contents_box {
    position: relative;
    margin: 1%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
}
.contents_box h2 {
    background-color: #007130;
    font-size: 180%;
    color: #fff;
    padding: 10px 0 7px 0;
    border-radius: 6px 6px 0 0 / 6px 6px 0 0;
    margin: 0 auto -1px;
    border: none;
    background-image: none;
    text-align: center;
}
.contents_box a {
    color: #000000;
}
.box1 {
    background-color: #f2f2f2;
    padding: 10px;
    margin-bottom: 20px;
    clear: both;
}
.subject {
    margin-bottom: 3em;
}
.subject h2 {
    background: none;
    border: 0;
    border-radius: 0;
    text-align: center;
    font-size: 2.3em;
    font-weight: bold;
    border-bottom: 1px solid #642c8f;
    line-height: 100%;
    color: #000;    
    padding: 0 0 8px 0;
}
.subject p {
    font-size: 1.1em;
    margin: 0;
}
.subject h3 {
	margin: 1rem 0 .5rem;
    border: none;
    font-size: 1.3em;
    font-weight: bold;
    color: #333333;
    background: #f2efe9;
    border-left: 5px solid #6b5b56;
    padding: 10px 0 5px 12px;
    margin-bottom: .5rem;
}
ul.circle {
    list-style-type: none;
    padding-left: 0;
    margin: 1rem 0;
}
ul.circle li {
    position: relative;
    padding-left: 1.75em;
    margin-bottom: .5em;
    line-height: 1.6;
}
ul.circle li::before {
    content: '';
    position: absolute;
    left: 0.8em;
    top: 0.6em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #6b5b56;
}
ul.circle li span {
    font-weight: bold;
    color: #222222;
    margin-right: 4px;
    display: inline-block;
}
ul.circle li:last-child {
    margin-bottom: 0;
}
ul.circle li span.price, span.price {
	color: #F00052;
	font-weight: bold;
}
ul.circle li span.purple {
	color: #45007A;
}
.hitokoto {
    background: rgba(205, 221, 253, 0.23);
    margin: 2em 0;
    padding: 25px 25px 12px 25px;
    border-radius: 10px;
}
.hitokoto-circle1 {
    font-size: 15px;
    line-height: 1.7;
    position: absolute;
    margin-top: -37px;
    font-weight: bold;
    color: #fff;
    background-color: #064777;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
}
.hitokoto-circle1:after {
    content: "語";
    position: absolute;
    margin-top: .2em;
    font-weight: bold;
    color: #fff;
    background-color: #064777;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
}

.hitokoto-circle2 {
    position: absolute;
    font-size: 15px;
    line-height: 1.7;
    margin-top: -37px;
    margin-left: 40px;
    font-weight: bold;
    color: #fff;
    background-color: #064777;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
}
.hitokoto-circle2:before {
    content: "";
    position: absolute;
    top: 100%;
    margin-left: -12px;
    border: 5px solid transparent;
    border-top: 10px solid #064777;
    -ms-transform: rotate(-20deg);
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
}
.hitokoto-circle2:after {
    content: "説";
    position: absolute;
    margin-top: .2em;
    font-weight: bold;
    color: #fff;
    background-color: #064777;
    border-radius: 50%;
    text-align: center;
    width: 24px;
    height: 24px;
}
.hitokoto p {
    margin: 0;
    padding: 0 0 .5em 0;
}
.hitokoto strong, .hitokoto p span {
    font-weight: 700;
}
.flex_box {
	justify-content: space-between;
}
.txt_con {
    width: 58%;
}
.txt_con .price_box {
    background-color: #f7e7e7;
	border-radius: 0px;
    text-align: center;
    padding: 1em;
    width: 100%;
    margin-bottom: .5em;
}
.photo_box {
    width: 40.5%;
}
.price_box p.t_price {
    color: #91004c;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    padding: 0;
    margin: 0;
}
.txt_con .price_box p.t_price {
	padding-top: 10px;
	border-top: 1px solid #fff;
    padding-bottom: .3em;
}
.price_box p {
    font-size: 1rem;
}
.price_box p.set {
    padding: 0;
    margin: 0;
    text-align: center;

}
.tsuika {
    background-color: #fff;
    border-radius: 6px;
    margin: .3em 0 0;
    padding: .5em 1em;
}
.kihon_cover {
    font-size: 300%;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kihon_cover .kihon {
    font-size: 16px;
    background-color: #dc0e58;
    border-radius: 3px;
    color: #fff;
    display: inline-block;
    padding: 5px;
    margin-right: 5px;
    line-height: 1.2;
    margin-bottom: 0;
}
p.base-price {
	font-size: 3rem;
	font-weight: bold;
	color: #dc0e58;;
}
.base-price span {
	font-size: 1.6rem;
	color: #000;
	font-weight: bold;
	padding: 0 .5rem;
}
h3.price_title {
	background: none;
	border: none;
	border-radius: 0;
	text-align: center;
	padding: 0;
	margin: 1.5rem 0 .5rem;
}
h3.price_title span {
	font-size: 1.8rem;
	font-weight: bold;
	padding: 0 .5rem;
}
.price_table table {
    width: 100%;
    border: 1px solid #ccc;
    background-color: #fff;
	line-height: 1.8;
	margin-bottom: 2rem;
}
.price_table table tr {
    border-bottom: 1px solid #ccc;
}
.price_table th, .price_table td {
    width: 50%;
    padding: 10px;
    text-align: center;
	font-size: 1.1rem;
}
.price_table table th {
    background-color: #064777;
    color: #fff;
    font-weight: 900;
    border-right: 1px solid #fff;
}
.price_table table td:first-of-type {
    background-color: #f4f4f4;
    font-weight: 900;
}
.doji {
	align-items: center;
    display: flex;
    justify-content: center;
	color: #bd7a2e;
	font-weight: bold;
}
.doji::before,.doji::after {
	display: block;
	background-color: #ad0025;
    border-radius: 5px;
    content: "";
    height: 3px;
    width: 35px;
}
.doji::before {
    margin-right: 10px;
    transform: rotate(50deg);
}
.doji::after {
    margin-left: 10px;
    transform: rotate(-50deg);
}
.more_box {
	margin-top: .5rem;
}
.more_box .more_item {
    width: 32%;
    margin: 0;
    border: 1px solid #ccc;
    border-radius: 6px;
    text-align: center;
    padding: .5em;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
}
.reason_box {
    border: 2px solid #ccc;
    padding: .5rem;
    margin-bottom: 1rem;
}
.reason_box .r_img {
    width: 20%;
}
.reason_box .r_img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 250px;
}
.reason_box .r_content {
    width: 80%;
    padding-left: 1rem;
}
.r_content .reason_num {
    background: #064777;
    color: #fff;
    font-size: 1.1rem;
    font-weight: bold;
    display: inline-block;
    line-height: 1.3;
    padding: .2rem .5rem 0 .7rem;
    border-radius: 5px;
    margin-bottom: .5rem;
}
.r_content .reason_num span {
    font-size: 1.6rem;
    font-weight: bold;
    padding-left: .3rem;
}
.r_content .reason-title {
    font-size: 1.4rem;
    font-weight: bold;
}
div.flow_photo {
    width: 20%;
}
div.flow_txt {
    width: 77%;
}
p.t_flow {
    background-color: #f0e9f4;
    color: #5d456c;
    font-weight: 700;
    font-size: 20px;
    border-radius: 25px;
    padding: .25em 1.5em;
    display: inline-block;
    margin-bottom: .5em;
}
div.flow_txt p.txt {
    font-size: 18px;
}
div.d_arrow {
    text-align: center;
}
.d_arrow img {
    max-width: 150px;
}
.qa-1 {
    max-width: 100%;
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}
.qa-1 summary {
    background: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}
.qa-1 summary::before, .qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}
.qa-1 summary::before {
    color: #75bbff;
    content: "Q";
}
.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}
.qa-1 p {
    font-size: 1rem;
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}
.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}
.qa-1[open] p {
    transform: none;
    opacity: 1;
}
.qa-1[open] summary::after {
    transform: rotate(225deg);
}
.note details {
    margin-bottom: 2rem;
}
.note summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    margin: -.5em -.5em 0;
    padding: 1em;
    background: #6aa652;
    color: #fff;
}
.note summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .5s;
}
.note details[open] summary::after {
    transform: rotate(225deg);
}
.note details dt {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    font-weight: bold;
    border-bottom: 1px solid #666;
    font-size: 18px;
    margin-top: .5em;
}
@media screen and (max-width: 768px) {
    .subject h2 {
        font-size: 1.2em;
        padding: 0.2em;
        margin-bottom: .5em;
    }
    .txt_con, .photo_box {
        width: 100%;
    }
    .photo_box {
        text-align: center;
    }
    .reason_box .r_img, .reason_box .r_content {
        width: 100%;
    }
    .reason_box .r_img {
        text-align: center;
    }
    .reason_box .r_content {
        padding-left: 0;
    }
}
@media screen and (max-width: 480px) {
    .inside {
        padding: 0;
        border: none;
    }
    .txt_con .price_box {
        padding: .5rem;
    }
    .kihon_cover .kihon {
        font-size: 14px;
    }
    .price_box p.base-price {
        font-size: 1.8rem;
    }
    .base-price span {
        font-size: 1.4rem;
    }
    .tsuika {
        padding: .5rem;
    }
    .price_box p {
        font-size: 14px;
    }
    h3.price_title span {
        font-size: 1.3rem;
    }
    .price_table th, .price_table td {
        font-size: 1rem;
        line-height: 1.3;
    }
    .more_box .more_item {
        font-size: 1rem;
    }
    .reason_box .r_img img {
        height: 120px;
    }
    .r_content .reason_num {
        display: block;
        text-align: center;
    }
    .r_content .reason-title {
        font-size: 1.2rem;
        line-height: 1.3;
        margin-bottom: .5rem;
    }
    p.reason-txt {
        font-size: 1rem;
        line-height: 1.3;
    }
    .reason_box .r_img img {
        width: 100%;
    }
}

    