@charset "UTF-8";
/* CSS Document */

@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
h2,h3,h4,h5{
	font-weight:normal;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

body{ margin:0px; padding:0px;color:#333;}
p{ margin:0px; padding:0px}
a{color:#333;}

img{
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	image-rendering: -webkit-optimize-contrast;
}
*a:hover{
	text-decoration: none;
}
a img{
	transition : all 0.5s ease 0s;
}
a img:hover{
	filter: grayscale(1);
}

/* 電話番号リンク禁止
---------------------------------------------------- */
@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}
@media (max-width: 750px){
	a[href*="tel:"]{
		text-decoration: none;
		color: inherit;
	}
}

/* ----------------------------------------------------------------------
 inner
---------------------------------------------------------------------- */
.innerOrigin{
	width:calc(100% - 30px);
	max-width:1150px;
	margin-left: auto;
	margin-right: auto;
}
.inner960{
	max-width:960px;
	width:calc(100% - 30px);
	margin-left: auto;
	margin-right: auto;
}
.inner768{
	max-width:768px;
	width:calc(100% - 30px);
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------------------------------------------------------
 角丸
---------------------------------------------------------------------- */
.radius10{
	border-radius: 10px;		/* CSS3草案 */
	-webkit-border-radius: 10px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10px;	/* Firefox用 */
}
.radius15{
	border-radius: 15px;		/* CSS3草案 */
	-webkit-border-radius: 15px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 15px;	/* Firefox用 */
}
.radius20{
	border-radius: 20px;		/* CSS3草案 */
	-webkit-border-radius: 20px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 20px;	/* Firefox用 */
}

/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flexOrigin{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: stretch;    /*全ての要素の高さを揃える*/
}
.space-between{
	justify-content: space-between; /*均等に間隔をあける*/
}
.flex-start{
	justify-content: flex-start;/*要素を左寄せ*/
}
.flex-wrap{
	flex-wrap: wrap; /*flex繰り返し*/
}
.row-reverse{
	flex-direction:row-reverse;	/*flex逆順*/
}
@media screen and (max-width:767px)  {
	.flex-block{
		display: block; /*スマホ時フレックス解除*/
	}
}

@media print, screen and (min-width:768px)  {
	.flexBox02{
		width:48%;
	}
	.flexBox03{
		width:30%;
	}
	.flexBox04{
		width:23%;
	}
}
@media screen and (max-width:767px)  {
	.flexBox02{
		width:100%;
		margin-bottom: 40px;
	}
	.flexBox03{
		width:100%;
		margin-bottom: 40px;
	}
	.flexBox02:last-child,.flexBox03:last-child{
		margin-bottom: 0;
	}
	.flexBox04{
		width:48%;
		margin-bottom: 40px;
	}
	.flexBox04:nth-child(3),.flexBox04:nth-child(4){
		margin-bottom: 0;
	}
}

/* ----------------------------------------------------------------------
 float
---------------------------------------------------------------------- */
.left,.leftPc{
	float:left;
}
.right,.rightPc{
	float:right;
}

@media screen and (max-width:750px)  {
	.leftPc,.rightPc{
		width:100%;
	}
}

/*クリアフィックス*/
.clearfix:after{
  content:"";
  display:block;
  clear:both;
}

/* ----------------------------------------------------------------------
 タブレット以上のみ表示
---------------------------------------------------------------------- */

@media screen and (max-width: 767px) {
	.pc_only{
	display:none !important;
	}
}

/* ----------------------------------------------------------------------
 スマホ以下のみ表示
---------------------------------------------------------------------- */
@media screen and (min-width: 768px),print {
	.sp_only{
	display:none !important;
	}
}

/* ----------------------------------------------------------------------
 フォント（%）
---------------------------------------------------------------------- */
.font50 {
	font-size: 50% ;
}
.font60 {
	font-size: 60% ;
}
.font70 {
	font-size: 70% ;
}
.font80 {
	font-size: 80% ;
}
.font90 {
	font-size: 90% ;
}
.font100 {
	font-size: 100% ;
}
.font110 {
	font-size: 110% ;
}
.font120 {
	font-size: 120% ;
}
.font130 {
	font-size: 130% ;
}
.font150 {
	font-size: 150% ;
}
.font180 {
	font-size: 180% ;
}
.font200 {
	font-size: 200% ;
}
.font230 {
	font-size: 230% ;
}
.font250 {
	font-size: 250% ;
}

/* ----------------------------------------------------------------------
 フォント（px）
---------------------------------------------------------------------- */
.font12px{
	font-size: 12px ;
}
.font14px{
	font-size: 14px ;
}
.font16px{
	font-size: 16px ;
}
.font18px{
	font-size: 18px ;
}
.font20px{
	font-size: 20px ;
}
.font25px{
	font-size: 25px ;
}
.font30px{
	font-size: 30px ;
}
.font35px{
	font-size: 35px ;
}
.font40px{
	font-size: 40px ;
}
.font45px{
	font-size: 45px ;
}
@media screen and (min-width: 768px) {
	.font12-14px{
		font-size: 14px ;
	}
	.font14-16px{
		font-size: 16px ;
	}
	.font15-20px{
		font-size: 20px ;
	}
	.font15-18px{
		font-size: 18px ;
	}
	.font16-18px{
		font-size: 18px ;
	}
	.font16-20px{
		font-size: 20px ;
	}
	.font18-20px{
		font-size: 20px ;
	}
	.font18-22px{
		font-size: 22px ;
	}
	.font18-25px{
		font-size: 25px ;
	}
	.font20-22px{
		font-size: 22px ;
	}
	.font20-25px{
		font-size: 25px ;
	}
	.font20-30px{
		font-size: 30px ;
	}
	.font22-30px{
		font-size: 30px ;
	}
	.font25-30px{
		font-size: 30px ;
	}
	.font28-32px{
		font-size: 32px ;
	}
	.font30-35px{
		font-size: 35px ;
	}
}
@media screen and (max-width: 767px) {
	.font12-14px{
		font-size: 12px ;
	}
	.font14-16px{
		font-size: 14px ;
	}
	.font15-20px{
		font-size: 15px ;
	}
	.font15-18px{
		font-size: 15px ;
	}
	.font16-18px{
		font-size: 16px ;
	}
	.font16-20px{
		font-size: 16px ;
	}
	.font18-20px{
		font-size: 18px ;
	}
	.font18-22px{
		font-size: 18px ;
	}
	.font18-25px{
		font-size: 18px ;
	}
	.font20-22px{
		font-size: 20px ;
	}
	.font20-25px{
		font-size: 20px ;
	}
	.font20-30px{
		font-size: 20px ;
	}
	.font22-30px{
		font-size: 22px ;
	}
	.font25-30px{
		font-size: 25px ;
	}
	.font28-32px{
		font-size: 28px ;
	}
	.font30-35px{
		font-size: 30px ;
	}
}

/* ----------------------------------------------------------------------
 フォントファミリー
---------------------------------------------------------------------- */

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}

/* ----------------------------------------------------------------------
 Adobe Font
---------------------------------------------------------------------- */

.dinD_font{
	font-family: din-2014-narrow, sans-serif;
	font-weight: 600;
	font-style: normal;
}
.dinB_font{
	font-family: din-2014-narrow, sans-serif;
	font-weight: 700;
	font-style: normal;
}
.shippoR_font{
	font-family: shippori-mincho-b1, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.shippoM_font{
	font-family: shippori-mincho-b1, sans-serif;
	font-weight: 500;
	font-style: normal;
}
.shippoB_font{
	font-family: shippori-mincho-b1, sans-serif;
	font-weight: 700;
	font-style: normal;
}

/* ----------------------------------------------------------------------
行間調整
---------------------------------------------------------------------- */
.lh10{
	line-height:1.0em;
}
.lh12{
	line-height:1.2em;
}
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2em;
}

/* ----------------------------------------------------------------------
 文字揃え
---------------------------------------------------------------------- */
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}
.txtJustify{
	text-align:justify;
}


.txtCenterPc{
	text-align:center;
}
@media screen and (max-width: 767px) {
	.txtCenterPc{
		text-align:left;
	}
}

/* ----------------------------------------------------------------------
 文字色
---------------------------------------------------------------------- */
.white{
	color:#fff;
}
.blk{
	color:#000;
}
.orange{
	color:#e7380d;
}

/* ----------------------------------------------------------------------
 文字スタイル（ウエイト）
---------------------------------------------------------------------- */
.bold{
	font-weight: bold;
}
.normal{
	font-weight: normal;
}

/* ----------------------------------------------------------------------
文字間
---------------------------------------------------------------------- */
.ls01{
	letter-spacing: 0.1em;
}
.ls02{
	letter-spacing: 0.2em;
}

/* ----------------------------------------------------------------------
 PC・スマホ・タブレットのみ改行
---------------------------------------------------------------------- */

@media print, screen and (min-width: 768px) {
	.kaigyouTab {
		display: none;
	}
	.kaigyouSp {
		display: none;
	}
}
@media screen and (max-width: 767px) and (min-width : 641px){
	.kaigyouPc {
		display: none;
	}
	.kaigyouSp {
		display: none;
	}
}
@media screen and (max-width: 640px){
	.kaigyouPc {
		display: none;
	}
}
@media screen and (min-width: 480px),print{
	.kaigyouSpMini {
		display: none;
	}
}

/* ----------------------------------------------------------------------
 マーカーアニメーション
---------------------------------------------------------------------- */ 

.marker-animation.active{
    background-position: -100% .5em;
}
.marker-animation {
	background-repeat: repeat-x;
	background-size: 200% .8em;
	background-position: 0 .5em;
	transition: all 2s ease;
}
.marker-animation01{/*黄色*/
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,255,0) 50%);
}

