/**
 * File Name: view.css
 *
 * Description: This CSS file is exclusively for styling the Self Planning page 
 * and is not intended to be used or modified for other departments or sections of the website.
 * Please ensure this stylesheet remains dedicated to its purpose.
 *
 * Dependencies: Designed to complement the self-planning.php template and self-planning.js script 
 * in the toriihonten-child WordPress theme.
 *
 * Usage Restriction: This file is for Self Planning use only and should not include 
 * styles or modifications for other areas of the site.
 *
 * @package WordPress
 * @subpackage toriihonten-child
 * @since toriihonten-child 1.0
 *
 * Author: Your Company Name
 * Created on: April 16, 2025
 * 
 * Revision History:
 * - April 20, 2025: Improved responsive design for smaller screens.
 * - May 1, 2025: Adjusted layout consistency and button hover effects.
 */

@charset "UTF-8";

article p {
	margin-bottom: 0px;
}

.flow_content {
	position: relative;
}

.form_box {
	border-bottom: 1px solid #eee;
	position: relative;
	margin-bottom: 25px;
}
.form_box .box_no {
	background: rgb(18, 41, 91);;
	padding: 5px 12px 5px 12px;
	font-size: 116.66667%;
	display: inline-block;
	color: #FFF;
	font-weight: bold;
	border-radius: 18px;
}

.form_box h2 {
	display: inline-block;
	font-size: 116.66667%;
	font-weight: bold;
	margin-left: 5px;
}

.form_box .box_inner {
	padding: 20px 0px 20px 0px;
}
.form_box .box_inner ul {
	text-align: center;
	position: relative;
	padding-left: 0;
}
.form_box .box_inner ul li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin: 5px;
}

