/* page-common
-------------------------------------------------------------*/
.page-template-default { background-color:#eee; }
.pheader-inner { padding: 120px 0 200px; position:relative; overflow:hidden; }
.ptitle-box { z-index:3; position:relative; margin-top:40px; }
.ptitle-box p { color:#fff; text-align:center; }
.ptitle-box .page-title { color:#fff; text-align:center; margin-top:40px; font-size:160%; letter-spacing:5.6px; }

.pheader-image { position: absolute; width: 100%; display: block; 
	z-index: 2; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.pheader-image:before { content: ""; 
	position: absolute; top: 0; left: 0; 
	width: 100%; height: 100%; background-color: rgba(var(--blue-color-primary-rgb), .2); }
.pheader-image:after { content: "";
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
	background: linear-gradient(45deg, rgba(var(--blue-color-primary-rgb), .6) 0, transparent 70%); }
.pheader-image img { height:auto; }

.page-section { padding:48px 80px 96px; margin: -56px auto 0;
	background: #fff; position: relative; z-index: 2; box-shadow: rgba(var(--blue-color-primary-rgb), 0.1) 0px 8px 56px; }
.page-section:before { content:""; position:absolute; width:2px; height:80px;
	background-color:#fff; left:50%; transform:translate(-50%); top:-80px; }

.pheading-jpn { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; color:var(--blue-color-primary);
	font-weight: 800; font-style: normal; font-size:160%; margin-bottom:16px; letter-spacing:2.4px;  padding-left:16px; border-left:4px solid var(--blue-color-primary); }

.page-table { width:100%; }
.page-table tr { border-bottom:1px solid #eee; }
.page-table tr:last-child { border-bottom:none; }
.page-table th,.page-table td { padding:16px 12px; }
.page-table th { text-align:left; vertical-align:middle; font-weight:900; color:var(--blue-color-primary); }

.breadcrumbs { margin-top:24px; margin-bottom:64px; }
.cta-section { margin-top:80px; }

.heading2 { font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto;
	color:var(--blue-color-primary); 
	font-weight: 800; font-style: normal; font-size:180%; letter-spacing:1px;  }

.heading2-left { border-left:4px solid var(--blue-color-primary); padding:2px 0px 2px 16px;  }

@media (max-width: 1200px){
	.pheader-image img { height:580px; object-fit:cover; }}

@media (max-width: 991px){
	.pheader-inner { padding: 80px 0 120px; }
	.page-section { padding:56px 6.4% 64px; margin: -56px 4% 0; width:92%; }
	.page-section:before { height:48px; top:-48px; }}

@media (max-width:767px){
	.ptitle-box .page-title { margin-top:12px; font-size:152%; }}

@media (max-width: 599px){
	.page-table th,.page-table td { display:block; }
	.page-table th { padding:12px 0px 0px; }
	.page-table td { padding:2px 4px 12px; }
}


/* business
-------------------------------------------------------------*/
.business-box { align-content: center; }
.business-box2 { margin-top:40px; }
.business-intro3 { flex-direction: row-reverse; }
.business-image { width:36%; margin-right:4%; }
.business-image img { height:auto; }
.business-text { width:60%; }
.business-text h3 { font-size:120%; color:var(--blue-color-primary); margin-bottom:12px; line-height:1.4; }

.button-wrap { margin-top:40px; margin-left:auto; }

.page-id-18 .button-primary { width:64%;  margin-left: auto; }

@media (max-width:767px){
	.business-image { width:100%; margin-right:0%; }
	.business-text { width:100%; margin-top:16px; }
	.page-id-18 .button-primary  { width:100%; margin-right: auto; }
}
	
	
/* company
-------------------------------------------------------------*/
.policy-list li { width:31%; background-color:#eee; padding:24px; text-align:center; }
.policy-list li:nth-child(3n-1) { margin:0 2%; }
.policy-list li span { display:block; text-align:center; font-weight:900; }
.message-image { width:36%; } 
.message-text { width:60%; margin-left:4%; } 


.timeline-list {
    padding: 40px 0;
}

.timeline-list-item {
    display: flex;
    line-height: 1.5;
    font-size: 16px;
}

.timeline-list-item .date {
    width: 152px;
    color: var(--blue-color-primary);
    font-weight: bold;
}

.timeline-list-item .content {
    position: relative;
    width: calc(100% - 152px);
    padding: 0 16px 40px 32px;
    border-left: 2px solid var(--red-color-primary);
}

.timeline-list-item .content::before {
    content: "";
    position: absolute;
    top: 0;
    left: -9px;
    width: 16px;
    height: 16px;
    background-color: var(--red-color-primary);
    border-radius: 16px;
}


@media (max-width:960px){
	.timeline-list-item { flex-direction: column; }
	.timeline-list-item .date { 
		padding: 0 0 0 32px;
		width: 100%; border-left: 2px solid var(--red-color-primary); position:relative; }
	.timeline-list-item .date::before {
    content: "";
    position: absolute;
    top: 0;
    left: -9px;
    width: 16px;
    height: 16px;
    background-color: var(--red-color-primary);
    border-radius: 16px;
}
	.timeline-list-item .content { width: 100%; }
	
	.timeline-list-item .content::before { content:none; }
	
}


@media (max-width:767px){
	.policy-list { width:72%; margin:0 14%; }
	.policy-list li { width:100%; margin-bottom:4%; }
	.policy-list li:nth-child(3n-1) { margin:0 0 4%; }
	.message-image { width:72%; margin:0 14%; } 
	.message-text { width:100%; margin-left:0%; margin-top:16px; }}
	
@media (max-width:480px){
	.policy-list { width:100%; margin:0; }
	.message-image { width:100%; margin:0; }}


/* download
-------------------------------------------------------------*/
.page-id-110 .button-primary { width: 56%; }

@media (max-width:767px){
	.page-id-110 .button-primary { width: 100%; }}

/* contact
-------------------------------------------------------------*/
.contact-table { margin-top:40px; }
.contact-table { width:100%; }
.contact-table th,.contact-table td { text-align:left; padding:16px 12px; vertical-align:top; }
.contact-chip { padding: 2px 8px; margin-left: 4px; font-size:80%; border-radius: 4px; color: #fff; line-height:1; }
.required { background-color: var(--red-color-primary); }
.any { background: #aaa; }
form input[type=url],form input[type=tel], form input[type=date], form input[type=email], form input[type=password], form input[type=text], form select, textarea,form select { accent-color: var(--green-color-primary);
	border: 1px solid #ccc; background-color:#fff;box-shadow: 0 1px 0 1px rgb(0 0 0 / 4%); 
   border-radius: 8px; padding: 12px; font-size: 100%; width:100%; -webkit-appearance: none; appearance: none; }
textarea { font-size:16px; }
form select { background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22icon%20icon-tabler%20icon-tabler-chevron-down%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%223%22%20stroke%3D%22%23d9a941%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20stroke%3D%22none%22%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%20%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%20%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat; background-position: right .7em top 50%; background-size: 1em auto; }
.submitbtn { text-align:center; }
input[type=submit] { color: #fff; cursor: pointer; font-weight: 900; font-size:120%;
	text-align: center; display: inline-block; line-height: 1; padding: 24px; background-size: 300% 100%;
	margin-top:24px; box-shadow: rgb(149 157 165 / 80%) 0px 8px 24px; border:none;
   transition:background-position var(--base-duration) var(--base-easing);
	width:80%; border-radius:40px; background-color: var(--blue-color-primary); letter-spacing: 1px; }
input[type=submit]:active { background-position: 100% 0; box-shadow: rgb(149 157 165 / 20%) 0px 8px 24px; }
.wpcf7-not-valid-tip { color: #C44134; font-size: 100%; font-weight: 900; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	border: none; background-color:#C44134; color:#fff;
	font-size:120%; text-align:center; font-weight:900; padding:16px; margin:16px 0px 0px; }
.wpcf7 form.sent .wpcf7-response-output { border: none; background-color:var(--red-color-primary); color:#fff;
	font-size:120%; text-align:center; font-weight:900; padding:16px; margin:16px 0px 0px; border-radius: 40px; }
::-webkit-input-placeholder { color:rgba(44,44,44,0.8); letter-spacing:1px; }
:-ms-input-placeholder { color:rgba(44,44,44,0.8); letter-spacing:1px; }
::placeholder{ color:rgba(44,44,44,,0.8); letter-spacing:1px; font-size:100%; }
textarea::placeholder{ color:rgba(44,44,44,,0.8); letter-spacing:1px; font-size:100%; }
.screen-reader-response { display:none; }

@media (hover: hover) and (pointer: fine) {
	input[type=submit]:hover { background-position: 100% 0; box-shadow: rgb(149 157 165 / 20%) 0px 8px 24px; }
	.contact-area:hover { box-shadow: rgb(149 157 165 / 60%) 4px 16px 32px; transform:translateY(-8px);  }
	.contact-area-line:hover { box-shadow: rgb(6 199 85 / 60%) 4px 16px 32px; transform:translateY(-8px); }}

@media (max-width:767px) {
	.contact-table th,.contact-table td { display:block; }
	.contact-table th { padding:16px 0px 4px; }
	.contact-table td { padding:4px 0px 4px; }}

@media screen and (max-width: 599px) {
	.contact-intortext br { display:none; }
	input[type=submit] { width: 100%; font-size:110%; }
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.sent .wpcf7-response-output { font-size:100%; padding:16px 32px; border-radius: 80px; margin-top:0px; }}

