@charset "UTF-8";
/*
Theme Name: Twenty Nineteen Child
Template: twentynineteen
*/

/* 申し込みフォーム
------------------------------------------------------------ */

.entry .entry-title {
	color: #fff;
	font-size: 26px;
	padding: 50px 20px;
	text-align: center;
	text-shadow: 1px 2px 3px #333;
}

.entry .entry-title:before {
	display: none;
}

.entry .next-header {
	background-image: url(/wp-content/themes/twentynineteen-child/images/bg.jpg);
	background-repeat: repeat;
	background-position: 10% center;
	background-size: cover;
	margin: 0;
}

.entry .ouchi-header {
	background-image: url(/wp-content/themes/twentynineteen-child/images/bg-ouchi.jpg);
	background-repeat: repeat;
	background-position: 10% center;
	background-size: cover;
	margin: 0;
}


body {
	font-size: 14px;
}

p.button-center {
	margin-top: 20px;
    text-align: center;
}

small {
	font-size: 14px;
}

span.wpcf7-list-item {
	margin: 0;
}

.contact-any {
    background-color: #888;
    color: #fff;
    display: inline-block;
    font-weight: bold;
    margin-right: 10px;
    padding: 0 8px;
}

.contact-example {
    color: #888;
}

.contact-required,
.contact-optional {
    background-color: #f00;
    color: #fff;
    display: inline-block;
    font-weight: bold;
    margin-right: 10px;
    padding: 0 8px;
}

.contact-optional {
    background-color: #888;
}

.footer-navigation {
	float: right;
	font-size: 14px;
}

.footer-navigation .footer-menu li {
	margin-right: 0;
}

.next-branding {
	margin: 0 auto;
	width: 150px;
}

.ouchi-branding {
	margin: 0 auto;
	width: 165px;
}

.site-footer {
	background: #f7f7f7;
}

table.contact-form {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 90%;
	margin: 0 0 1.8em;
    table-layout: fixed;
    width: 100%;
}

table.contact-form th, 
table.contact-form td {
	border: solid 1px #eee;
	padding: 1em 1.2em;
}

table.contact-form th {
	background-color: #f4f5f6;
	font-weight: 600;
	text-align: left;
	width: 30%;
}

input.submit-btn {
	background: #009a44;
	border: 1px solid #009a44;
	color: #fff;
	font-size: 1.1em;
	font-weight: bold;
    padding: 15px 25px;
	transition: .3s;	
}

input.submit-btn:focus,
input.submit-btn:hover {
	background: #fff;
	color: #009a44;  
}

@media screen and (min-width: 768px) {
	input[type="text"], 
	input[type="email"], 
	input[type="url"], 
	input[type="password"], 
	input[type="search"], 
	input[type="number"], 
	input[type="tel"], 
	input[type="range"], 
	input[type="date"], 
	input[type="month"], 
	input[type="week"], 
	input[type="time"], 
	input[type="datetime"], 
	input[type="datetime-local"], 
	input[type="color"], 
	textarea {
		width: 70%;
	}
	
	table.contact-form {
		margin: 0;
	}
			
	.entry .entry-content {
		margin: 0 auto;
		padding: 0;
		width: 800px;
	}
	
	.entry .entry-content hr {
		margin: 10px 0;
	}
	
	.entry .entry-content hr:not(.wp-block-separator) {
		max-width: 100%;
	}
	
	.entry .entry-content > * {
		max-width: 100%;
		width: 800px;
	}
	
	.entry .entry-footer {
		margin: 20px auto;
		max-width: 100%;
		width: 800px;
	}
				
	.site-header {
		padding: 20px 0;
	}
	
	.wrap-table {
		border: solid 2px #eee;
		padding: 10px;
	}
}
		
@media screen and (max-width: 767px) {
	input[type="text"], 
	input[type="email"], 
	input[type="url"], 
	input[type="password"], 
	input[type="search"], 
	input[type="number"], 
	input[type="tel"], 
	input[type="range"], 
	input[type="date"], 
	input[type="month"], 
	input[type="week"], 
	input[type="time"], 
	input[type="datetime"], 
	input[type="datetime-local"], 
	input[type="color"], 
	textarea {
		max-width: 100%;
	}
	
	html {
		font-size: 13px;
	}
	
    table.contact-form td {
        display: block;
        padding: 10px;
    }
    
    table.contact-form th {
        display: block;
        padding: 10px;
		width: 100%;
    }
	
	#colophon .site-info {
		margin: 20px;
	}
	
	.entry-title {
		font-size: 1.375rem;
	}
	
	.site-branding {
		margin: 0 auto;
		width: auto;
	}
}

