@charset "UTF-8";
/* CSS Document */
.sec-white {
	width: 100%;
}
.sec-gray {
	width: 100%;
	background-color: #f5f5f5;
}

#pagetitle {
	width: 100%;
	height: 300px;
	overflow: hidden;
	position: relative;
	margin-top: 80px;/*120px;*/
}
.pageimg {
	width: 100%;
	height: auto;
	position: absolute;
}
.pageimg img {
	width: 100%;
	height: auto;
	min-width: 1400px;
}
.pagename {
	color: rgba(255,255,255,1.00);
	font-size: 34px;
	font-weight: bold;
	position: absolute;
	background-color: rgba(0,0,0,0.60);
	text-align: center;
	height: 300px;
	line-height: 300px;
	width: 100%;
	font-family: "游明朝","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
#tubmenu{
	clear: both;
	width: 100%;
	border-bottom: 2px solid #FFFFFF;
	background-color: #262626;
}
#tubmenu a{
	color: #FFFFFF;
	text-decoration: none;
}
#tubmenu a:hover{
	color: #F52B18;
}
#tubmenu ul{
	clear: both;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	-js-display: flex;
	display: flex;
	-webkit-box-pack: center;
	-moz-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-moz-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	/*display: flex;
	display: -webkit-flex; /* Safari */
	/*-webkit-flex-wrap: nowrap; /* Safari */
	/*flex-wrap:         nowrap;*/
	padding-top: 10px;
	padding-bottom: 10px;
}
#tubmenu ul li{
	-webkit-flex-grow: 1; /* Safari */
	flex-grow: 1;
	font-size: 15px;
	text-align: center;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #999999;
	position: relative;
	display: inline-block;
	padding-right: 10px;
	padding-left: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
}
#tubmenu ul li:last-child{
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999999;}
#tubmenu ul li.active {
	display: inline-block;
}
#tubmenu ul li.active a {
}
#tubmenu ul li.active a:after {
	display: block;
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -6px;
	border: 6px solid transparent;        /*top right left を透明化 */
	border-bottom: 6px solid #228c38;
}
#pan {
	background-color: #EFEFEF;
	padding-top: 5px;
	padding-bottom: 5px;
	text-align: left;
}
#pan a {
	color: #333;
	text-decoration: none;
}


#cont {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	height: 100%;
	position: relative;
	text-align: left;
	margin-top: 50px;
}

