/*
Theme Name: habakiri-child
Theme URI: http://2inc.org
Description: Habakiri の子テーマ
Author: Takashi Kitajima
Author URI: http://2inc.org
Version: 1.0.0
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Template: habakiri
*/

@media screen and (min-width: 980px) {
.container_box {
    margin: 1em 0 1em;
    padding: 1.5em 4em;
    background: #FFF;
    border-radius: 8px;
}
}
@media screen and (max-width: 450px) {
.container_box {
    margin: 1em 0em 1em;
    padding: 1.5em 0em;
    background: #FFF;
    border-radius: 8px;
}
}

.container {
    padding: 0;
}
.container_box_2 {
    width: 100%;
    padding: 60px 0;
    background: #ea5532;
}
.container_box_3 {
    width: 100%;
    padding: 0;
    background: #ea5532;
}
.container_box_3 .col-md-6 {
    padding-left: 0;
    padding-right: 0;
}
.bb_p {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%); /* Safari用 */
    transform: translate(-50%, -50%);
}
.boxbox {
    color: #ffffff;
    min-width: 500px;
    margin: auto;
    text-align: center;
}
.boxbox2 {
    width: 100%;
    padding: 0;
    margin: 0;
}

.category-box {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 0.5em;
    border: solid 1px #dccb18;
    border-radius: 8px;
}
.category-box .category-box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 6px 9px;
    line-height: 1;
    font-size: 2.0rem;
    background: #FFF;
    color: #cd5e3c;
    font-weight: bold;
    border-radius: 8px;
}
.category-box div.dotline {
    border-bottom:dotted 1px #666666;
    margin:30px 0 30px;
    font-size:1.4rem;
}
.category-box div.day {
    font-size:10px;
    color:#888888;
}
.row {
    margin:0 0 10px;
}

body {
	font-family:'Open Sans', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	font-size:1.4rem;
	line-height:1.7;
	color:#8c6450;
}
.yoc {
	text-align:center;
}
.under2 {
	color: #444444;
	font-weight: 600;
	font-size: 2.0em;
	position: relative;
	display: inline-block;
	margin-bottom: 2em;
}
.under2:before {
	content: '';
	position: absolute;
	left: 0%;
	bottom: -15px;/*線の上下位置*/
	display: inline-block;
	width: 60px;/*線の長さ*/
	height: 3px;/*線の太さ*/
	-moz-transform: translateX(0%);
	-webkit-transform: translateX(0%);
	-ms-transform: translateX(0%);
	transform: translateX(0%);/*位置調整*/
	background-color: #ea5532;/*線の色*/
	border-radius: 2px;/*線の丸み*/
}
.mid {
	text-align: center;
	padding: 40px 0 40px;
}
h2 {
  position: relative;
  color: #21adff;
  text-shadow: 0 0 5px white;
}

h2:before {
  content: "";
  position: absolute;
  background: #CCECF1;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  top: 50%;
  /* border: dashed 1px white; */
  left: -15px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: -1;
}