.form_box .box_inner ul li .radio_btn {
	border-radius: 3px;
	background: #eeeeee;
	background: -moz-linear-gradient(top,  #eeeeee 0%, #eaeaea 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#eaeaea)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #eeeeee 0%,#eaeaea 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #eeeeee 0%,#eaeaea 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #eeeeee 0%,#eaeaea 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #eeeeee 0%,#eaeaea 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#eaeaea',GradientType=0 ); /* IE6-8 */
	font-weight: bold;
	display: block;
	text-align: center;
	font-size: 110%;
	cursor: pointer;
	-webkit-box-shadow: 0px 4px 0px #ccc;
	box-shadow: 0px 4px 0px #ccc;
	text-shadow: 1px 1px 0px #FFF;
	margin-top: 0px;
	margin-bottom: 3px;
}

.form_box .box_inner ul li .radio_btn:hover {
	-webkit-box-shadow: 0px 6px 0px #ccc;
	box-shadow: 0px 6px 0px #ccc;
	margin-top: -2px;
	margin-bottom: 5px;
}

.form_box .box_inner ul li .radio_btn.radio_selected {
	background: #78a9f6;
	background: -moz-linear-gradient(top,  #78a9f6 0%, #97b8f4 99%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#78a9f6), color-stop(99%,#97b8f4)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #78a9f6 0%,#97b8f4 99%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #78a9f6 0%,#97b8f4 99%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #78a9f6 0%,#97b8f4 99%); /* IE10+ */
	background: linear-gradient(to bottom,  #78a9f6 0%,#97b8f4 99%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#78a9f6', endColorstr='#97b8f4',GradientType=0 ); /* IE6-8 */
	-webkit-box-shadow: 0px 0px 0px;
	box-shadow: 0px 0px 0px;
	color: #0c2a86;
	margin-top: 3px;
	margin-bottom: 0px;
	text-shadow: 1px 1px 0px #ffe6de;
}

.form_box .box_inner input[type='radio'] {
	filter: alpha(opacity=0);
	-moz-opacity:0;
	opacity:0;
	position: absolute;
	cursor: pointer;
}

.pager_area {
	margin-top: 20px;
}

.sec_next_btn,
.sec_prev_btn,
.btn_print {
	min-width: 120px;
	margin: 0 auto;
	border-radius: 6px;
	padding: 5px 5px 5px 5px;
	color: #FFF;
	font-size: 150%;
	font-weight: bold;
	text-align: center;
	background: rgb(18, 47, 111);
	background: -moz-linear-gradient(top, rgb(18, 47, 111) 43%, #12295b 54%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(43%, rgb(18, 47, 111)), color-stop(54%, #12295b));
	background: -webkit-linear-gradient(top, rgb(18, 47, 111) 43%, #12295b 54%);
	background: -o-linear-gradient(top, rgb(18, 47, 111) 43%, #12295b 54%);
	background: -ms-linear-gradient(top, rgb(18, 47, 111) 43%, #12295b 54%);
	background: linear-gradient(to bottom, rgb(18, 47, 111) 43%, #12295b 54%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgb(18, 47, 111)', endColorstr='#12295b',GradientType=0 );
	cursor: pointer;
}
.sec_next_btn:hover,
.sec_prev_btn:hover,
.btn_print:hover {
	background-size: 100%;
	background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #12295b), color-stop(100%, rgb(18, 47, 111)));
	background-image: -webkit-linear-gradient(top, #12295b, rgb(18, 47, 111));
	background-image: -moz-linear-gradient(top, #12295b, rgb(18, 47, 111));
	background-image: -o-linear-gradient(top, #12295b, rgb(18, 47, 111));
	background-image: linear-gradient(top, #12295b, rgb(18, 47, 111));
	*zoom: 1;
	filter: progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#12295b', endColorstr='rgb(18, 47, 111)');
}
.sec_prev_btn {
	float: left;
}
.sec_next_btn,
.btn_print {
	float: right;
}

.btn_print a {
	color: white !important;
}

.btn_print a :hover{
	color: white !important;
}

.sec_price_box {
	position: relative;
	margin: 2em 0;
	padding: 25px 10px 25px;
	border: solid 2px #12295b;
	border-radius: 3px;
	background-color: #f4f4f4;
}

.sec_price_box .box-title {
	position: absolute;
	display: inline-block;
	top: -2px;
	left: -2px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	vertical-align: middle;
	font-size: 17px;
	background: #12295b;
	color: #ffffff;
	font-weight: bold;
	border-radius: 3px;
}

.sec_price_box p {
	margin: 0;
	padding: 0;
} 

.sec_price_box .sec_price {
	font-size: 250%;
	font-weight: bold;
	text-align: center;
}

.form_box .box_inner li {
	margin: 0px 10px 0px 10px;
}
.form_box .box_inner li p img {
	width: 120px;
}
.form_box .box_inner li .radio_btn {
	padding: 7px 3px 7px 3px;
	width: 210px;
}

.total_price_box {
	position: relative;
	margin: 0 0 0.5em;
	padding: 0 10px 25px;
	border: solid 2px #12295b;
	border-radius: 3px;
	background-color: #f4f4f4;
}

.total_price_box .box-title {
	position: absolute;
	display: inline-block;
	top: -2px;
	left: -2px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	vertical-align: middle;
	font-size: 17px;
	background: #12295b;
	color: #ffffff;
	font-weight: bold;
	border-radius: 3px;
}

.total_price_box .total_price {
	float: right;
	font-size: 250%;
	font-weight: bold;
	border-bottom: solid 2px #12295b;
}
.total_price_box ul {
	float: left;
	width: 305px;
	padding-right: 30px;
}
.total_price_box ul li {
	margin-top: 20px;
}
.total_price_box ul li:first-child {
	margin-top: 0px;
}
.total_price_box ul li p,
.total_price_box .self_price p {
	padding: 0px 25px;
}
.total_price_box ul li p span {
	font-size: 150%;
	margin-left: 20px;
}
.total_price_box .self_price {
	float: right;
	width: 305px;
	padding-left: 30px;
	margin-top: 25px;
}

.proposal_price_box {
	position: relative;
	margin: 0 0 0.5em;
	padding: 0 10px 10px;
	border: solid 2px #12295b;
	border-radius: 3px;
	background-color: #e4ffff;
}

.proposal_price_box .box-title {
	position: absolute;
	display: inline-block;
	top: -2px;
	left: -2px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	vertical-align: middle;
	font-size: 17px;
	background: #12295b;
	color: #ffffff;
	font-weight: bold;
	border-radius: 3px;
}

.proposal_price_box .total_price {
	float: right;
	font-size: 250%;
	font-weight: bold;
	border-bottom: solid 2px #12295b;
}
.proposal_price_box ul {
	float: left;
	width: 305px;
	padding-right: 30px;
}
.proposal_price_box ul li {
	margin-top: 20px;
}
.proposal_price_box ul li:first-child {
	margin-top: 0px;
}
.proposal_price_box ul li p,
.proposal_price_box .self_price p {
	padding: 0px 25px;
}
.proposal_price_box ul li p span {
	font-size: 150%;
	margin-left: 20px;
}
.proposal_price_box .self_price {
	float: right;
	width: 305px;
	padding-left: 30px;
	margin-top: 25px;
}

.details {
	margin-top:15px;
}

.details h3 {
	margin: 15px 0 8px;
	font-size: 120%;
	font-weight: 700;
}
.details h3:before {
	margin: 0 10px 2px;
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 0;
	height: 0;
	border-width: 8px;
	border-style: solid;
	/* border-color: #ed6e46 #e85037 #f0b137 #f98700; */
}

.details table {
	width: 100%;
	margin: 10px 0px 5px 0px;
}
.details table thead th {
	background: #12295b;
	color: #FFF;
	padding: 5px;
	border: 1px solid #12295b;
	text-align: center;
}
.details table tbody tr:nth-child(odd) {
	background: #ccdafd;
}
.details table tbody th,
.details table tbody td {
	padding: 5px 15px 5px 15px;
	border: 1px solid #b6c1f8;
	width: 40%;
}
.details table tbody th {
	text-align: left;
}
.details table .price_td {
	text-align: right;
	width: 20%;
}
.details .note_tax {
	margin-bottom: 20px;
	text-align: right;
}

.top_price_container {
	margin-bottom: 20px;
	position: relative;
}

.top_price_container h1 {
	margin-bottom: 0;
	border-bottom: initial;
	margin-top: 10px;
}

.top_price {
	padding: 0px 10px 0px 10px;
    background: #d0dfff;
    border-radius: 6px;
	border: 1px solid #76a1ff;
	width: 250px;
	overflow: auto;
	white-space: nowrap;
}

.top_price .sec_price {
	font-size: 200%;
    font-weight: bold;
    text-align: center;
}

.note {
	position: relative;
	padding: 1em 1.5em;
	border: solid 2px #7fa7ff;
	border-radius: 8px;
	margin-bottom: 10px;
	border-radius: 3px;
}

.note .box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #7fa7ff;
	font-weight: bold;
}

.note p {
	margin: 0;
	padding: 0;
} 

@media (min-width:768px) {
	.top_price {
		position: absolute;
		top: 58px;
		right: 0px;
	}
}

@media (max-width:767px) {
	.top_price {
		width: 100%;
	}
}

@media (max-width:767px) {
	.form_box h2 {
		font-size: 105%;
	}

	div.wp-page h1 {
		font-size: 1.5em;
	}

	.top_price .sec_price {
		font-size: 1.5em;
	}
	.fixed {
		position: fixed;
		top: 0px;
		left: auto;
		right: auto;
		margin: 0 0 0 -15px;
		z-index: 9999;
	}
}

@media (min-width:768px) {
	.fixed {
		position: fixed;
		top: 0px;
		left: auto;
		right: auto;
		margin: 0 0 0 470px;
		z-index: 9999;
	}
}

@media (min-width:990px) {
	.fixed {
		position: fixed;
		top: 0px;
		left: auto;
		right: auto;
		margin: 0 0 0 690px;
		z-index: 9999;
	}
}

@media (min-width:1200px) {
	.fixed {
		position: fixed;
		top: 0px;
		left: auto;
		right: auto;
		margin: 0 0 0 890px;
		z-index: 9999;
	}
}

h1.sec_title {
	position: relative;
	border-top: solid 3px #12295b;
	border-bottom: solid 3px #12295b;
	background: #f4f4f4;
	line-height: 1.4;
	padding: 0.4em 0.5em;
	margin: 1.5em 0 1em;
}

h1.sec_title:after {
	position: absolute;
	font-family: FontAwesome,'Quicksand','Avenir','Arial',sans-serif;
	/* content: '\f0a7\ Step1'; */
	background: #12295b;
	color: #fff;
	left: 0px;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	padding: 5px 7px 3px;
	font-size: 0.7em;
	line-height: 1;
	letter-spacing: 0.05em;
}

#no_01 .sec_title:after {
	content: '\f0a7\ Step1';
}

#no_02 .sec_title:after {
	content: '\f0a7\ Step2';
}

#no_03 .sec_title:after {
	content: '\f0a7\ Step3';
}

#no_04 .sec_title:after {
	content: '\f0a7\ Step4';
}

#no_05 .sec_title:after {
	content: '\f0a7\ Step4';
}

#form_06 .box_inner {
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#form_03 .box_inner p,
#form_06 .box_inner p {
	margin: 0.5em 0.5em;
}

#form_03 .box_inner p,
#form_19 .box_inner p {
	text-align: center;
}

#main_area .radio_btn img {
	margin-bottom: 10px;
    display: block;
}

#form_12a .radio_btn img {
	height: 124.08px;
}

#form_09 .radio_btn img {
	height: 83.75px;
}

#form_08 .radio_btn img {
	height: 100px;
}

