@charset "UTF-8";
/*====================*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter : @rich_clark
*/
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,
dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
/*background:transparent;*/
}

body {
line-height:1;
}
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
display:block;
}

nav ul {
list-style:none;
}

blockquote, q {
quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}

a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
a:visited, a:link{
	color:#000;
}
a:hover{
	color: rgba(126,30,38,1.00);
	
}


/*共通ボタン*/
.m_button::before,
.m_button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
	
}
.m_button,
.m_button::before,
.m_button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.m_button {
  margin:5px auto;

  display: inline-block;
  width: 100%;
  height: auto;
  text-align: center;
  text-decoration: none;
  line-height: 20px;
font-size:0.8em;
  outline: none;
  background-color: #583227;
  border: 2px solid #583227;
  color: #ffffff;
  line-height:20px;
		border-radius: 5px 5px 5px 5px;
}
.m_button a{
	  padding:10px 20px;
display: block;
}
.m_button a:visited, .m_button a:link{
	color:#fff;
}
.m_button:hover {
  background-color:#B2715F;
  border-color: #7E1E26;
  color: #7E1E26;
		border-radius: 5px 5px 5px 5px;
}

/*change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}

/*change colours to suit your needs */
mark {
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}

del {
text-decoration: line-through;
}

abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}

table {
border-collapse:collapse;
border-spacing:0;
}

/* change border colour to suit your needs 
*/
hr {
display:block;
height:1px;
border:0; 
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}

input, select {
vertical-align:middle;
}
/*====================*/
html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
html{
	background-color:#fff;

	
}
/*-----------共通----------------*/
a{
	text-decoration: none;
		
} 
a:visited{
	color:#000;
}
a:hover{
	color:#7E1E26;
	
}
h2{
	margin:10px;
	font-size:14pt;
}

img{
	max-width:100%;

}
img_frame{

}
.main_logo h1{
	font-size:14pt;
	padding:10px;
}


/*========ヘッダースライド=========*/
.header_slide{
		font-size:0;
background-image:url("../images/main1f/gaikan003.jpg" );
background-repeat: no-repeat;
width: 100%;
max-width:1200px;
background-position:center bottom;
-moz-background-size:cover;
 background-size:cover;
margin:10px auto;
display:block;
height:300px;
}

/*main1f　メイン*/
#main{
	padding:10px;

}
#main1f_frame, #about_frame{
	margin:0;
	padding:10px;
}

.content_frame{
	padding:10px;
	margin-bottom: 40px;
}
.content_frame h3{
	margin-top:5px;	
}
.content_frame hr{
	margin:10px 0;
}
.cf_01{
	margin:0 10px;
	line-height: 14pt;
}

/*フッター*/

.f_frame{
	max-width:1200px;
	margin:0 auto;
	text-align:right;
	padding:10px;
}
#f_menu ul{
		margin:10px ;
		font-size: 10pt;		
	list-style-type: none;
	text-align: left;
display: flex;
	flex-wrap: wrap;}

#f_menu ul li{
	padding:5px 2px;
}
.footer_banner{
padding:10px 0;
margin-left: auto;

		text-align:center;
}
.footer_banner h3{
	font-weight:normal;
	font-size:10pt;
	margin-left:10px;
	line-height: normal;
}
.copyright{
	text-align:center;
	padding:20px;
}
/*================================ 350px迄 Tablets =================================*/
/* 幅が 767px 以下であれば */
@media (max-width:767px) {
	#container{
		display:block!important;
		margin:0;
		padding:0;
	}
	#main{
		display:inline-block!important;
		margin:0;

	}
	#l-side{
		display:block!important;
		background-color: #7E1E26;
		margin:0;
		padding:0;
	}
	
}