/* ----------------------------------------------------------------------
 margin・padding
---------------------------------------------------------------------- */
/*margin top*/
.mt00 {
    margin-top: 0px;
  }
  .mt05 {
    margin-top: 5px;
  }
  .mt10 {
    margin-top: 10px;
  }
  .mt15 {
    margin-top: 15px;
  }
  .mt20 {
    margin-top: 20px;
  }
  .mt25 {
    margin-top: 25px;
  }
  .mt30 {
    margin-top: 30px;
  }
  .mt35 {
    margin-top: 35px;
  }
  .mt40 {
    margin-top: 40px;
  }
  .mt45 {
    margin-top: 45px;
  }
  .mt50 {
    margin-top: 50px;
  }
  .mt80 {
    margin-top: 80px;
  }
  .mt100 {
    margin-top: 100px;
  }
  /*margin bottom*/
  .mb00 {
    margin-bottom: 0px;
  }
  .mb05 {
    margin-bottom: 5px;
  }
  .mb10 {
    margin-bottom: 10px;
  }
  .mb15 {
    margin-bottom: 15px;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .mb25 {
    margin-bottom: 25px;
  }
  .mb30 {
    margin-bottom: 30px;
  }
  .mb35 {
    margin-bottom: 35px;
  }
  .mb40 {
    margin-bottom: 40px;
  }
  .mb45 {
    margin-bottom: 45px;
  }
  .mb50 {
    margin-bottom: 50px;
  }
  .mb80 {
    margin-bottom: 80px;
  }
  .mb100 {
    margin-bottom: 100px;
  }
  /*margin left*/
  .ml05{
      margin-left: 5px;
  }
  .ml10 {
    margin-left: 10px;
  }
  .ml15 {
    margin-left: 15px;
  }
  /*margin right*/
  .mr30 {
    margin-right: 30px;
  }
  /*padding top*/
  .pt05 {
    padding-top: 5px;
  }
  .pt10 {
    padding-top: 10px;
  }
  .pt15 {
    padding-top: 15px;
  }
  .pt20 {
    padding-top: 20px;
  }
  .pt25 {
    padding-top: 25px;
  }
  .pt30 {
    padding-top: 30px;
  }
  .pt35 {
    padding-top: 35px;
  }
  .pt40 {
    padding-top: 40px;
  }
  .pt45 {
    padding-top: 45px;
  }
  .pt50 {
    padding-top: 50px;
  }
  .pt80 {
    padding-top: 80px;
  }
  .pt100 {
    padding-top: 100px;
  }
  /*padding bottom*/
  .pb05 {
    padding-bottom: 5px;
  }
  .pb10 {
    padding-bottom: 10px;
  }
  .pb15 {
    padding-bottom: 15px;
  }
  .pb20 {
    padding-bottom: 20px;
  }
  .pb25 {
    padding-bottom: 25px;
  }
  .pb30 {
    padding-bottom: 30px;
  }
  .pb35 {
    padding-bottom: 35px;
  }
  .pb40 {
    padding-bottom: 40px;
  }
  .pb45 {
    padding-bottom: 45px;
  }
  .pb50 {
    padding-bottom: 50px;
  }
  .pb80 {
    padding-bottom: 80px;
  }
  .pb100 {
    padding-bottom: 100px;
  }
  .pd10{
      padding: 10px;
  }
  .pd15{
      padding: 15px;
  }
  .pd20{
      padding: 20px;
  }
  .pd25{
      padding: 25px;
  }
  .pd30{
      padding: 30px;
  }
  
  /* ----------------------------------------------------------------------
   画像
  ---------------------------------------------------------------------- */
  img.img100{
      width:100%;
      display:block;
  }
  img.imgCenter{
      max-width: 100%;
      display:block;
      margin-left:auto;
      margin-right:auto;
  }
  img.imgLeft{
      max-width: 100%;
      display:block;
      margin-right:auto;
  }
  img.imgRight{
      max-width: 100%;
      display:block;
      margin-left:auto;
  }
  
  /* ----------------------------------------------------------------------
   背景色
  ---------------------------------------------------------------------- */
  .bgWhite{
      background:#fff;
  }
  .bgGray{
      background:#EBEBEB;
  }


/* ----------------------------------------------------------------------
 ページ内リンク
---------------------------------------------------------------------- */
/*@media screen and (min-width: 1201px){
	a.scroll_point {
	 height: 1px;
	 margin-top: -100px;
	 padding-top: 100px;
	 display: block;
	}
}
@media screen and (max-width: 1200px){
	 a.scroll_point {
	 height: 1px;
	 display: block;
	 margin-top: -55px;
	 padding-top: 55px;
	}
}*/

/* ----------------------------------------------------------------------
 スクロールフェード
---------------------------------------------------------------------- */
.fade {
	opacity: 0;
	transform: translateY(50px);
}
.fade01 {
	transition: opacity 1.5s, transform 1s;	
}
.fade02 {
	transition: opacity 1.5s, transform 1s;
	transition-delay: 0.1s;
}
.fade03 {
	transition: opacity 1.5s, transform 1s;	
	transition-delay: 0.2s;
}
.fade04 {
	transition: opacity 1.5s, transform 1s;		
	transition-delay: 0.3s;
}
.fade.on {
	opacity: 1;
	transform: translateY(0px);
}

/* ----------------------------------------------------------------------
デフォルトCSSの解除
---------------------------------------------------------------------- */
.head_logo{
	position:relative;
}
.header-bar-fixed{
	box-shadow:none;
}
@media screen and (min-width: 1201px),print {
	/*ヘッダー部分*/
	.header-bar{
		height:100px;
		background:rgba(255,255,255,0.8);
	}
	.header-bar-fixed ~ .signage{
		margin-top:180px;
	}
	/*ロゴ*/
	.logo-image{
		position:absolute;
		display:block;
		top:20px;
	}
	.logo{
		width:300px;
		height:60px;
		left:15px;
	}
	.logo-image img{
		display:block;
		width:300px;
	}
	.logo-image span{
		display:block;
		font-size:10px;
		line-height:15px;
		margin-bottom:5px;
	}
	/*グローバルメニュー */
	.global-nav{
		text-align:center;
		margin-left:auto;
		margin-right:auto;
		float:none;
		height:80px;
	}
	.global-nav ul.menu {
		display:inline-block;
	}
	.global-nav > ul > li{
		font-weight: bold;
	}
	.global-nav  ul  li a{
		font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
		font-weight:bold;
	}
	.global-nav > ul > li > a{
		line-height:80px;
		padding: 0 25px;
	}
	.global-nav .sub-menu a{
		background:#333;
	}
	.global-nav .sub-menu .current-menu-item > a{
		color:#fff;
	}
	.global-nav .sub-menu a:hover{
		background:#333;
	}
	/*キービジュアル*/
	.header-bar-fixed ~ .top-slider-wrapper{
		margin-top:100px;
	}
}

@media screen and (max-width: 1200px) {
	/*ヘッダー部分*/
	.header-bar{
		background:rgba(255,255,255,0.8);
		border-bottom:none;
		box-shadow:none;
	}
	/*ロゴ*/
	.logo{
		top:9px;
		width:180px;
		line-height:24px;
		margin-left:10px;
	}
	.logo img{
		display:block;
		width:180px;
	}
	.logo-image{
		display:block;
	}
	/*グローバルナビ*/
	.global-nav-button{
		border-left:none;
		cursor:pointer;
	}
	.global-nav a, .global-nav a:hover{
		background:#333;
	}
	.global-nav-button:before{
		color:#333;
	}
	.global-nav .sub-menu a{
		background:#333;
	}
}

/* ----------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------- */
.head_top{
	position:relative;
}
@media screen and (min-width: 1201px),print {
	.head_top{
		max-width:1920px;
		width:100%;
		height:100px;
		margin:0 auto;
	}
}

/* ----------------------------------------------------------------------
ヘッダーインフォメーション
---------------------------------------------------------------------- */
@media screen and (min-width: 1201px) ,print{
	.head_info{
		float:right;
		width:560px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: stretch; 
		justify-content:space-between;
	}
	.head_info_sp{
		display:none;
	}
	.headTel{
		width:260px;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	.headTel .headTelNo{
		color:#e7380d;
		font-size:35px;
	}
	.headTel .headTelNo::before{
		position:relative;
		content:url(images/ico_fd.png);
		top:3px;
		margin-right:5px;
	}
	.headMail{
		width:200px;
	}
	.headMail a{
		background:#e7380d;
		display:flex;
		align-items:center;
		height:100px;
	}
	.headLine{
		width:100px;
	}
	.headLine a{
		background:#06c755;
		display:flex;
		align-items:center;
		justify-content:center;
		height:100px;
	}
	.headLine a .headLineInner p{
		font-size:11px;
		line-height:1.5em;
		display:flex;
		margin-top:5px;
	}
	.headMail a,.headLine a{
		transition : all 0.5s ease 0s;
	}
	.headMail a:hover,.headLine a:hover{
		background:#666;
	}
}
@media screen and (max-width: 1200px) and (min-width:768px) {
	.head_info{
		float:right;
		width:440px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		align-items: stretch; 
		justify-content:space-between;
	}
	.headTel{
		width:260px;
		height:55px;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	.headTel .headTelNo{
		color:#e7380d;
		font-size:30px;
	}
	.headTel .headTelNo::before{
		position:relative;
		content:url(images/ico_fd.png);
		top:3px;
		margin-right:5px;
	}
	.headTel p.yugo_font{
		line-height:1.2em;
		font-size:10px;
	}
	.headLineInner p{
		display:none;
	}
	.head_info_sp{
		display:none;
	}
	.headMail{
		width:180px;
	}
	.headMail a{
		background:#e7380d;
		display:flex;
		align-items:center;
		height:55px;
		padding:15px;
		box-sizing:border-box;
	}
	.headLine{
		width:60px;
	}
	.headLine a{
		background:#06c755;
		display:flex;
		align-items:center;
		justify-content:center;
		height:55px;
	}
	.headLine a .headLineInner p{
		display:none;
	}
	.headMail a,.headLine a{
		transition : all 0.5s ease 0s;
	}
	.headMail a:hover,.headLine a:hover{
		background:#666;
	}
}
@media screen and (max-width: 767px){
	.head_info{
		position:absolute;
		width:120px;
		top:10px;
		right:5px;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	a.headSpIco{
		width:35px;
		display:block;
	}
	.head_info_pc{
		display:none;
	}
}

/* ----------------------------------------------------------------------
グローバルメニュー
---------------------------------------------------------------------- */
.global-nav{
	display:none;
}
.global-nav ul li a{
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.05em;
}
@media screen and (min-width: 1201px),print {
	.global-nav ul li a{
		height:80px;
		position:relative;
	}
}
@media screen and (max-width: 1200px){
	.global-nav-button{
		top:0;
		display:none;
	}
	.header-bar-fixed .global-nav{
		top: 55px;
	}
	.global-nav a{
		background:#f2f2f2;
	} 
	.global-nav a:hover{
		background:#ccc;
	}
}

/* ----------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------- */
.mv{
	position:relative;
	width:100%;
	height: calc(100vh - 100px);
}
img.mvBg{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
img.mvBottom{
	position:absolute;
	display:block;
	width:100%;
	bottom:-1px;
	left:0;
}
.mvInner{
	position:absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	max-width:768px;
	width:calc(100% - 30px);
}
img.imgKeizoku{
	max-width:220px;
}
p.mvTxt01{
	font-size:40px;
	font-feature-settings: "palt";
	background:#e7380d;
	line-height:1.5em;
	border-radius:1000px;
	margin:0.5em 0;
}
p.mvTxt02{
	color:#ffff00;
	font-size:45px;
	font-feature-settings: "palt";
	line-height:1.5em;
	margin:0.5em 0;
}
p.mvTxt02 span{
	color:#fff;
	font-size:80%;
}
.mvMidashi{
	display:flex;
	align-items:center;
	justify-content:center;
	margin-bottom:10px;
}
img.mvShokunin{
	display:block;
	width:150px;
}
.mvMidashi h2.mvTxt03{
	font-size:63px;
	line-height:1.2em;
}
@media screen and (max-width: 1200px){
	.mv{
		height: calc(100svh - 55px);
	}
}
@media screen and (max-width: 960px) and (min-width:768px){
	img.imgKeizoku{
		max-width:200px;
	}
	.mvMidashi h2.mvTxt03{
		font-size:60px;
		line-height:1.2em;
	}
}
@media screen and (max-width: 767px) {
	img.imgKeizoku{
		max-width:170px;
	}
	p.mvTxt01{
		font-size:5vw;
	}
	p.mvTxt02{
		font-size:6.5vw;
	}
	.mvMidashi{
		display:block;
	}
	img.mvShokunin{
		width:100px;
		margin:0 auto 10px;
	}
	.mvMidashi h2.mvTxt03{
		text-align:center;
		font-size:8vw;
	}
	img.mvLogo{
		max-width:200px;
	}
}

/* ----------------------------------------------------------------------
ページ内コンテンツ（front-page.php）
---------------------------------------------------------------------- */
/*共通*/
.sectionA{
	margin-bottom:80px;
}
.sectionB{
	padding:80px 0;
}
@media screen and (max-width: 767px) {
	.sectionA{
		margin-bottom:60px;
	}
	.sectionB{
		padding:50px 0;
	}
}

/*共通（文字詰め）*/
.palt{
	font-feature-settings: "palt";
}

/*共通見出し*/
.hDango{
	position:relative;
	padding-bottom:30px;
}
.hDango:after{
	position:absolute;
	content:url(images/ico_tit_dango.png);
	bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.titLeftLine{
	position:relative;
	padding-bottom:85px;
}
.titLeftLine::after{
	position:absolute;
	content:"";
	width:1px;
	height:70px;
	background:#333;
	bottom:0;
	left:30px;
}
.titCenterLine{
	position:relative;
	padding-bottom:85px;
	text-align:center;
}
.titCenterLine::after{
	position:absolute;
	content:"";
	width:1px;
	height:70px;
	background:#333;
	bottom:0;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

/*共通メイン画像*/
img.imgIntro{
	display:block;
	width:100%;
	object-fit:cover;
	height:400px;
}
@media screen and (max-width: 960px) and (min-width:641px) {
	img.imgIntro{
		height:300px;
	}
}
@media screen and (max-width: 640px){
	img.imgIntro{
		height:200px;
	}
}

/*cv*/
@media screen and (max-width: 767px){
	.cv .flexBox02:first-child{
		margin-bottom:15px !important;
	}
}

/*イントロダクション*/
.intro{
	background:#f4f0e9;
	border-radius:0 0 30px 30px;
	padding:50px 0  80px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.introTxt,.introImg{
	width:50%;
}
.introTxtInner{
	max-width: 600px;
	width: calc(100% - 20px);
	margin-left: auto;
	padding: 20px 40px 50px 0;
	box-sizing: border-box;
}
.introTxtInner h2{
	font-size:40px;
	font-feature-settings: "palt";
	letter-spacing:0.1em;
	margin-bottom:1em;
}
@media screen and (min-width: 1151px),print {
	.introImgSp{
		display:none !important;
	}
}
@media screen and (max-width: 1150px) {
	.intro{
		padding:40px 0  60px;
		display:block;
	}
	.introTxt,.introImg{
		width:100%;
	}
	.introTxtInner{
		width: calc(100% - 30px);
		max-width:960px;
		margin-right:auto;
		padding-right:0;
	}
	.introImgPc{
		display:none !important;
	}
}
@media screen and (max-width: 767px) {
	.introTxtInner h2{
		font-size:30px;
	}
}

/*目次*/
.contentsLink{
	margin:80px 0;
}
.navInPost{
	background:#f4f0e9;
	border:1px #c7b299 solid;
	padding:50px 30px;
	border-radius:20px;
	box-sizing:border-box;
}
@media screen and (max-width: 767px) {
	.contentsLink{
		margin:50px 0;
	}
	.navInPost{
		padding:40px 15px;
	}
}
.navInPost h2{
	margin-bottom:40px;
}
.navInPost h2:first-letter{
	color:#e7380d;
}
.navInPost ul{
	counter-reset: listnum;
	list-style: none;
}
.navInPost ul li{
	position:relative;
	padding:15px 20px 15px 5px;
	border-bottom:1px #808080 dashed;
}
.navInPost ul li a{
	position:relative;
	color:#333;
	transition : all 0.3s ease 0s;
	display:block;
}
.navInPost ul li a.bf{
	padding-left:0.9em;
	text-indent:-0.9em;
}
.navInPost ul li a.af{
	padding-left:1.45em;
	text-indent:-1.45em;
}
.navInPost ul li a:hover{
	color:#e7380d;
}
.navInPost ul li a::before{
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum) "."; /* カウントした数に応じて番号を表示 */
	margin-right:0.2em;
	color:#e7380d;
}
.navInPost ul li:after{
	position:absolute;
	font-family: "Font Awesome 6 Pro";
	font-weight: 300;
	content: "\f107";
	top: 50%;
    right: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	transition : all 0.3s ease 0s;
}
.navInPost ul li:hover:after{
	top: 60%;
}

/*sec.01*/
img.sec01Img{
	position:relative;
	width:100%;
	object-fit:cover;
	height:450px;
	border-radius:30px 30px 0 0;
	z-index:1;
}
@media screen and (max-width: 960pxpx) and (min-width:641px) {
	img.sec01Img{
		height:350px;
	}
}
@media screen and (max-width: 640px) {
	img.sec01Img{
		height:250px;
	}
}
.sec01Txt{
	position:relative;
	width:90%;
	margin:-80px auto 0;
	background:url(images/bg_paper01.jpg) center center no-repeat;
	background-size:cover;
	padding:40px 30px;
	box-sizing:border-box;
	box-shadow: 3px 3px 4px #ccc;
	border-radius:30px 30px 0 0;
	z-index:2;
}
.sec01Txt h2{
	font-size:33px;
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
	.sec01Txt{
		margin:-50px auto 0;
		padding:30px 15px;
	}
	.sec01Txt h2{
		font-size:25px;
	}
}
table.figure{
	width:100%;
	max-width:768px;
	border-collapse: separate;
	border-spacing: 3px;
	margin:0 auto 15px;
}
table.figure th,table.figure td{
	width:calc(100% / 3);
	text-align:center;
	padding:15px 5px;
	box-sizing:border-box;
	font-size:20px;
}
table.figure th{
	background:#333;
	color:#fff;
}
table.figure td{
	background:#f2f2f2;
}
@media screen and (max-width: 767px) {
	table.figure th,table.figure td{
		font-size:18px;
		padding:10px 5px;
	}
}
@media screen and (max-width: 480px){
	table.figure th,table.figure td{
		font-size:15px;
	}
}
a.sec01Bnr{
	display:block;
	max-width:460px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

/*sec02*/
.sec02{
	position:relative;
	padding-bottom:15px;
}
.sec02::after{
	content: '';
	position:absolute;
	bottom:-1px;
	right:0;
    border-bottom: 25vw solid #f4f0e9;
    border-left: 100vw solid transparent;
    z-index: 0;
}
.sec02Box{
	position:relative;
	display: flex;
    justify-content: space-between;
    align-items: center;
	z-index:2;
}
.sec02Box:nth-child(even){
	flex-direction:row-reverse;
}
.sec02Txt,.sec02Img{
	width:50%;
}
.sec02Img img{
	width:100%;
	object-fit:cover;
}
.sec02Txt h2{
	font-size:33px;
}
@media screen and (min-width: 961px),print {
	.sec02Box:nth-child(odd){
		margin-bottom:80px;
	}
	.sec02Box:nth-child(odd) .sec02TxtInner,
	.sec02Box:nth-child(even) .sec02TxtInner{
		max-width: 600px;
		width: calc(100% - 20px);
		box-sizing: border-box;
	}
	.sec02Box:nth-child(odd) .sec02TxtInner{
		margin-left: auto;
		padding: 20px 40px 50px 0;
	}
	.sec02Box:nth-child(even) .sec02TxtInner{
		margin-right: auto;
		padding: 20px 0 50px 40px;
	}
	.sec02Img img{
		height:850px;
	}
}
@media screen and (max-width: 960px){
	.sec02Box{
		display:block;
	}
	.sec02Txt{
		width:calc(100% - 30px);
		margin:0 auto 40px;
	}
	.sec02Box:nth-child(odd){
		margin-bottom:50px;
	}
	.sec02Img{
		width:100%;
	}
	.sec02Txt h2{
		font-size:30px;
	}
	.sec02Img img{
		height:350px;
	}
}
@media screen and (max-width: 640px){
	.sec02Txt h2{
		font-size:25px;
	}
	.sec02Img img{
		height:250px;
	}
}

/*sec03*/
.sec03{
	background:#f4f0e9;
}
.sec03 h2{
	font-size:33px;
}
.sec03Wrap{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.sec03Box{
	width:calc((100% - 30px) / 2);
	margin-right:30px;
	padding:25px;
	box-sizing:border-box;
	border:3px #333 solid;
	border-radius:15px;
	margin-bottom:30px;
	background:#fff;
}
.sec03Box:nth-child(even),
.sec03Box:last-child{
	margin-right:0;
}
.sec03Box p.dinD_font{
	font-size:13px;
	line-height:1;
}
.sec03Box p.dinD_font span{
	font-size:40px;
}
.sec03Box h3 span{
	display:inline-block;
	border-bottom:1px #e7380d solid;
}
@media screen and (max-width: 960px){
	.sec03 h2{
		font-size:30px;
	}
	.sec03Box{
		width:100%;
		margin-right:0 !important;
	}
}
@media screen and (max-width: 640px){
	.sec03 h2{
		font-size:25px;
	}
}


/*sec.04*/
.sec04 .titCenterLine p{
	font-size:33px;
	margin-bottom:15px;
}
.sec04 .titCenterLine h2{
	font-size:25px;
	font-weight:normal;
}
@media screen and (max-width: 960px){
	.sec04 .titCenterLine p{
		font-size:30px;
	}
	.sec04 .titCenterLine h2{
		font-size:23px;
	}
}
@media screen and (max-width: 640px){
	.sec04 .titCenterLine p{
		font-size:22px;
		margin-bottom:10px;
	}
	.sec04 .titCenterLine h2{
		font-size:18px;
	}
}

.sec04 ul{
	counter-reset: listnum;
    list-style: none;
}
.sec04 ul li {
    position: relative;
    padding: 15px 5px;
    border-bottom: 1px #808080 dashed;
}
.sec04 ul li span{
	display: block;
	padding-left: 1.3em;
    text-indent: -1.3em;
}
.sec04 ul li span::before{
	counter-increment: listnum;
	content: "0" counter(listnum) ".";
	margin-right: 0.2em;
	color: #e7380d;
	font-family: din-2014-narrow, sans-serif;
	font-weight: 600;
	font-style: normal;
}
.sec04Box{
	background:#fff;
	border:3px #666 solid;
	border-radius:30px;
	padding:30px 25px;
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	margin-bottom:30px;
}
.sec04Img{
	width:200px;
}
.sec04Img img{
	border-radius:15px;
}
.sec04Txt{
	width:calc(100% - 230px);
}
.sec04Txt h3{
	position:relative;
	display:flex;
	border-bottom: solid 3px #666;
	padding-bottom:10px;
	margin-bottom:15px;
}
.sec04Txt h3::after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #e7380d;
	bottom: -3px;
	width: 30%;
}
.sec04Txt h3 span:nth-child(1){
	display:block;
	width:1.2em;
	margin-right:0.3em;
}
.sec04Txt h3 span:nth-child(2){
	display:block;
}
.sec04Txt h3 strong{
	color:#e7380d;
	font-weight:normal;
}
@media screen and (max-width: 767px){
	.sec04Box{
		display:block;
		padding:30px 15px;
	}
	.sec04Img{
		width:100%;
		max-width:300px;
		margin:0 auto 30px;
		height:200px;
	}
	.sec04Img img{
		object-fit:cover;
		width:100%;
		height:100%;
	}
	.sec04Txt{
		width:100%;
	}
}

/*sec.05*/
.sec05{
	background:#000;
}
.sec05 h2{
	font-size:33px;
}
@media screen and (max-width: 767px){
	.sec05 h2{
		font-size:25px;
	}
}
.sec05 .titCenterLine::after{
	background:#fff;
}
.sec05Box{
	border-top:1px #e7380d solid;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.sec05No{
	width:90px;
	background:#333;
	text-align: left;
	display:flex;
	justify-content:center;
	padding:25px 0;
	overflow: visible;
}
.sec05No p{
	position: sticky;
	writing-mode: vertical-rl;
	line-height:1.3;
	height:155px;
	top:115px;
}
@media screen and (max-width:1200px){
	.sec05No p{
		top:70px;
	}
}
.sec05Content{
	width:calc(100% - 130px);
	padding:20px 0 50px ;
}
.sec05Content h3{
	font-size:28px;
	border-bottom:2px #e7380d dashed;
	padding-bottom:15px;
	margin-bottom:20px;
}
.sec05Img img{
	object-fit:cover;
	height:400px;
}
@media screen and (max-width: 767px){
	.sec05No{
		width:60px;
	}
	.sec05Content{
		width:calc(100% - 90px);
	}
	.sec05Content h3{
		font-size:22px;
	}
	.sec05Img img{
		width:100%;
		height:250px;
	}
}
@media screen and (max-width: 480px){
	.sec05Img img{
		width:100%;
		height:180px;
	}
}
.sec05Content ol{
	list-style:none;
	counter-reset: my-counter;
	background:#333;
	border:1px #fff solid;
	padding:15px;
	box-sizing:border-box;
}
.sec05Content ol li{
	padding-left: 30px;
	border-bottom:1px #fff solid;
	position: relative;
	padding-bottom:8px;
	margin-bottom:8px;
}
.sec05Content ol li:last-child{
	margin-bottom:0;
}
.sec05Content ol li::before{
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #333;
	border: 1px solid;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 22px;
	width: 22px;
	color: #ffffff;
	font-size: 85%;
	line-height: 1;
	position: absolute;
	top: 5px;
	left: 0;
}
@media screen and (max-width: 767px){
	.sec05Content ol li::before{
		top: 3px;
	}
}

/*sec.06・07*/
.wave{
	position:relative;
}
img.waveImg{
	position:absolute;
	bottom:-5px;
	left:0;
	display:block;
	width:100%;
}
.sec0607{
	position:relative;
	z-index:2;
}
.bgPaper{
	background-image:
		repeating-linear-gradient(to bottom,
			transparent 25px,
			rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
			transparent 27px,  transparent 51px, 
			rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
			transparent 53px,  transparent 77px, 
			rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
			transparent 79px,  transparent 103px, 
			rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
			transparent 105px,  transparent 129px, 
			rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px),

		repeating-linear-gradient(to right,
			transparent 25px,
			rgba(0, 0, 0, 0.04) 26px,  rgba(0, 0, 0, 0.04) 26px,
			transparent 27px,  transparent 51px, 
			rgba(0, 0, 0, 0.04) 52px,  rgba(0, 0, 0, 0.04) 52px,
			transparent 53px,  transparent 77px, 
			rgba(0, 0, 0, 0.04) 78px,  rgba(0, 0, 0, 0.04) 78px,
			transparent 79px,  transparent 103px, 
			rgba(0, 0, 0, 0.04) 104px,  rgba(0, 0, 0, 0.04) 104px,
			transparent 105px,  transparent 129px, 
			rgba(0, 0, 0, 0.04) 130px,  rgba(0, 0, 0, 0.04) 130px);
}
.sec0607 h2{
	font-size:60px;
	line-height:1.2em;
}
.sec0607 h2 span{
	font-size:65%;
	color:#000;
}
@media screen and (max-width: 767px){
	.sec0607 h2{
		font-size:48px;
	}
}
@media screen and (max-width: 480px){
	.sec0607 h2{
		font-size:9vw;
	}
}
.sec06Box h3{
	transform: skewX(-7deg);
	padding-bottom:10px;
	border-bottom:2px #333 solid;
	margin-bottom:20px;
}
.sec06Box h4,
.sec07Box h4{
	padding:5px 10px;
	border-top:1px #666 solid;
	border-bottom:1px #666 solid;
	box-sizing:border-box;
	margin-bottom:20px;
	background:#f2f2f2;
}
.sec06Box h4 span,
.sec07Box h4 span{
	border-left:5px #e7380d solid;
	padding-left:10px;
}
ul.sec0607ul li{
	padding-left:1.3em;
	text-indent:-1.3em;
	padding-bottom:8px;
	margin-bottom:8px;
	border-bottom:1px #999 dashed;
}
ul.sec0607ul li::before{
	content:"●";
	color:#e7380d;
	margin-right:0.3em;
}
@media screen and (max-width: 480px){
	.sec06Box h4,
	.sec07Box h4{
		font-size:18px !important;
	}
}

/*sec.06*/
.sec06__box table{
	width:100%;
	border-collapse:separate;
	border-spacing: 3px;
	font-size:16px;
}
.sec06__box table tr th{
	background:#808080;
	color:#fff;
}
.sec06__box table tr:nth-child(1) th{
	background:#e7380d;
}
.sec06__box table tr th,
.sec06__box table tr td{
	text-align:center;
	padding:10px 5px;
	box-sizing:border-box;
	vertical-align:middle;
}
.sec06__box table tr td{
	background:#f2f2f2;
}
@media screen and (max-width: 767px){
	.sec06__box table{
		font-size:14px;
	}
}
@media screen and (max-width: 480px){
	.sec06__box table{
		font-size:13px;
	}
}

/*sec07*/
.sec07 .hDango{
	text-align:center;
}
.sec07 .hDango p{
	background:#e7380d;
	color:#fff;
	display:inline-block;
	padding:10px 30px;
	border-radius:100px;
	line-height:1;
}
.sec07Box h3{
	display:flex;
	align-items:stretch;
	border:1px #000 solid;
	font-size:25px;
	margin-bottom:20px;
}
@media screen and (max-width: 767px){
	.sec07Box h3{
		font-size:20px;
	}
}
.sec07Box h3 span{
	display:block;
	padding-top:18px;
	padding-bottom:18px;
	line-height:1.5em;
}
.sec07Box h3 span:first-child{
	width:50px;
	text-align:center;
	background:#e7380d;
	border-right:1px #000 solid;
	color:#fff;
}
.sec07Box h3 span:last-child{
	width:calc(100% - 50px);
	padding-left:10px;
	padding-left:10px;
	box-sizing:border-box;
	background:#fff;
}
.sec07Box h5::before{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	color:#e7380d;
	margin-right:0.3em;
}
img.sec07Img{
	width:100%;
	object-fit:cover;
	height:400px;
}
@media screen and (max-width: 767px){
	img.sec07Img{
		height:300px;
	}
}
@media screen and (max-width: 480px){
	img.sec07Img{
		height:200px;
	}
}

/*sec.08*/
.sec08{
	background:#f4f0e9;
}
.sec08 h3{
	color:#fff;
	background:#666;
	border:3px #e7380d solid;
	border-radius:100px;
	text-align:center;
	padding:5px 20px;
	margin-bottom:20px;
	box-sizing:border-box;
}
.sec08Box h4{
	background:#fff;
	border:2px #666 solid;
	box-sizing:border-box;
	border-radius:10px;
	padding:10px;
	margin-bottom:20px;
}
.sec08Box h4 span{
	display:inline-block;
}
.sec08Box h4 span.hissu::after,
.sec08Box h4 span.nonHissu::after{
	color:#fff;
	background:#e7380d;
	font-size:70%;
	border-radius:100px;
	padding:3px 10px;
	line-height:1;
	margin-left:0.5em;
	position:relative;
	top:-2px;
}
.sec08Box h4 span.hissu::after{
	content:"必須";
}
.sec08Box h4 span.nonHissu::after{
	content:"必要な場合あり";
}
.sec08Box table{
	border-collapse:separate;
	border-spacing: 2px;
}
.sec08Box table th,
.sec08Box table td{
	padding:10px;
}
.sec08Box table th{
	background:#fff;
	width:6em;
	text-align:left;
	font-weight::normal;
	border-bottom:2px solid #f4f0e9;
	font-weight:normal;
}
.sec08Box table tr:first-child th{
	border-top:2px solid #f4f0e9;
}
.sec08Box table tr:first-child td{
	border-top:2px solid #fff;
}
.sec08Box table td{
	border-bottom:2px solid #fff;
}

/*sec.0910*/
.sec0910{
	background:url(images/bg_paper01.jpg) repeat;
	padding-bottom:80px;
}
.sec09Intro{
	padding-top:80px;
	background:#fff;
}
@media screen and (max-width: 767px){
	.sec0910{
		padding-bottom:60px;
	}
	.sec09Intro{
		padding-top:50px;
	}
}

.fukidashi{
    position:relative;
    width:100%;
    background:#fff;
    padding:20px 0;
    text-align:center;
	box-sizing:border-box;
	margin-bottom:50px;
}
.fukidashiGrad{
	background: #E7380D;
	background: linear-gradient(0deg,rgba(231, 56, 13, 1) 0%, rgba(188, 56, 13, 1) 100%);
}
.fukidashi::after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(255, 255, 255, 0);
    border-top-width:28px;
    border-bottom-width:28px;
    border-left-width:29px;
    border-right-width:29px;
    margin-left: -29px;
    border-top-color:#fff;
    top:100%;
    left:50%;
}
.fukidashiGrad::after{
	 border-top-color:#e7380d;
}
.fukidashi p{
	font-size:50px;
	line-height:1;
}
.fukidashi h3{
	font-size:25px;
}
.fukidashi h3 span{
	font-size:125%;
}
@media screen and (max-width: 767px){
	.fukidashi h3{
		font-size:20px;
	}
}
@media screen and (max-width: 480px){
	.fukidashi h3{
		font-size:18px;
	}
}


/*sec.09*/
.sec09{
	padding:50px 0 0;
}
@media screen and (max-width: 767px){
	.sec09{
		padding:40px 0 0;
	}
}
.sec09 h2 span,
.sec09 h2 strong{
	display:block;
}
.sec09 h2 span{
	font-size:30px;
	line-height:1.5em;
	margin-bottom:10px;
}
.sec09 h2 strong{
	font-size:45px;
	line-height:1.2em;
	font-weight:normal;
}
@media screen and (max-width: 767px){
	.sec09 h2 span{
		font-size:25px;
	}
	.sec09 h2 strong{
		font-size:33px;
	}
}
@media screen and (max-width: 480px){
	.sec09 h2 span{
		font-size:5vw;
	}
	.sec09 h2 strong{
		font-size:6.7vw;
	}
}
.meritTag{
	width:100px;
	background:#e7380d;
	text-align:center;
	padding:8px 0;
	border-radius:8px 8px 0 0;
}
.demeritTag{
	width:100px;
	background:#000;
	text-align:center;
	padding:8px 0;
	border-radius:8px 8px 0 0;
}
.meritTag span,
.meritTag strong,
.demeritTag span,
.demeritTag strong{
	display:block;
	transform: skewX(-7deg);
}
.meritTag span{
	color:#fff;
	margin-bottom:5px;
}
.demeritTag span{
	color:#e7380d;
	margin-bottom:5px;
}
.meritTag strong{
	color:#000;
}
.demeritTag strong{
	color:#fff;
}
.sec09Box h4{
	position: relative;
	border-bottom: solid 3px #666;
    padding-bottom: 10px;
    margin-bottom: 15px
}
.sec09Box h4::after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #e7380d;
	bottom: -3px;
	width: 30%;
}

/*sec.10*/
.sec10Img{
	width:200px;
}
.sec10Txt{
	width:calc(100% - 240px);
}
@media screen and (max-width: 767px){
	.sec10Img{
		margin:0 auto 20px;
	}
	.sec10Txt{
		width:100%;
	}
	.sec10Txt img.imgLeft{
		margin-left:auto;
	}
	.sec10Txt h4{
		text-align:center;
	}
	.sec10Box h4::after{
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
}

/*sec11*/
.sec11MainImg{
	display:block;
	width:100%;
	object-fit:cover;
	height:400px;
	border-radius:30px;
	margin-bottom:30px;
}
@media screen and (max-width: 767px){
	.sec11MainImg{
		height:250px;
		border-radius:20px;
	}
}
a.instaBtn{
	display:inline-block;
	width:250px;
	height:60px;
	line-height:60px;
	background:#e7380d;
	border-radius:100px;
	transition : all 0.5s ease 0s;
}
a.instaBtn:hover{
	background:#666;
}
ul.sec11Ul li{
	background:#f2f2f2;
	margin-bottom:10px;
	padding:8px 10px;
	box-sizing:border-box;
	border-radius:5px;
}
ul.sec11Ul li::before{
	content:"●";
	color:#fff;
	margin-right:0.3em;
}

/*sec12・13*/
.sec1213{
	background:url(images/bg_sec1213.jpg) center center no-repeat;
}
.sec1213Box{
	background:#fff;
	padding:40px 30px;
	border-radius:30px;
	box-sizing:border-box;
}
@media screen and (max-width: 767px){
	.sec1213Box{
		padding:30px 15px;
	}
}

/*sec12*/
.sec12{
	margin-bottom:50px;
}

/*sec15*/
.sec15{
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
}
.sec15 img{
	display:block;
	width:calc(100% - 100px);
	margin-right:auto;
	margin-bottom:40px;
	border-radius:0 30px 30px 0;
	object-fit:cover;
	height:400px;
}
.sec15 .titLeftLine h2{
	font-size:;
}
@media screen and (max-width: 767px){
	.sec15 img{
		width:calc(100% - 30px);
		height:250px;
	}
}

/*メールフォーム*/
.mailForm{
	background:url(images/bg_mailform.jpg) repeat;
}
.mailFormInner{
	background:#fff;
	border:3px #666 solid;
	border-radius:30px;
	padding:40px 30px;
	box-sizing:border-box;
}
table.contactTb,
table.contactTb tbody,
table.contactTb tr,
table.contactTb th,
table.contactTb td{
	display:block;
	width:100%;
	text-align:left;
}
table.contactTb tr{
	margin-bottom:20px;
}
table.contactTb th{
	font-size:20px;
	border-left:5px #e7380d solid;
	padding-left:10px;
}
table.contactTb th span{
	font-size:14px;
	color:#fff;
	display:inline-block;
	background:#e7380d;
	line-height:1;
	padding:4px 12px;
	border-radius:100px;
	position:relative;
	top:-0.1em;
}
table.contactTb td{
	font-size:18px;
	margin-top:10px;
}
table.contactTb th,
table.contactTb td{
	padding-top:5px;
	padding-bottom:5px;
}
.wpcf7{
	border:none;
	background:none;
	margin-bottom:0;
}
.wpcf7 form{
	margin:0;
}
.wpcf7 input, .wpcf7 textarea{
	border:none;
	border-bottom:1px #ccc dashed;
}
.wpcf7 select, .wpcf7 .wpcf7-list-item-label,.wpcf7 p.addTit{
	font-size:18px;
}
.wpcf7 p{
	margin-bottom:0;
}
.wpcf7-list-item{
	display:inline-block;
}
.wpcf7 input:focus,
.wpcf7 textarea:focus{
	box-shadow:none;
	border:none;
	border-bottom:1px #ccc dashed;
}
.wpcf7 p.reCaptchaTxt{
	font-size:14px;
}
.wpcf7 input.wpcf7-submit{
	background:#e7380d;
	font-weight:bold;
	border-radius:10px;
	height:60px;
}
.contactLine{
	width:calc(100% - 30px);
	max-width:460px;
	margin-left:auto;
	margin-right:auto;
}

/*reCAPTCHA v3*/
.grecaptcha-badge { visibility: hidden; }

/*会社概要*/
table.companyTb{
	width:100%;
}
table.companyTb th,table.companyTb td{
	padding:15px 10px;
	box-sizing:border-box;
	text-align:left;
}
@media screen and (min-width: 768px),print{
	table.companyTb tr:nth-child(odd){
		background:#f2f2f2;
	}
}
@media screen and (max-width: 767px){
	table.companyTb,table.companyTb tbody,table.companyTb tr,
	table.companyTb th,table.companyTb td{
		display:block;
	}
	table.companyTb th{
		background:#f2f2f2;
	}
}

/* ----------------------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------------------- */
.privacyTit h3{
	display:inline-block;
	background:#333;
	color:#fff;
	padding:0 5px;
}
.privacyBox{
	margin-bottom:50px;
}
.privacyBox h3{
	border-top:1px #333 solid;
	border-bottom:1px #333 solid;
	padding:10px;
	margin-bottom:15px;
	background:#f2f2f2;
}
.privacyBox ul{
	list-style:circle;
	padding-left:1.3em;
}

/* ----------------------------------------------------------------------
サンクスページ
---------------------------------------------------------------------- */
.thanksPage{
	padding-top:120px;
}
@media screen and (max-width: 1200px){
	.thanksPage{
		padding-top:75px;
	}
}
a.thnksBtn {
	position:relative;
    display: block;
	width:100%;
    max-width: 300px;
    background: #ffff00;
    border-radius: 10px;
    transition: all 0.5s ease 0s;
	padding:10px;
	box-sizing:border-box;
	border:3px #666 solid;
	margin-left:auto;
	margin-right:auto;
}
a.thnksBtn:nth-child(2){
	background:#e7380d;
}
a.thnksBtn::after{
	position:absolute;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f56d";
	top: 50%;
	right:10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	font-size:140%;
}
a.thnksBtn:hover{
	background:#666;
	color:#fff;
}
@media screen and (max-width: 767px){
	.thanksBtn{
		display:block;
	}
	.thanksBtn a:first-child{
		margin-bottom:20px;
	}
}

/* ----------------------------------------------------------------------
フッター
---------------------------------------------------------------------- */
.footer{
	margin-top:0;
}
.footer-bar01,.copyright,.pagetop a{
	background: rgb(0,0,0);
}
.copyright small a {
	color:#fff;
}
ul.footLink{
	list-style:none;
	text-align:center;
	margin-bottom:1.5em;
}
ul.footLink li{
	display:inline-block;
	padding:0.3em 1em;
	border-right:1px #666 solid;
}
ul.footLink li:last-child{
	border-right:none;
}