.midashi {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	padding: 15px;
	font-size: 38px;
	margin-bottom: 40px;
	font-weight: normal;
	text-align: center;
	line-height: 48px;
	margin-top: 40px;
	background-image: url(../img/bg_midashi.png);
}
.midashi span {
	margin-bottom: 0px;
	font-family: "游明朝","ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

.midashi02 {
	font-size: 30px;
	clear: both;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid #A70D4C;
	font-weight: normal;
	color: #A70D23;
	text-align: center;
	margin-top: 40px;
	padding-top: 20px;
}

.komidashi {
	background-repeat: no-repeat;
	background-position: 0px 0px;
	font-size: 25px;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-top: 25px;
	padding-bottom: 5px;
}
.komidashi02 {
	background-repeat: no-repeat;
	background-position: left center;
	font-size: 24px;
	text-align: left;
	margin-top: 20px;
	background-image: url(../img/icon_komidashi02.png);
	padding-left: 40px;
	line-height: 30px;
	border-bottom: 1px solid #ccc;
	margin-bottom: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
}
.txtbox {
	clear: both;
	margin-right: 3%;
    margin-left: 3%;
	padding-bottom: 30px;
}
.linebox {
	clear: both;
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 9px;
	padding-top: 19px;
	padding-right: 19px;
	padding-left: 19px;
	border: 5px solid #ccc;
	margin-bottom: 40px;
	background-color: #FFFFFF;
}
.centerphoto {
	text-align: center;
	clear: both;
	padding-bottom: 40px;
}
.centerphoto img {
    width: 100%;
    height: auto;
}

.centermovie {
 text-align: center;
 clear: both;
 width: 720px;
 margin-left: auto;
 margin-right: auto;
 margin-bottom: 40px;
}
.centertxt {
	text-align: center;
	clear: both;
}
.centertxt28 {
	text-align: center;
	clear: both;
	font-size: 28px;
	line-height: 46px;
}
.photo470 {
	width: 100%;
	clear: both;
	padding-bottom: 20px;
	margin-bottom: 0px;
	padding-top: 20px;
	text-align: left;
}
/*
.photo470 .photo {
	width: 470px;
	float: left;
	margin-right: 40px;
}
*/
.photo470 .photo02 {
	width: 470px;
	float: right;
	margin-left: 40px;
}
.photo470 .photo-last {
	width: 470px;
	float: right;
	padding-left: 0px;
}
.photo470 .sbox {
	width: calc(100% - 510px);
	float: left;
}

.photo400 {
	width: 100%;
	clear: both;
	padding-bottom: 20px;
	margin-bottom: 0px;
	padding-top: 20px;
	text-align: left;
}
.photo400 .photo {
	width: 400px;
	float: left;
	margin-right: 40px;
}
.photo400 .photo02 {
	width: 400px;
	float: right;
	margin-left: 40px;
}
.photo400 .sbox {
	width: calc(100% - 440px);
	vertical-align: top;
	float: left;
}

.photo300 {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	clear: both;
	text-align: center;
}
.photo300 .cel1 {
	width: 300px;
	padding-left: 0px;
	float: left;
	margin-right: 40px;
}
.photo300 .cel-inline {
	width: 300px;
	padding-left: 20px;
	display: inline-block;
	text-align: center;
	vertical-align: top;
	margin-left: 5px;
	margin-right: 5px;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	background-color: #F1F1F1;
	min-height: 455px;
	margin-top: 5px;
	margin-bottom: 5px;
}
.photo300 .cel1-last {
	width: 300px;
	float: right;
}
.photo300 .sbox1 {
	width: calc(100% - 680px);
	float: left;
}
.photo300 .sbox2 {
	width: calc(100% - 340px);
	float: left;
}
.photo300 .sbox2-l {
	width: calc(100% - 340px);
	padding-right: 40px;
	float: left;
}
.photo220 {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 20px;
	clear: both;
	vertical-align: top;
}
.photo220 .photo {
	width: 220px;
	padding-left: 0px;
	float: left;
	margin-right: 12px;
	vertical-align: top;
	margin-left: 12px;
}
.photo220 .photo-last {
	width: 220px;
	float: right;
}
.photo220 .boxarea3 {
	float: left;
	width: calc(100% - 240px);
}

.before-after {
	background-image: url(../../contents/img/yajirushi.png);
	background-repeat: no-repeat;
	background-position: center center;
	margin-top: 10px;
	margin-bottom: 10px;
	background-color: #F5F5F5;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}
.before-after .before {
	float: left;
	font-size: 18px;
	font-weight: bold;
	color: #E8555B;
	padding-top: 20px;
	padding-bottom: 20px;
	width: 420px;
}
.before-after .after {
	float: right;
	font-size: 18px;
	padding-top: 10px;
	width: 420px;
}







.tbl {
	width: 100%;
	margin-bottom: 30px;
	border-top-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-left-style: solid;
	border-top-color: #999999;
	border-left-color: #999999;
	clear: both;
}
.tbl tr:nth-child(even){
	background-color: #F4F4F4;
}
.tbl td {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
}
.tbl td:first-child{
	color: #065BA1;
	font-weight: bold;
}
.tbl td.tdright  {
	padding: 6px;
	text-align: right;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
	background-color: #FFFFFF;
}
.tbl th {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
	background-color: #646464;
	width: 30%;
	color: #FFFFFF;
}

.contact-tbl {
	width: 100%;
	margin-bottom: 30px;
	border-top-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-left-style: solid;
	border-top-color: #999999;
	border-left-color: #999999;
	clear: both;
}
.contact-tbl tr:nth-child(even){
	background-color: #F4F4F4;
}
.contact-tbl td {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
}
.contact-tbl td:first-child{
	color: #065BA1;
	font-weight: bold;
}
.contact-tbl td.tdright  {
	padding: 6px;
	text-align: right;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
	background-color: #FFFFFF;
}
.contact-tbl th {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: top;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: solid;
	border-right-color: #999999;
	border-bottom-color: #999999;
	background-color: #800D38;
	width: 30%;
	color: #FFFFFF;
	font-size: 16px;
}

.list {
	margin-bottom: 20px;
}

.list li {
	width: 46%;
	display: inline-block;
	margin-bottom: 5px;
	margin-top: 5px;
	background-image: url(../img/icon-list.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 2%;
	font-size: 18px;
	line-height: 22px;
	border-bottom: 1px dotted #ccc;
	margin-right: 2%;
	padding-top: 5px;
	padding-bottom: 5px;
}

.cel4 {
	width: 100%;
	margin: 20px auto;
	font-size: clamp(0.75rem, calc(0.5vw + 0.5rem), 1rem);
	color: #333333;
	display: flex;
    justify-content: space-around;
    line-height: 1.2;
}


/*
.cel4 li {
	display: inline-block;
	width: 23%;
	text-align: center;
	
}*/
.cel4 li img {
	width: 100%;
	height: auto;
}

.cel4 li {
    width: 24%;
}

.mwrap {
    position: relative;
}
.tri {
    position: absolute;
    top: 0;
    left: 0;
    border-left: 2vw solid #ca0035;
    border-bottom: 2vw solid transparent;
}

.cel4 p {
    padding-top: 1%;
}


.rec_catch{
    font-size: 1.6rem;
    line-height: 1.2;
}

.message-bg {
    background-image: url(../../rec_about/img/message_bg2025.jpg);
    background-position: center center;
    background-repeat: no-repeat;
}

.message-bg .message-txt {
    width: 100%;
    padding-top: 40px;
    padding-right: 12px;
    padding-bottom: 40px;
    padding-left: 480px;
}

.t_a_right{
  text-align: right;
}

.min {
    font-weight: bold;
}

.rec_emp {
    font-size: 1.4rem;
}

@media screen and (max-width: 1100px){
    .rec_catch {
        font-size: clamp(1.5rem, calc(1.5vw + 0.5rem), 1.75rem);
        line-height: 1.6;
    }
    .message-bg {
        background-image: url(../../rec_about/img/message_bg2025_sp.jpg);
        background-position: top center;
        background-size: 90% auto;
    }

    .rec_emp {
        font-size: clamp(1.5rem, calc(1.5vw + 0.5rem), 1.75rem);
        line-height: 1.4;
    }
    .txt24 {
        font-size: 1.2rem;
    }
}



@media screen and (min-width: 768px) and (max-width: 1100px){
    .message-bg {
        background-size: 80% auto;
    }
    .message-txt {
        padding: 56% 20px 40px!important;
    }
}


/*
.message-bg {
	background-image: url(../../rec_about/img/message_bg.jpg);
	background-position: center center;
}
.message-bg .message-txt {
	width: 100%;
	padding-top: 40px;
	padding-right: 427px;
	padding-bottom: 40px;
	padding-left: 40px;
}
*/
.history-box .history-year {
	display: inline-block;
	background-color: rgba(167,13,35,1.00);
	width: 100px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	color: rgba(255,255,255,1.00);
	border-radius: 50px;
	vertical-align: middle;
}
.history-box .history-coment {
	display: inline-block;
	vertical-align: middle;
}
.history-coment.arrow_box .photo {
	display: inline-block;
}
.history-coment.arrow_box .txt {
	display: inline-block;
	vertical-align: top;
}


.arrow_box{
	position: relative;
	width: 80%;/*850px;*/
	height: auto;
	background: #FFFFFF;
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 20px;
	text-align: left;
	border: 1px solid #686868;
	color: #444444;
	font-size: 14px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-left: 20px;
}
.arrow_box:after,.arrow_box:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:50%;
}
.arrow_box:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-top: -10px;
    border-right-color:#FFFFFF;
}
.arrow_box:before{
    border-color: rgba(104, 104, 104, 0);
    border-top-width:11px;
    border-bottom-width:11px;
    border-left-width:11px;
    border-right-width:11px;
    margin-top: -11px;
    margin-right: 1px;
    border-right-color:#686868;
}
.point {
	display: inline-block;
	background-color: rgba(144,39,29,1.00);
	color: rgba(255,255,255,1.00);
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	border-radius: 10px;
	margin-right: 20px;
	margin-bottom: 20px;
}
.s-entry-news table {
	width: 100%;
	margin-bottom: 40px;
}
.s-entry-news table th {
	color: rgba(23,71,128,1.00);
	font-weight: bold;
	width: 20%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.s-entry-news table td {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.c-entry-news table {
	width: 100%;
	margin-bottom: 40px;
}
.c-entry-news table th {
	color: hsla(5,66%,34%,1.00);
	font-weight: bold;
	width: 20%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
.c-entry-news table td {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}
#acod-area dl{
	position: relative;
	border: 1px solid #ccc;
	margin-bottom: 10px;
	
}
#acod-area dt{
 cursor: pointer;
 background-image: url(../img/acod-open.png);
 background-repeat: no-repeat;
 background-position: right center;
 font-size: 18px;
 background-color: #E4E4E4;
 padding-top: 15px;
 padding-right: 70px;
 padding-bottom: 15px;
 padding-left: 15px;
}
#acod-area dt.active{
	cursor: pointer;
	background-image: url(../img/acod-close.png);
	background-repeat: no-repeat;
}
#acod-area dd {
	display:none;
	padding: 15px;
}
.photo470 .photo video {
	width: 100%;
	height: auto;
}
.photo470 .photo-last video {
	width: 100%;
	height: auto;
}
.sbox .hoikuphoto {
	margin-top: 80px;
}
.video100per {
  overflow: hidden;
}
.video100per video  {
 
	width: 100%;
	height: auto;
	margin-top: 0px;
	min-width: 100%;
}
.video100per video embed {
 width: 100%;
 height: auto;
 margin: 0px!important;
 padding: 0px!important;
}
div.video100per p{
 margin: 0px!important;
 padding: 0px!important;
}