/*================================ 767px以上 Tablets =================================*/
/* 幅が 768px 以上であれば */
@media (min-width:768px) {
	.pc_none{
		display:none;
	}
	#header_frame{
	max-width:1200px;	
		margin:0 auto;
	}

		#main{
	flex: 1 1 700px;
	}
	#l-side{
	flex: 0 0 260px;
	background: linear-gradient(#6B4336,#B97C67,#7B1D25,#7E1E26);
	}
}
/*グローバルナビ*/
/*================================ 960px以上 PC =================================*/
/* 幅が 960px 以上であれば */
@media (min-width:960px) {
	
/*========ヘッダースライド=========*/
.header_slide{
height:500px;
}	
	
	
	/*----*/
	#container{
		max-width:960px;
		margin:0 auto;
		width:100%;
   	display: flex;
	flex-flow: row-reverse nowrap;
	}

	.footer_banner{
		text-align:right;
	}

}

/* ==========================================
   フォーム専用：他ページに影響を与えない安全な設定
========================================== */

/* 1. フォーム基本設定（PC・スマホ共通） */
.wpcf7 table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 2em !important;
    table-layout: auto !important; /* PCで右側を広げるために必須 */
}

.wpcf7 th, .wpcf7 td {
    border: 1px solid #ccc !important;
    padding: 12px 15px !important;
    vertical-align: middle !important;
    text-align: left !important;
}

.wpcf7 th {
    background-color: #f6f6f6 !important;
}

/* 入力欄の基本スタイル */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    width: 90% !important; /* 基本は100% */
    padding: 10px !important;
    border: 1px solid #aaa !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
}

/* 2. PC用のレイアウト（960px以上） */
@media screen and (min-width: 960px) {
    /* 左側（見出し）を文字に合わせて最小化し、右を最大化 */
    .wpcf7 th {
        width: 1px !important; 
        white-space: nowrap !important; 
    }

    .wpcf7 td {
        display: flex !important; /* 「様」との横並びを有効化 */
        align-items: center !important;
        gap: 10px !important;
    }

    /* 入力ボックスをTDの中で限界まで広げる */
    .wpcf7 .wpcf7-form-control-wrap {
        flex: 1 !important;
    }
}

/* 3. ラジオボタン：ぶら下がりインデント設定 */
/* 2行目以降がボタンの右側に揃うようにします */
.wpcf7 .wpcf7-radio .wpcf7-list-item {
    display: block !important;
    position: relative !important;
    padding-left: 28px !important; /* 左側にスペースを作る */
    text-indent: -28px !important; /* 1行目だけ戻してボタンを置く */
    margin: 0 0 10px 0 !important;
    line-height: 1.6 !important;
    white-space: normal !important;
}

/* ラジオボタンがあるセルの横並び(Flex)を解除 */
.wpcf7 td:has(.wpcf7-radio) {
    display: block !important;
}

/* ラジオボタン（丸）自体のスタイル固定 */
.wpcf7 .wpcf7-radio input[type="radio"] {
    margin: 0 8px 0 0 !important;
    width: auto !important;
    vertical-align: middle !important;
}

/* 4. スマホ用の設定（959px以下） */
@media screen and (max-width: 959px) {
    .wpcf7 table, 
    .wpcf7 tbody, 
    .wpcf7 tr, 
    .wpcf7 th, 
    .wpcf7 td {
        display: block !important;
        width: 100% !important;
    }
    .wpcf7 th {
        border-bottom: none !important;
        padding-bottom: 5px !important;
    }
    .wpcf7 td {
        border-top: none !important;
        padding-top: 5px !important;
        padding-bottom: 20px !important;
    }
}

/* 5. 装飾パーツ（必須ラベル・ボタンなど） */
.required-contactf, .form-table th span {
    background: #7E1E26 !important;
    color: #fff !important;
    font-size: 10px !important;
    padding: 2px 5px !important;
    border-radius: 3px !important;
    margin-right: 5px !important;
    display: inline-block !important;
}

input.wpcf7-submit {
    display: block !important;
    width: 200px !important;
    margin: 20px auto !important;
    padding: 15px !important;
    background: #583227 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    cursor: pointer !important;
    font-weight: bold !important;
}

input.wpcf7-submit:hover {
    background: #B2715F !important;
}

/* 説明文の中の「必須」装飾 */
.entry-content .required-text {
    background: #7E1E26;
    color: #fff;
    font-size: 0.8em;
    padding: 2px 6px;
    border-radius: 3px;
    font-weight: bold;
}