@media only screen and (min-width: 1168px) {
	#colophon .site-info {
		margin: 40px auto;
		width: 800px;
	}
	
	.entry .entry-content > * {
		max-width: 800px;
	}
	
	.entry .entry-content hr:not(.wp-block-separator) {
		max-width: 100%;
	}
}


/* e-おうち光取次用案内ページ
------------------------------------------------------------ */

body.page-template-e-ouchi {
	color: #333;
}

body.page-template-e-ouchi h2 {
	background: #ed7700;
	color: #fff;
	font-size: 40px;
	margin: 40px calc(50% - 50vw) 20px;
	padding: 20px;
	text-align: center;
}

body.page-template-e-ouchi h2:before {
	display: none;
}

body.page-template-e-ouchi h3 {
	background: #e68e36;
	color: #fff;
    font-size: 28px;
	margin: 40px calc(50% - 50vw) 20px;
	padding: 20px;
	text-align: center;
}

body.page-template-e-ouchi h4 {
	border-bottom: 2px solid #ed7700;
    color: #ed7700;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
	text-align: center;
}


body.page-template-e-ouchi .title-monthly {
	background: #fff8dc;
	color: #333;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	margin-top: 0;
	padding: 10px;
	text-align: center;
}

body.page-template-e-ouchi .entry .entry-content .wp-block-image .aligncenter {
	max-width: 100%;
	width: auto;
}

body.page-template-e-ouchi .text-strong {
	background: #fff8dc;
	color: #333;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 20px;
	padding: 10px;
	text-align: center;
}

body.page-template-e-ouchi p.list-title {
	border-bottom: 2px solid #3cb035;
	color: #3cb035;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
}

body.page-template-e-ouchi p.title-under {
	margin-top: 0;
}

body.page-template-e-ouchi ul.list-style {
	margin-top: 0;
}

body.page-template-e-ouchi .wp-block-button__link {
	background-color: #ed7700;
	font-size: 24px;
	font-weight: bold;
	margin: 20px 0 40px;
	width: 50%;
}

body.page-template-e-ouchi .wp-block-button__link:hover {
	background-color: #f5b06b;
}

body.page-template-e-ouchi .wp-block-button__link:focus {
	text-decoration: none;
}

.main-visual {
	text-align: center;
}