.debug {
	color: red;
}

.val_num {
	ime-mode: disabled;
}

#proposal_container .arrow {
    margin: 0 auto 40px;
    padding-top: 15px; /* 要素の上の余白調整 */
	position: relative;
	text-align: center;
}
 
#proposal_container .arrow:before {
    width: 130px; /* 四角形の幅 */
	height: 55px; /* 四角形の高さ */
	background-color: #12295b;
    /* background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#FFFFFF), to(#12295b));
    background-image: -webkit-linear-gradient(#FFFFFF, #12295b);
    background-image: linear-gradient(#FFFFFF, #12295b); */
    content: "";
    position: absolute;
    top: 0;
    left: 50%; /* 中央寄せに使用 */
    margin-left: -60px; /* 中央寄せに使用 */
}
 
#proposal_container .arrow:after {
    border-top: 45px solid #12295b; /* 角度を緩やかなものに指定 */
    border-left: 100px solid transparent; /* 左のボーダーを透過に指定 */
    border-right: 100px solid transparent; /*右のボーダーを透過に指定*/
    content: "";
    position: absolute;
    top: 55px; /* 四角形の高さと同じ物を指定 */
    left: 50%; /* 中央寄せに使用 */
    margin-left: -95px; /* 中央寄せに使用 */
 
}
 