h2 span {
	color: #e8383d;
	font-weight: 100;
	font-size: 0.7em;
}
h3 {
	color: #21adff;
	font-weight:600;
	font-size: 1.3em;
}
.mid_3 {
	font-size: 2.0em;
        display: block;
	margin: 0 auto 30px;
	padding: 0px 0 15px;
	font-weight:600;
	text-align:center;
	border-bottom: 1px #c0c0c0 solid;
}
.mid_3_bl {
	font-size: 2.0em;
        display: block;
	margin: 0 auto 30px;
	padding: 0px 0 15px;
	font-weight:600;
	color: #444444;
	text-align:center;
	border-bottom: 1px #c0c0c0 solid;
}
.mid_3_w {
	font-size: 2.0em;
        display: block;
	margin: 0 auto 30px;
	padding: 0px 0 15px;
	font-weight:600;
	color: #ffffff;
	text-align:center;
	border-bottom: 1px #ffffff solid;
}
h4 {
        color:#000000;
	font-weight:normal;
}
.habakiri-slider__item-content {
	font-size: 2.0em;
	text-align:center;
}
.habakiri-slider__item-content {
  color: #000000;
  position: absolute;
  left: 0;
  right: 0;
  top: 40%;
  transform: translateY(-50%); }
  .habakiri-slider__item-content a {
    color: #fff; }
.copyright{
	color:#ffffff;
	background:#CBE5C1;
	text-align:center;
	padding:2em 0;
}
.copyright a {
	color:#CD5E3C;
}
.copyright a:hover {
	color:#f8e58c;
}
img .rad{
    border-radius: 4px;
}

/*　ContactForm7のテーブル化レスポンシブ調整　*/

/*テーブルを親要素の幅いっぱいに伸ばす*/
.table-res-form {
    width: 100%;
}

/*「必須」部分のスタイリング*/
.table-res-form .requied {
    font-size: 0.8em;
    color: #FFF;
    display: inline-block;
    padding: 0.3em 0.3em 0.2em;
    background: red;
    border-radius: 2px;
}

/*ここから入力欄のスタイル指定*/

/*各入力フォームスタイリング*/
.table-res-form input[type="text"], input[type="tel"], input[type="email"], textarea {
    border: 1px #89BDDE solid;
    padding: 0.5em;
    border-radius: 5px;
    margin-bottom: 0.5em;
    width: 100%;
}
/*入力欄にフォーカスしたら変化*/
.table-res-form input[type="text"]:focus, textarea:focus {
    background: #EEFFFF;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}
/*送信ボタンスタイリング*/
.table-res-form input[type="submit"] {
    border: 1px #89BDDE solid;
    margin-top: 1em;
    padding: 0.5em 4em;
    border-radius: 5px;
    background: #4C9ED9;
    color: #fff;
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    font-weight: bold;
}
/*送信ボタン・マウスオーバー時スタイリング*/
.table-res-form input[type="submit"]:hover {
    background: #006599;
    box-shadow: none;
}

.box_b {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 1px #999999;
    border-radius: 8px;
}

/*----------------------------------------------------
  フッターウィジェットエリア
----------------------------------------------------*/

.footer-widget-area {
    color:#ffffff;
    padding: 5em 2em;
}
.footer-widget-area ul {
    padding: 2em 1em;
}
.footer-widget-area h2 {
    color:#ffffff;
    font-weight:100;
}

section table { width: 100%; }
section th, section td  { padding: 10px; border: 1px solid #ddd; }
section th  { background: #f4f4f4; }
 
/*----------------------------------------------------
  table装飾
----------------------------------------------------*/
.tab01 {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
.tab01 th {
    width: 25%;
    text-align: left;
    font-weight: normal;
    padding: 1em;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
    background: #f8f4e6;
}
.tab01 td {
    width: 75%;
    padding: 1em;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
 
@media only screen and (max-width:480px){
    .tab01 th,
    .tab01 td{
    width: 100%;
    display: block;
    border-top: none;
    }
.tab01 {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    border: 1px solid #e8d3c7;
    line-height: 1.5;
}
}

.main_menu {
    font-family: "Oswald", sans-serif;
    font-size: 1.4em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.menu-item {
    line-height: 1.2;
}

p {
    margin: 0 0 2.4em;
}

.topbox_b {
    width: 80%;
    color: #FFF;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin: 0px auto 0px;
    background: #000000;
}
.topbox {
    width: 80%;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin: 0px auto 0px;
    border: 1px solid #c0c0c0;
}
.topbox2 {
    width: 80%;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    margin: 0px auto 0px;
    border: 1px solid #ea5532;
}
.topbox_b:nth-of-type(2n) {
    flex-direction: row-reverse;
    border: 1px solid #ea5532;
}
.box1 {
    width: 50%;
}
.of {
    object-fit: cover;
}
.box2 {
    min-width: 500px;
    margin: auto;
    text-align: center;
}
.linkbox {
    color: #ffffff;
    padding: 8px 15px;
    border: 1px #ffffff solid;
    display: block;
}
.linkbox:hover {
    color: #ffffff;
    padding: 8px 15px;
    border: 1px #ffffff solid;
    display: block;
    background: #deb887;
}
@media screen and (max-width: 768px){
.topbox {
    display: block;
}
.box2 {
    min-width: 100%;
    margin: auto;
    padding: 30px 0;
    font-size: 1.1rem;
}
.box1 {
    width: 100%;
}
.box1 img {
    width: 100%;
    max-width: none;
    height: 134px;
    object-position: 50% 60%;
}
.box2 {
    min-width: 100%;
    margin: auto;
    padding: 30px 0;
    font-size: 1.1rem;
}
}
.footer-widget-area h2 {
    color: #e2041b;
	font-weight: 700;
}

h4 {
  background: #FFEEEE; /*背景色*/
  padding: 0.5em;/*文字周りの余白*/
  color: black;/*文字を白に*/
  border-radius: 0.5em;/*角の丸み*/
}


/*固定背景*/
.bg_1 {
    display: block;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 105;
    margin: 0px;
}
.bg_1 img {
    vertical-align: top !important;
}


.responsive-nav .menu-item {
  width: 145px;
}


.article {
	width:85%;
	margin: 0 auto;
}

.top_box {
    text-align: center;
    border: 4px dotted #fc0a3f;
    padding: 30px;
    margin: 50px auto;
}

@media screen and (max-width: 768px) {
.top_box {
    text-align: left;
    border: 4px dotted #fc0a3f;
    padding: 20px 15px;
    margin: 50px auto;
}
}


/*ContactForm7カスタマイズ*/
table.CF7_table{
	width:80%;
	margin:0 auto;
	border: 3px solid #e5e5e5;
}

table.CF7_table tr{
	border-top: 1px solid #e5e5e5;
}

.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}

/*入力欄*/
.CF7_table input, .CF7_table textarea {
	border: 1px solid #d8d8d8;
}

.CF7_table ::placeholder {
	color:#797979;
}

/*「必須」文字*/
.CF7_req{
	font-size:.9em;
	padding: 5px;
	background: #f79034;/*オレンジ*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.9em;
	padding: 5px;
	background: #bdbdbd;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right:1em;
}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#ebedf5;/*ブルーグレー*/
    padding: 10px;
	}
}

table.CF7_table td {
    padding: 15px;
}

/* レスポンシブ */
@media screen and (max-width: 768px){
	table.CF7_table{
	width:95%;
	}
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	line-height:2.5em;
	}
	.CF7_table th{
	background-color:#ebedf5;
	}
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#f79034;/* オレンジ*/
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	margin:0 auto;
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}

.footer_box {
    text-align: center;
}
p.footer_01 {
    font-size: 28px;
    margin: 25px auto !important;
}
p.footer_02 {
    font-size: 18px;
}
p.footer_03 {
    font-size: 12px;
}


.bosyu {
    border-collapse: collapse;
    width: 100%;
    margin: 3rem auto 5rem;
}
.bosyu tr {
    background-color: #fff;
}
.bosyu tr:nth-child(odd) {
    background-color: #ffeeee;
}
.bosyu th,
.bosyu td {
    padding: 1.5em;
}
.bosyu th {
    font-weight: bold;
    text-align: center;
    width: 20%;
    font-size: 15px;
    border: none;
}

@media screen and (max-width:480px) {
.bosyu th,.bosyu td {
    display: block;
    width: 100%;
}
.bosyu th,{
    padding: 1.5rem;
}
.bosyu td {
    padding: 1rem;
}
}

.table01 {
    width: 100%;
}

.table01 td, th {
    border: solid 1px #ccc;
    padding: 1.5rem;
}
.table01 th {
    width: 20%;
}
.table01 td {
    width: 40%;
}

@media screen and (max-width:480px) {

    .table01 th,
    .table01 td {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* TOP YouTube */
p.top_video {
    text-align: center;
    margin-top: 50px !important;
}

a.linkbtn {
    background-color: #21adff;
    color: #fff;
    padding: 1rem 2rem;
    margin: 25px auto;
    font-size: 2rem;
    border-radius: 8px;
}