.marker {
	background: linear-gradient(transparent 60%, #ed7700 0%);
}

.applicable-image {
	display: table;
	margin: 0 auto;
}

.applicable-list {
	font-size: 20px;
	margin-top: 0;
}

.applicable-list dt {
	color: #ed7700;
	font-size: 24px;
}

.applicable-list dt::before {
	content: url(images/check-box.png);
	position: relative;
	top: 2px;
}

.applicable-list dd {
	margin-left: 0;
}

.applicable-list {
	list-style: none;
	padding-left: 0;
}

.applicable-list li {
	color: #ed7700;
	font-size: 22px;
	font-weight: bold;
}

.applicable-list li::before {
	content: url(images/check-box.png);
	position: relative;
	top: 2px;
}
	
.applicable-text {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.discount-list {
	list-style: none;
	padding-left: 0;
}

.discount-list li {
	font-size: 20px;
}

.campaign-benefit {
	background: #fff;
	border: 5px solid #ed7700;
	color: #333;
	font-size: 24px;
	padding: 0;
	text-align: center;
}

.campaign-benefit-title {
	color: #ed7700;
	font-weight: bold;
	margin-bottom: 10px;
}

.campaign-benefit-point {
	font-weight: bold;
	margin-top: 10px;
}

.campaign-benefit-strong {
	color: #ed7700;
	font-size: 30px;
}

.entry-header-e-ouchi {
	display: none;
}

.hikari-point {
	background: #ed7700;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0;
	padding: 20px;
	text-align: center;
}

.hikari-point-strong {
	font-size: 24px;
    font-weight: bold;
	line-height: 1.5;
    text-align: center;
}

.hikari-point-induction {
	border: 3px solid #f00;
	color: #f00;
	font-size: 24px;
    font-weight: bold;
	line-height: 1.5;
	margin: 40px 0;
	padding: 10px;
    text-align: center;
}

.notice-e-ouchi {
	font-size: 11px;
}

.monthly-strong {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.8;
	text-align: center;
}

.bring-link {
	font-size: 16px;
    font-weight: bold;
	text-align: right;
}

.bring-link a {
	background: url(images/arrow-link.png) no-repeat left 0 top 4px;
	color: #333;
	padding: 0 0 5px 17px;
	text-decoration: underline;
}

.bring-link a:hover {
	color: #ed7700;
}

.site-branding-e-ouchi {
	display: table-cell;
	vertical-align: middle;
	width: 320px;
}

.site-title-e-ouchi {
	display: table;
}

.site-title-e-ouchi img {
	display: table-cell;
	vertical-align: middle;
}

.head-number {
	display: inline-block;
	margin-left: 20px;
	width: 300px;
}

.site-tel-e-ouchi {
	display: table-cell;
	float: right;
	vertical-align: middle;
}

.site-tel-e-ouchi .inner {
    display: table;
}

.site-tel-e-ouchi a {
    color: #333;
}

.site-tel-e-ouchi .fd {
    display: table-cell;
    font-weight: bold;
	padding-top: 0;
}

.site-tel-e-ouchi .reception {
    color: #333;
	font-size: 12px;
    font-weight: bold;
	margin-bottom: 5px;
	padding: 2px;
    text-align: left;
}

.site-tel-e-ouchi .num {
    color: #3cb035;
	font-size: 38px;
    line-height: 1;
}

.site-tel-e-ouchi.num img {
    margin-right: 5px;
    padding-bottom: 5px;
    vertical-align: middle;
}

.flow-campaign-e-ouchi {
	overflow: hidden;
}

ul.flow-campaign-e-ouchi  {
	list-style: none;
	padding-left: 0;
}

.flow-campaign-e-ouchi li {
	background: url(images/arrow.png) no-repeat right 8px top 110px;
	float: left;
	padding-right: 33px;
	width: 250px;
}

.flow-campaign-box {
	align-items: center;
	background: #fff;
	border-bottom: solid 4px #9fa0a0;
	border-left: solid 4px #9fa0a0;
	border-right: solid 4px #9fa0a0;
	color: #333;
	display: flex;
	flex-flow: column;
	font-size: 14px;
	font-weight: bold;
	height: 200px;
	justify-content: center;
	line-height: 1.8;
	text-align: center;
}

.flow-campaign-box p {
	display: block;
}

.flow-campaign-number {
	background: #9fa0a0;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	width: 100%;
}

.flow-campaign-strong {
	display: block;
	font-size: 18px;
	line-height: 1.5;
	margin-bottom: 10px;
}

.flow-campaign-e-ouchi li:last-child {
	background: none;
	display: inline-block;
	padding-right: 0;
	width: 250px;
}

.flow-campaign-e-ouchi li:last-child .flow-campaign-box {
	color: #ed7700;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 15px;
}

.flow-start-e-ouchi {
	overflow: hidden;
}

ul.flow-start-e-ouchi  {
	list-style: none;
	padding-left: 0;
}

.flow-start-e-ouchi li {
	background: url(images/arrow.png) no-repeat right 8px top 66px;
	float: left;
	padding-right: 33px;
	width: 164px;
}

.flow-start-title {
	background: #fff;
	border: 3px solid #ed7700;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	line-height: 39px;
	text-align: center;
}

.flow-start-e-ouchi li:last-child {
	background: none;
	display: inline-block;
	padding-right: 0;
	width: 180px;
}

ul.flow-discount  {
	list-style: none;
	padding-left: 0;
}

.flow-discount li:last-child .flow-start-title {
	border: 3px solid #ed7700;
	color: #333;
	margin-bottom: 15px;
}

.flow-discount li {
	background: url(images/arrow.png) no-repeat right 8px top 80px;
	float: left;
	padding-right: 33px;
	width: 340px;
}

.flow-discount-title {
	background: #fff;
	border: 3px solid #ed7700;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	line-height: 39px;
	padding: 10px;
	text-align: center;
}

.flow-discount li:last-child {
	background: none;
	display: inline-block;
	padding-right: 0;
	width: 320px;
}

.flow-discount li:last-child .flow-discount-title {
	border: 3px solid #ed7700;
	color: #333;
	margin-bottom: 15px;
}

.asterisk-note {
	font-size: 10px;
}

table.about-e-ouchi th {
	background: #e2e2e2;
	white-space: nowrap;
}

.note-box {
	background: #e8e8e8;
	margin-bottom: 40px;
	padding: 20px;
}

@media only screen and (max-width: 767px) {
	body.page-template-e-ouchi h2 {
		font-size: 30px;
	}
	
	body.page-template-e-ouchi .text-strong {
		font-size: 24px;
	}
	
	body.page-template-e-ouchi .wp-block-button__link {
		width: 100%;
	}

	.site-header {
		padding: 10px;
	}
	
	.entry-content-e-ouchi {
		padding: 0 10px;
	}
		
	.flow-campaign-box {
		height: auto;
	}
	
    .flow-campaign-e-ouchi li {
		background: url(images/arrow-down.png) no-repeat center bottom 8px;
		padding: 0 0 33px;
		width: 100%;
    }
	
    .flow-campaign-e-ouchi li:last-child {
		width: 100%;
    }
	
    .flow-start-e-ouchi li {
		background: url(images/arrow-down.png) no-repeat center bottom 8px;
		padding: 0 0 33px;
		width: 100%;
    }
	
    .flow-start-e-ouchi li:last-child {
		width: 100%;
    }
	
	.flow-start-e-ouchi li p {
		text-align: center;
		margin-bottom: 0;
	}
	
    .flow-discount li {
		background: url(images/arrow-down.png) no-repeat center bottom 8px;
		padding: 0 0 33px;
		width: 100%;
    }
	
    .flow-discount li:last-child {
		width: 100%;
    }
	
	.flow-discount li p {
		text-align: center;
		margin-bottom: 0;
	}
	
	.site-tel-e-ouchi .reception {
		background: #ed7700;
		color: #fff;
		text-align: center;
	}
	
	.site-branding-e-ouchi {
		display: flex;
		justify-content: center;
		width: auto;
	}
	
	.head-number {
		margin-left: 0;
		text-align: center;
		width: 100%;
	}
	
	.site-tel-e-ouchi {
		border: solid 2px #ed7700;
		width: 100%;
	}
	
	.site-tel-e-ouchi .inner {
		width: 100%;
	}
	
	.site-tel-e-ouchi .num {
		padding: 10px;
		text-align: center;
	}
	
	.site-tel-e-ouchi .num img {
		display: none;
	}
	
	.applicable-list dt::before {
		background: url(images/check-box-2x.png);
		background-size: 28px 23px;
		content: '';
		display: inline-block;
		height: 23px;
		position: relative;
		top: 2px;
		width: 28px;
	}
		
	table.about-e-ouchi td,
	table.about-e-ouchi th {
		display: block;
	}
	
	table.about-e-ouchi td {
		padding: 10px;
	}
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}	
	
	.site-branding-container {
		display: table;
		margin: 0 auto;
		width: 100%;
	}
	
	.sp-br {
		display: none;
	}
	
	.hidden-pc {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.hidden-sp {
		display: none;
	}
}

@media screen and (min-width:768px) and ( max-width:999px) {	
	.site-branding-e-ouchi {
		display: flex;
		justify-content: center;
		width: auto;
	}	
	
	.site-tel-e-ouchi .reception {
		background: #ed7700;
		color: #fff;
		text-align: center;
	}
	
	.site-tel-e-ouchi {
		border: solid 2px #ed7700;
		width: 100%;
	}
		
	.site-tel-e-ouchi .inner {
		width: 100%;
	}
	
	.site-tel-e-ouchi .num {
		text-align: center;
	}
	
	.site-tel-e-ouchi .num img {
		display: none;
	}
	
	.flow-campaign-e-ouchi li {
		background: url(images/arrow-down.png) no-repeat center bottom 8px;
		padding: 0 0 33px;
		width: 100%;
	}
	
    .flow-campaign-e-ouchi li:last-child {
		width: 100%;
    }
	
    .flow-start-e-ouchi li {
		background: url(images/arrow-down.png) no-repeat center bottom 8px;
		padding: 0 0 33px;
		width: 100%;
    }
	
    .flow-start-e-ouchi li:last-child {
		width: 100%;
    }
}

@media only screen and (min-width: 1000px) {
	.site-branding-container {
		display: table;
		margin: 0 auto;
		width: 1000px;
	}
	
	.entry .entry-content-e-ouchi {
		margin: 0 auto;
		padding: 0;
		width: 1000px;
	}
}

@media only screen and (max-width: 1000px) {
	.entry-content-e-ouchi .main-visual {
		margin-bottom: 20px;
	}
		
	.campaign-benefit {
		margin: 10px 0;
		padding: 10px;
	}
	
	.wp-block-image {
		margin-bottom: 0;
	}
}

h2 {
    color: #333;
    font-size: 22px;
    text-align: center;
}

h2:before {
    display: none;
}

select {
    background: #fff;
    border: solid 1px #ccc;
    border-radius: 0;
    box-sizing: border-box;
    cursor: pointer;
    outline: none;
    padding: 0.36rem 0.66rem;
}

.wpcf7 .ajax-loader {
    display: block;
    margin: 0 auto;
}