/* テキストの指定 */
#proposal_container .arrow span {
    position: relative;
    z-index: 3;
    font-size: 1.5em;
    font-weight: bold;
	line-height: 2.4;
	color: white;
    /* text-shadow: 2px 2px 1px rgb(255,255,255); */
}

.plan14_txt_box {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.plan14_txt_box_inner {
	text-align: center;
	margin: 10px;
}

.lead_proposal {
	margin-bottom: 10px;
}

.lead_proposal span {
	font-weight: bold;
}


.kouten_box {
	display: flex;
	flex-wrap: wrap;
}

@media (min-width:491px) {
	.kouten {
		width: 100% !important;
	}
}

.iei_box {
	text-align: center;
	margin-bottom: 10px;
}

.plan07_list .radio_btn {
	height: 160px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex-direction: column;

}

.plan08_list .radio_btn {
	height: 147px;
}

.plan09_list {
	max-width: 900px;
    margin: 0 auto;
}

.plan09_list .radio_btn {
	height: 130.75px;
}

ul.plan08_list > li:nth-child(13) > label {
	line-height: 140px;
}

ul.plan09_list > li:nth-child(8) > label {
	line-height: 120px;
}

.img_container {
	display: flex;
}

#form_16 .tuya_btn {
	width: 300px;
}

.proposal_text {
	clear: both;
	padding-top: 10px;
}

.proposal_next {
	margin-top: 10px;
}

@media (min-width:992px) { 
	.proposal_point {
		position: relative;
	}

	.proposal_next {
		position: absolute;
		right: 10px;
		bottom: 10px;
	}
}

.meal_ex {
	margin-left: 44px;
}

.saidan_indent {
	text-indent: -18px;
	padding-left: 39px;
}

.total_record {
	border-top: solid 2px #12295b;
}

.total_record th, 
.total_record td {
	font-weight: bold;
	font-size: 20px;
}

@media print {
    .no_print{
        display: none;
    }
}

.sikijou_group {
	position: relative;
	padding: 1em 0.5em;
	border: solid 2px #7fa7ff;
	border-radius: 8px;
	margin-bottom: 30px;
	border-radius: 3px;
}

.sikijou_group .box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #7fa7ff;
	font-weight: bold;
}

.plan07_list ul li label{
	height: 110px;
    padding: 5px 7px;
}

.plan07_list h2{
	color:#333 !important;
}
.plan07_list .radio_btn > span{
	font-size:80%;
}

.letter-spacing-minus-1{
	letter-spacing:-1px;
}