@charset "UTF-8";

#contents {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 40px 0 30px;
    position: relative;
	background: url(../images/bg_contents.svg) no-repeat bottom 20px right -40%;
	background-size: 70% auto;
    z-index: 0;
}
/**/
#contents:before {
	width: 100%;
    height: 5px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    z-index: 1;
}
body#other #contents:before{
    display: none;
}
.no_bg {
	background: none!important;
    }
#contents_menu {
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 20px 0 30px;
	position:relative;
	background: -moz-linear-gradient(top, #4b619c 0%, #4b619c 100px, #6bb0d5 100%);
    background: -webkit-linear-gradient(top, #4b619c 0%, #4b619c 100px, #6bb0d5 100%);
    background: linear-gradient(to bottom, #4b619c 0%, #4b619c 100px, #6bb0d5 100%);
	z-index:1;
}
#contents_menu:before {
    content: "";
    position: absolute;
    background: url(../images/bg_contents_menu.svg) no-repeat bottom left;
    background-size: contain;
    bottom: 10px;
    left: 50%;
	transform: translate(-50%, 0);
    width: 96%;
    height: 40%;
    z-index: 0;
}
/*#contents_menu:before {
	width: 100%;
    height: 5px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0, rgba(0, 0, 0, 0.3) 2px, transparent 2px);
    z-index: 1;
}*/
#contents_menu:after {
	width: 100%;
    height: 100px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: linear-gradient(to bottom, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    z-index:-1;
}
#contents_menu .point{
	width:90px;
    position: absolute;
    bottom:0;
	right:10px;
	z-index: 10;
}
#contents_menu .point img{
    width:100%;
    height: auto;
}
#contents_menu.sub_menu {
	margin: 0 auto;
    padding: 40px 0 20px;
	background: #f3f5f9;
	z-index:2;
}
#contents_menu.sub_menu:before {
    width: 100%;
    height: 4px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.6;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    z-index: 1;
}
#contents_menu.sub_menu:after {
	display:none;
}
#contents_menu.contents_menu_after {
	position:relative;
}
#contents_menu.contents_menu_after:after {
    content: "";
    position: absolute;
    background: url(../images/bg_intro_box_wave.png) no-repeat bottom center;
    background-size: 180% 100%;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    height: 30px;
    z-index: 0;
	filter: drop-shadow(0px 2px 1px rgba(0, 0, 0, 0.03));
}
#contents_menu.sub_menu .point {
	width: 85px;
    position: absolute;
    top: -10px;
    left: 3%;
    transform: none;
}
#contents_menu.sub_menu .point img {
    width: 100%;
    height: auto;
}
.inner {
	width:100%;
	padding:0 15px;
	box-sizing: border-box;
}
.inner.second {
	position: relative;
	width: calc(100% - 30px);
    padding: 23px 15px 15px;
	margin:0 auto;
	border-top: 3px solid rgb(0 0 0 / 5%);
	border-bottom: 3px solid rgb(0 0 0 / 5%);
	background: rgba(255, 255, 255, 1.0) ;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
}
.inner.second:before {
    /*content: "";
    position: absolute;
    background: url(../images/bg_inner.png) no-repeat 0 0;
    background-size: contain;
    top: 15px;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: -1;*/
}
/*--ロゴを背景とする場合に以下のクラスを追加--*/
.bg_logo{
    position:relative;
	z-index:0;
}
.bg_logo:after {
    content: "";
    display: inline-block;
    width: 190px;
    height: 158px;
    background: url(../images/bg_logo.svg) no-repeat;
	background-size: contain;
    position: absolute;
    top: 30px;
    right: 0;
	transform: translateX(20px);
	z-index:-1;
}
.adjust_group {
	box-sizing: border-box;
	margin-bottom:40px!important;
}
.adjust_group.adjust_s {
	box-sizing: border-box;
	margin-bottom:20px!important;
}
.adjust_group.adjust_xs {
	box-sizing: border-box;
	margin-bottom:10px!important;
}
main p{
    font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	padding:0 0 1em;
	color:#14202e;
	line-height: 1.6;
	font-weight: 400;
	-webkit-text-size-adjust: none;
}
.text_wrap{
	margin: 0 0 10px;
	min-height:1px;
}
main .imgC {
	width:100%;
	text-align: center;
	margin:0 0 25px;
}
main .imgC a[target="_blank"] {
	background:none;
}
main .imgC img{
	width:auto;
	max-width:100%;
	height:auto;
}
main ul.text,
main ol.text {
	list-style: outside;
	margin-bottom: 1em;
    line-height: 1.6;
	text-align: left;
}
main ul.text {
	padding-left: 20px;
}
main ol.text {
	list-style-type: decimal;
	padding-left: 20px;
}
main table ul.text, main table ol.text {
    margin-bottom: 0;
}
main ol.text li {
	padding-left: 0px;
	margin-bottom:4px;
}
main ul.text li {
	margin-bottom:4px;
}
main table ul.text li {
    margin-bottom: 0;
}
main ul.text.column3 li,
main ol.text.column3 li{
	margin-bottom:0;
}
main ul.horizontal,
main ol.horizontal {
	display:flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding-left: 0!important;
}
main ul.horizontal li,
main ol.horizontal li {
	margin-right:15px;
	white-space:nowrap;
}
main ul.horizontal li a,
main ol.horizontal li a {
	text-underline-offset: 0.3ex;
}
main em {
	color: #F30;
	font-weight: bold;
	line-height: 1.5;
}
.floatL {
	width:100%;
	height: auto;
	float: none;
	margin-bottom:1.2em;
}
.floatR {
	width:100%;
	height: auto;
	float: none;
	margin-bottom:1.2em;
}
img.floatL,
img.floatR {
	filter: drop-shadow(5px 5px rgba(0, 0, 0, 0.03));
}
.floatL img,
.floatR img{
	width:100%;
	height:auto;
}
.txt_small {
	font-size: 0.8em;
}
.txtL {
	text-align: left!important;
}
.txtR {
	text-align: right!important;
}
.txtC {
	text-align: center!important;
}
p.catch{
	font-size: 16px;
	color: #00a7d4;
	font-weight: 600;
	line-height: 1.6;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.6), 0px 0px 10px rgba(255, 255, 255, 0.6);
	}
p.catch strong {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    box-sizing: border-box;
}
.important {
	color: #FF0000;
	}
.line_btm {
	padding-bottom: 32px;
	border-bottom:1px dotted #ccc;
	margin-bottom: 16px;
	}
.w10 {
	width: 10%!important;
}
.w20 {
	width: 20%!important;
}
.w30 {
	width: 30%!important;
}
.w40 {
	width: 40%!important;
}
.w50 {
	width: 50%!important;
}
.brown {
	color: #4d4435!important;
}
.mincho {
	font-family:"Sawarabi Mincho", serif;
}
a.anchor,
.anchor{
    display: block;
    padding-top: 60px!important;
    margin-top: -60px!important;
　  z-index:-1;
}
/*===アンカー上部に余白を持たせたい場合===*/
a.anchor.anchor_space,
.anchor.anchor_space{
    padding-top: 90px!important;
    margin-top: -90px!important;
}
p .fax {
    margin-left: 8px;
}
.bld {
	font-weight: 600;
}
.bld_L {
	font-weight: 600;
	font-size: 120%!important;
}
.bld500 {
	font-weight: 500;
}
.ttl{
	font-size: 120%!important;
	}
.nowrap {
	white-space:nowrap;
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
#contents{
    width: 100%;
    max-width: 1920px;
	min-height:700px;
	margin:0 auto;
	padding:100px 0 150px;
	background: url(../images/bg_contents.svg) no-repeat bottom 60px right -105px;
	background-size:800px 715px;
	}
#contents_menu {
	max-width: 1920px;
	margin: 0 auto;
    padding: 100px 0 0;
	overflow: hidden;
	background: -moz-linear-gradient(top, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);
    background: -webkit-linear-gradient(top, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);
    background: linear-gradient(to bottom, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);
    clear: both;
}
#contents_menu:before {
    bottom: 15px;
    left: 15px;
	transform: none;
    width: 740px;
    height: 694px;
}
#contents:before {
    width: 100%;
    height: 10px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.1;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 3px, transparent 3px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 3px, transparent 3px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0, rgba(0, 0, 0, 0.2) 3px, transparent 3px);
    z-index: 1;
}
#contents_menu:after {
	width: 100%;
    height: 600px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(96, 101, 146, 0.9) 0, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(96, 101, 146, 0.9) 0, transparent 100%);
    background: linear-gradient(to bottom, rgba(96, 101, 146, 0.9) 0, transparent 100%);
    z-index: -1;
}
#contents_menu .point{
    position: absolute;
    bottom: -10px;
    right: 50%;
    transform: translate(640px,0);
    z-index: 10;
}
@media all and (min-width: 768px) and (max-width: 1399px) {
#contents_menu .point{
	bottom:-10px;
	transform: translate(500px,0);
}
}
#contents_menu .point img {
    width: auto;
}
#contents_menu .background_index_menu{
	width: 2300px;
	height:610px;
	position: absolute;
	top:270px;
	left:50%;
	transform: translate(-50%,0);
	z-index:0;
	background:url(../images/bg_index_menu.svg) no-repeat center top;
	background-size: contain;
	opacity:0.5;
}
#contents_menu.sub_menu{
	margin: 0 auto;
    background: #f3f5f9;
    padding: 100px 0 30px;
}
#contents_menu.sub_menu:before {
    content: "";
    position: absolute;
    background: rgba(0,0,0,0.02);
    bottom: -4px;
    right: 0;
    height: 4px;
    width: 100%;
}
#contents_menu.sub_menu:before {
    width: 100%;
    height: 6px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.6;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    z-index: 1;
}
#contents_menu.contents_menu_after:after {
    content: "";
    position: absolute;
    background: url(../images/bg_intro_box_wave.png) no-repeat bottom center;
    background-size: 100% auto;
    bottom: 0px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 1920px;
    height: 83px;
    z-index: 0;
}
#contents_menu.sub_menu .point {
	width:auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-530px,0);
    z-index: 1;
}
#contents_menu.sub_menu .point img {
    width: 174px;
    height: auto;
}
.inner {
	position: relative;
	width:1200px;
	margin:auto;
	padding:0;
	box-sizing: border-box;
	}
.inner.second {
	width:1200px;
    padding: 60px 40px 60px;
	border-top: 4px solid rgb(0 0 0 / 5%);
	border-bottom: 4px solid rgb(0 0 0 / 5%);
	background: rgba(255,255,255,1.0) url(../images/bg_contents.svg) no-repeat right 10px bottom 10px;
    background-size: 40% auto;
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.4));
}
.inner.second:before {
    /*content: "";
    position: absolute;
    background: url(../images/bg_inner.png) no-repeat 0 0;
    background-size: contain;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: -1;*/
}
.bg_logo:after {
    width: 560px;
    height: 465px;
    top: 60px;
	transform: translateX(20px);
}
.adjust_group {
	box-sizing: border-box;
	margin-bottom:80px!important;
	}
.adjust_group.adjust_s {
	box-sizing: border-box;
	margin-bottom:50px!important;
	}
.adjust_group.adjust_xs {
	box-sizing: border-box;
	margin-bottom:20px!important;
}
main p{
	font-size: 16px;
	line-height: 1.8;
}
.basic_wrap p {
    padding: 0 10px 1em;
}
.text_wrap{
	margin:0 0 30px;
	}
main .imgC {
	margin:0 0 40px;
	}
main .imgC img{
	width:auto;
	}
main ul.text,
main ol.text {
	margin-bottom: 1.2em;
	line-height: 1.8;
}
main ul.text ul,
main ul.text ol,
main ol.text ul,
main ol.text ol{
	margin: 0.6em 0;
}
main ol.text {
	padding-left: 1.6em;
}
main ul.text li {
	margin-bottom:5px;
}
main ul.horizontal li,
main ol.horizontal li{
	margin-right:20px;
}
.floatL {
	width: auto;
	float: left;
	margin: 0 60px 40px 0!important;
}
.floatR {
	width: auto;
	float: right;
	margin: 0 0 40px 60px!important;
}
/*.regular .clearfix:last-child img.floatL {
    margin: 0 50px 0 0!important;
}
.regular .clearfix:last-child img.floatR {
	margin: 0 0 0 50px!important;
}*/
img.floatL,
img.floatR {
	filter: drop-shadow(10px 10px rgba(0, 0, 0, 0.03));
}
p.catch{
	font-size: 26px;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.07em;
	text-shadow: 0px 0px 15px rgba(255, 255, 255, 0.8), 0px 0px 20px rgba(255, 255, 255, 0.8);
}
p.catch strong {
    font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.07em;
}
.line_btm {
	padding-bottom: 16px;
	border-bottom:1px dotted #ccc;
	margin-bottom: 16px;
	letter-spacing: 0.07em;
}
.mt_none {
    margin-top: 0!important;
}
.mb_none {
    margin-bottom: 0!important;
}
.mb_05em {
    margin-bottom: 0.5em!important;
}
.mb_1em {
    margin-bottom: 1em!important;
}
.mb_2em {
    margin-bottom: 2em!important;
}
.mb_3em {
    margin-bottom: 3em!important;
}
.mb_4em {
    margin-bottom: 4em!important;
}
a.anchor,
.anchor{
    display: block;
    padding-top: 120px!important;
    margin-top: -120px!important;
　  z-index:-1;
}
/*===アンカー上部に余白を持たせたい場合===*/
a.anchor.anchor_space,
.anchor.anchor_space{
    padding-top: 200px!important;
    margin-top: -200px!important;
}
}
.header {
position: relative;
}
.header:after {
content: "";
  position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    height: 2px;
  left: 0;
  bottom: 0;
  width: 100%;
}
/*================================h===============================*/
main h1{
	max-width:1920px;
	position: relative;
	background-image: url(../images/bg_h1_point.svg), url(../images/bg_h1.png);
	background-position: center center, center center;
	background-size:auto 200%, auto;
	background-repeat: no-repeat, no-repeat;
	font-size:38px;
	font-weight:500;
	color: rgba(255,255,255,0.9);
	line-height:1.7;
	margin:0 auto;
	padding:65px 0;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	text-align:center;
	z-index:11;
	}
main h1:after {
    content: "";
    position: absolute;
    background: rgba(0,0,0,0.02);
    bottom: -4px;
    right: 0;
    height: 4px;
    width: 100%;
}
main h1:before {
    content: "";
  position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    height: 2px;
  left: 0;
  bottom: 0;
  width: 100%;
}
main h1.second {
	font-size:48px;
    position: relative;
}


main h1 span{
	position: relative;
	width: auto;
	max-width:1260px;
    padding: 0 115px 0 125px;
    display: inline-block;
	z-index: 1;
	text-shadow: 0px 0px 10px rgba(43,66,45, 0.1), 0px 0px 10px rgba(43,66,45, 0.1);
}
main h1 span:before,
main h1 span:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top:-0.5px;
  display: inline-block;
  width: 80px;
  height: 1px;
  background:rgba(255,255,255,0.7);
}
main h1 span:before {
  left:5px;
}
main h1 span:after {
  right:5px;
}
main h1 em {
	color: #fff;
	font-size:0.8em;
}
main h1 br{
	display: none;
}
main h1.second br{
	display: none;
}
main h2,
main .inner h2{
	position: relative;
	padding:62px 0 0;
	margin:0 0 80px;
	font-size:48px;
	font-weight:500;
	letter-spacing: 0.1em;
	color: #191851;
	line-height: 1.0;
	text-align:center;
	background: url(../images/bg_h2.svg) no-repeat center top;
    background-size: auto;
	text-shadow: 0px 0px 16px rgba(255, 255, 255, 0.4), 0px 0px 16px rgba(255, 255, 255, 0.4);
}
main h2.secondary,
main .inner h2.secondary{
    font-size: 38px;
	font-weight:600;
    margin: 15px 0 50px;
    padding: 0 0 35px;
	background:none;
	box-shadow:none;
	color: #282960;
    line-height: 1.4;
}
main h2.secondary:before,
main .inner h2.secondary:before{
	content: '';
    position: absolute;
	top:auto;
    bottom: -2px;
    display: inline-block;
    width: 80px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(40, 41, 96, 0.6);
}
main h2.small,
main .inner h2.small{
	font-size:28px;
	margin-bottom: 60px;
}
main h2.small br,
main .inner h2.small br{
	display:none;
}
main h2 .heading,
main .inner h2 .heading{
	display: table;
    width: auto;
    font-size: 18px;
    color: #fff;
    font-weight: 500;
    background: #282960;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 6px 25px 7px;
	box-sizing:border-box;
	margin:0 auto 20px;
    z-index: 10;
	position:relative;
    filter: drop-shadow(2px 2px 0 rgba(40, 41, 96, 0.2));
	text-shadow: none;
}
main h2 .year,
main .inner h2 .year{
	display:block;
    color: #191851;
    font-size: 20px;
    font-weight: 500;
    margin: 20px auto 0;
    padding: 0;
    line-height: 1.4;
    position: relative;
    letter-spacing: 0.1em;
}
main h2 a{
	color: #14202e!important;
	text-decoration:none;
	display: block;
}
main h2 a:hover,
main h2:before a:hover{
    opacity: 0.5;
	transition-duration: 0.7s;
}
main h3 {
	background: url(../images/bg_h3.svg) ,-moz-linear-gradient(top left, #464d84 0, #555c91 100%);
    background: url(../images/bg_h3.svg) , -ms-linear-gradient(left, #464d84 0, #555c91 100%);
    background: url(../images/bg_h3.svg) , -moz-linear-gradient(left, #464d84 0, #555c91 100%);
    background: url(../images/bg_h3.svg) , -webkit-linear-gradient(left, #464d84 0, #555c91 100%);
    background: url(../images/bg_h3.svg) , linear-gradient(left, #464d84 0, #555c91 100%);
    background-repeat: no-repeat;
    background-position: right center;
    background-size:auto 90px;
    color: #fff;
    font-size: 29px;
    font-weight: 500;
    padding: 12px 40px 15px 60px;
    margin: 0 0 40px;
    text-align: left;
    position: relative;
    box-shadow: 3px 3px 6px -2px #ccc, 3px 3px 8px rgb(255 255 255 / 50%) inset;
	line-height: 1.6;
	letter-spacing: 0.1em;
}
main h3:before {
    /*position: absolute;
    left: 26px;
    top: 50%;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: #618fcc;
    transform: translateY(-4px) rotate(45deg) skew(-10deg, -10deg);*/
   content: "";
  position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    width: 15px;
  top: 0;
  left: 0;
  height: 100%; 
}
/*main h3:before {
    position: absolute;
    top: 12px;
    left: 20px;
    content: "";
    width: 1px;
    height: 16px;
    background: #fff;
    transform: rotate(45deg);
}*/
.basic_wrap h3{
	font-size: 22px;
	font-weight: 500;
    padding: 12px 40px 12px 80px;
    margin: 0px 0 30px;
	}
main h3.second {
	color: #464d84;
	font-size: 27px;
	font-weight: 600;
    padding: 10px 0 10px 25px;
    margin: 0 0 30px;
    text-align: left;
	background:none;
	box-shadow: none;
}
main h3.second:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 2px;
    height: 100%;
	transform: translateY(-50%);
	background: #31adcf;
}
main h3.second:after{
	display:none;
}
main h3.third {
	color: #464d84;
	font-size: 24px;
    padding: 8px 0 8px 25px;
    margin: 10px 0 15px;
    text-align: left;
	background:none;
	box-shadow: none;
}
main h3.third:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 2px;
    height: 100%;
	transform: translateY(-50%);
	background: #464d84;
}
main h3.third:after{
	display:none;
}
main h3.number {
	padding: 12px 40px 15px 70px;
}
main h3 .number {
	width:70px;
	height:70px;
    position: absolute;
    top: -15px;
    left: -15px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background:rgba(0,173,219,1.0);
	border-radius:50%;
	font-family: "Hind Madurai", sans-serif;
    color: #fff;
    font-weight: 500;
    font-size: 32px;
    line-height: 1.0;
	letter-spacing: 0.05em;
	padding-top: 4px;
	box-sizing: border-box;
	outline: 2px solid rgba(255, 255, 255, 0.6);
	outline-offset: -6px;
}
main h4 {
	color: #191851;
	font-size: 30px;
	font-weight: 600;
    margin: 0 auto 30px;
	padding: 0 0 30px;
	background:none;
	border-radius:0;
	line-height:1.4;
	border-bottom: 3px solid rgba(0, 0, 0, 0.08);
    position: relative;
	letter-spacing: 0.1em;
	text-align:left;
}
main h4:after {
    position: absolute;
    content: " ";
    display: block;
	border-bottom: solid 3px #464d84;
    left: 0px;
    bottom: -3px;
    padding: 0;
    width: 200px;
}
main h4.second{
    color: #333;
	font-size: 18px;
    margin: 0 auto 20px!important;
	padding: 0px 0px 15px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	}
main h5 {
    width: 100%;
    color: #333;
    font-size: 18px;
    font-weight: 500;
	padding: 0 0 0 20px;
    margin: 5px 0 20px;
    letter-spacing: 0.1em;
    text-align: left;
    position: relative;
    line-height: 1.6;
    box-sizing: border-box;
}
main h5:before {
    content: '';
    position: absolute;
    bottom: 50%;
	transform: translateY(50%);
    left: 0;
    display: inline-block;
    width: 2px;
    height: 30px;
	background: #00288d;
}
@media  print, screen and (max-width: 767px) {
    .bld_LL {
        font-size:90%;
    }
main h1{
	background-image: url(../images/bg_h1_point.svg), url(../images/bg_h1.png);
	background-position: center bottom, center top;
	background-size:auto 120%, cover;
	background-repeat: no-repeat, no-repeat;
	font-size:20px;
	font-weight:500;
	line-height:1.7;
	padding: 22px 20px;
	letter-spacing: 0.07em;
	box-sizing: border-box;
	}
main h1:after {
    content: "";
    position: absolute;
    bottom: -3px;
    right: 0;
    height: 3px;
    width: 100%;
}
main h1.second {
	font-size:20px;
	padding: 30px 20px;
	line-height: 1.5;
}
@media  print, screen and (max-width: 360px) {
main h1.second {
	font-size:23px;
}
}
main h1.second br{
	display:none!important;
}
@media  print, screen and (max-width: 430px) {
main h1.second br{
	display:inherit!important;
}
}
main h1 span{
	position: relative;
	width: auto;
    padding: 0;
    display: inline-block;
	text-shadow: 0px 0px 10px rgba(43,66,45, 0.15), 0px 0px 10px rgba(43,66,45, 0.15);
}
main h1.second span {
    padding: 0 65px;
}
@media  print, screen and (max-width: 360px) {
main h1.second span {
    padding: 0;
}
}
main h1 span:before,
main h1 span:after {
  display: none;
}
main h1.second span:before,
main h1.second span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 1px;
}
@media  print, screen and (max-width: 360px) {
main h1.second span:before,
main h1.second span:after {
	display:none;
}
}
main h1.second span:before {
  left:0;
}
main h1.second span:after {
  right:0;
}
main h1 em {
	font-size:18px;
	display:block;
}
main h1 br{
	display:none;
	}
main h1.second br{
	display: inherit;
}
main h1 .txt_small {
    font-size: 0.8em;
	letter-spacing: 0.05em;
}
main h2,
main .inner h2{
	padding: 34px 0 0;
	margin: 0 15px 25px;
	font-size:20px;
	line-height: 1.5;
	letter-spacing: 0.07em;
	background: url(../images/bg_h2.svg) no-repeat center top;
    background-size: 14px auto;
}
@media  print, screen and (max-width: 359px) {
main h2,
main .inner h2{
	font-size:23px;
}
}
main h2 br,
main .inner h2 br{
	display:none;
}
main .inner h2{
	margin: 0 0 25px;
}
main h2.secondary,
main .inner h2.secondary{
    font-size: 20px;
    margin: 5px 0 25px;
    padding: 0 0 15px;
}
main h2.secondary:before,
main .inner h2.secondary:before{
    width: 50px;
    height: 2px;
}
main h2.small,
main .inner h2.small{
	font-size:18px;
	padding: 0 0 38px;
    margin:0 0px 20px;
	}
main h2.small br,
main .inner h2.small br{
	display: inherit;
	}
main h2 .heading,
main .inner h2 .heading{
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.07em;
    padding: 5px 20px 6px;
	margin: 0 auto 10px;
    filter: drop-shadow(2px 2px 0 rgba(40, 41, 96, 0.2));
}
main h2 .year,
main .inner h2 .year{
    font-size: 15px;
    margin: 8px auto 0;
    letter-spacing: 0.07em;
}
main h3{
	background-size:auto 100%;
    font-size: 17px;
	padding: 10px 13px 13px 25px;
    margin: 0 0 20px;
	line-height: 1.5;
	letter-spacing: 0.07em;
}
main h3:before {
	/*display:none;*/
    width: 10px;
}
.basic_wrap h3 {
    font-size: 15px;
    padding: 8px 15px 8px;
    margin: 5px 0 15px;
	text-align: left;
}
main h3.second{
    font-size: 18px;
	padding: 5px 0 5px 15px;
    margin: 0 0 15px;
}
main h3.second:before {
    height: 100%;
}
main h3.third{
    font-size: 18px;
	padding: 5px 0 5px 15px;
    margin: 0 0 10px;
}
main h3.third:before {
    height: 100%;
}
main h3.number {
	padding: 10px 13px 13px 36px;
	margin: 0 0 15px;
}
main h3 .number {
	width:40px;
	height:40px;
    top: -10px;
    left: -10px;
    font-size: 21px;
	letter-spacing: 0.05em;
	padding-top: 2px;
	outline: 1px solid rgba(255, 255, 255, 0.6);
	outline-offset: -3px;
}
main h4 {
    font-size: 18px;
    padding: 0 4px 15px;
    margin: 0 0 20px;
	letter-spacing: 0.07em;
	line-height:1.5;
	border-bottom: 2px solid rgba(0, 0, 0, 0.08);
	text-align: center;
}
main h4:after {
	left: 50%;
	bottom: -2px;
    transform: translateX(-50%);
	border-bottom: solid 2px #464d84;
    width: 20%;
}
main h4.second{
	font-size: 14px;
	line-height: 1.5;
    margin: 0 auto 12px!important;
	padding: 0 0 10px;
	letter-spacing: 0.05em;
}
main h5 {
    font-size: 14px;
    padding: 0 0 0 18px;
    margin: 5px 0 12px;
}
main h5:before {
    height: 20px;
}
}

/*================================table================================*/
main table {
	width:100%;
	border-collapse: collapse;
	border-top: 1px solid #ced4de;
    border-bottom: 1px solid #ced4de;
    margin-bottom: 20px;
}
main table.second{
	margin-bottom: 0;
}
main table.catalog{
	margin-bottom: 15px;
}
main th,main td {
	border-bottom: 1px solid #ced4de;
	padding: 10px 10px;
    word-break:break-all;
	font-size: 14px;
	line-height: 1.6;
}
main thead th{
	border-bottom: none;
}
main .sp td {
	padding: 10px 8px;
}
main td {
	font-weight: 400;
	background:#fff;
	color: #111e2d;
	vertical-align: top;
}
main table thead th {
	font-weight:600;
	text-align: center;
	color: #fff;
	background: #464d84;
	padding: 6px 8px;
}
main table tbody th {
	font-weight: 600;
	width: 32%;
	text-align: left;
	vertical-align: middle;
	background: #e9ecf3;
	color: #1c291e;
}
main table.second tbody th {
	width: 10%;
	text-align: center;
	white-space:nowrap;
}
main table.catalog tbody th{
	width: 40%;
}
main table td p:last-child{
	padding: 0;
}
main table .fax {
	display:block;
	margin-left:0;
}
main table ul {
    list-style-type: disc;
	list-style-position: inside;
}
main .table_scroll table{
width:100%;
margin-bottom: 0;
}
main .table_scroll{
overflow: auto;　　　　/*tableをスクロールさせる*/
white-space: nowrap;　　/*tableのセル内にある文字の折り返しを禁止*/
}
main .table_scroll::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
 height: 5px;
}
main .table_scroll::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}
main .table_scroll::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}
@media screen and (max-width: 767px) {
main table.second{
	margin-bottom: 15px;
}
main table.vertical {
    border-bottom: none;
}
main table.vertical thead {
	display:none;
}
main table.vertical th,table.vertical td {
	padding: 5px 10px;
}
main table.vertical tbody th {
	display:block;
	width: 100%;
	box-sizing:border-box;
	text-align: center;
	background: #1463aa;
    color: #fff;
}
main table.vertical tbody td {
	display: flex;
    flex-wrap: wrap;
    justify-content: start;
    align-items: center;
}
main table.vertical tbody td p{
}
main table.vertical tbody td span{
	font-weight:bold;
	color:#1463aa;
	width:38%;
	padding-right:25px;
}
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
main table,
main .table_scroll table,
main table.catalog{
    margin-bottom: 40px;
}
main table thead th{
	padding: 18px 20px;
}
main th{
    padding: 15px 30px;
	font-size: 16px;
	line-height: 1.8;
}
main td{
    padding: 15px 30px;
	font-size: 16px;
	line-height: 1.8;
}
main table.catalog th,
main table.catalog td{
    padding: 12px 30px;
	font-size: 16px;
	line-height: 1.8;
}
main .vertical th,main .vertical td{
	white-space:nowrap;
}
main table tbody tr:last-child th,
main table tbody tr:last-child td {
	border-bottom: none;
}
main table thead th {
	text-align: center;
	color: #fff;
	white-space:nowrap;
}
main table tbody th {
	width:25%;
	text-align:left;
	vertical-align: middle;
}
main table.catalog tbody th{
	width: 25%;
}
main table tbody td p{
	line-height: 1.8;
}
main table .fax {
    margin-left:12px;
	display: inline;
}
main table.vertical tbody td {
	text-align: center;
}
}

/*================================intro_box================================*/
.intro_box {
	width:100%;
	max-width:1920px;
	min-width:1200px;
	padding:100px 0 0;
	box-sizing: border-box;
	margin:0 auto;
	text-align:left;
	overflow: hidden;
	clear:both;
	z-index: 10;
	background: -moz-linear-gradient(top, #4b619c 0%, #4b619c 300px, #60aad2 100%);
    background: -webkit-linear-gradient(top, #4b619c 0%, #4b619c 300px, #60aad2 100%);
    background: linear-gradient(to bottom, #4b619c 0%, #4b619c 300px, #60aad2 100%);
	/*background: -moz-linear-gradient(top, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);
    background: -webkit-linear-gradient(top, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);
    background: linear-gradient(to bottom, #4b619c 0%, #4b619c 300px, #6bb0d5 100%);*/
	position:relative;
}
.intro_box:before {
	width: 100%;
    height: 600px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: linear-gradient(to bottom, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    z-index: -1;
}
.intro_box:after{
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat top center;
    background-size: contain;
    top: 180px;
	right: 50%;
    transform: translate(1190px, 0);
    width: 1024px;
    height: 914px;
	z-index:0;
	opacity:0.07;
}
.intro_box .flex_box{
	display: block;
	position:relative;
	min-width:1200px;
	margin:0 auto 120px;
	padding: 0;
	z-index:10;
	text-align:center;
	}
.intro_box .flex_box.second{
	margin:0 auto 100px;
	}
.intro_box .inner {
    position: relative;
    width: 1240px;
    margin: auto;
    padding: 0;
	text-align:left;
}
.intro_box .second .inner {
    position: relative;
    width: 1200px;
    margin: 0 auto 50px;
    padding: 60px 40px 60px;
    box-sizing: border-box;
	border-top: 4px solid rgb(0 0 0 / 5%);
	border-bottom: 4px solid rgb(0 0 0 / 5%);
	box-sizing: border-box;
	border-radius: 0;
	background: rgba(255,255,255,1.0) url(../images/bg_inner_second.svg) no-repeat center center;
    background-size: 94% auto;
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.2));
}
.intro_box .second .inner:before {
    content: "";
    position: absolute;
    background: url(../images/bg_intro_inner.png) no-repeat 0 0;
    background-size: contain;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: -1;
}
.intro_box .flex_box h2{
    color: #fff;
    background: url(../images/bg_h2_w.svg) no-repeat center top;
    background-size: auto;
    text-shadow: none;
}
.intro_box .flex_box h2 br{
	display: inherit;
}
.intro_box .flex_box .inner h2{
    font-size: 38px;
    margin: 0 0 50px;
    padding: 0 0 30px;
	background:none;
	box-shadow:none;
	color: #282960;
}
.intro_box .flex_box .inner h2::before {
	content: '';
    position: absolute;
	top:auto;
    bottom: -2px;
    display: inline-block;
    width: 80px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(40, 41, 96, 0.6);
}
.intro_box .clearbox {
	display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
	align-items: flex-start;
	min-height:560px;
	margin-bottom:90px;
	position:relative;
}
.intro_box .clearbox.right {
    flex-direction: row-reverse;
}
.intro_box .clearbox:last-child {
	margin-bottom:60px;
}
.intro_box .image_wrap {
	position: absolute;
	top: 0;
    left:50%;
	transform: translate(-720px,0);
    z-index:1;
	margin:0;
}
.intro_box .right .image_wrap {
	transform: translate(80px,0);
}
.intro_box .image_wrap:before,
.intro_box .right .image_wrap:before{
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    outline: 10px solid rgba(255, 255, 255, 0.2);
    outline-offset: -10px;
    z-index: 1;
}
.intro_box .image_wrap:after{
    content: '';
    display: block;
    position: absolute;
    bottom: -40px;
    left: -200px;
    width: 280px;
	height: 520px;
    background-color: rgba(40, 41, 96, 0.6);
	z-index:-1;
}
.intro_box .right .image_wrap:after{
    left: auto;
	right:-160px;
}
@media all and (min-width: 768px) and (max-width: 1320px) {
.intro_box .image_wrap:after,
.intro_box .right .image_wrap:after{
    width: 480px;
	height: 480px;
}
}
.intro_box .image_wrap.second {
	margin:60px 0 0;
}
.intro_box .image_wrap img{
    z-index:0;
	filter: drop-shadow(0 0 30px rgba(255, 255, 255, 0.3));
}
/*.intro_box .image_wrap img{
	border-radius:70px;
    z-index:0;
	filter: drop-shadow(-40px 40px 0 #e3f2f1);
}
.intro_box .right .image_wrap img{
	filter: drop-shadow(40px 40px 0 #e3f2f1);
}*/
.intro_box .text_wrap {
	width:600px;
	margin: 0;
	padding:0;
	box-sizing:border-box;
	border-radius:0;
	z-index:1;
	display: flex;
	flex-direction: column;
    justify-content: flex-start;
}
.intro_box .right .text_wrap {
    padding:0;
	margin: 0;
}
.intro_box .column.text {
    padding: 0 50px;
	display: flex;
    flex-wrap: wrap;
	align-content: center;
}
.intro_box .clearbox h3 {
	font-size: 29px;
	font-weight: 500;
	line-height: 1.7;
	text-align: left;
	letter-spacing: 0.1em;
	padding: 0;
    margin: 0 0 35px;
	color: #fff;
	background:none;
	box-shadow:none;
    display: inline-block;
}
.intro_box .clearbox h3.small {
	font-size: 25px;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
.intro_box h3 span {
	font-size: 26px;
	font-weight: 500;
	line-height: 46px;
    display: inline-block;
    padding: 2px 16px 6px 18px;
    margin-top: 10px;
	color: #fff;
    position: relative;
	background: #282960;
}
.intro_box h3 span:first-child{
	margin-top: 0;
	margin-left:0;
}
.intro_box .clearbox h3:before{
	display:none;
}
.intro_box p {
	font-size: 18px;
	color: #fff;
    padding: 0 0 1.2em;
}
.intro_box .second p {
	color: #111e2d;
}
.intro_box p.name {
    display: block;
	width: 100%;
    color: #516a90;
    font-size: 28px;
    padding: 0 0 25px;
    margin: 0 0 25px;
    line-height: 1.6;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    box-shadow: 0 4px 0 rgb(63 90 142 / 20%);
    position: relative;
}
.intro_box p.name::before {
    content: '';
    position: absolute;
    bottom: -4px;
    display: inline-block;
    width: 60px;
    height: 4px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #3f5a8e;
}

.intro_box .company {
	font-family: 'Noto Serif JP', serif;
    display: inline-block;
    font-size: 24px;
    font-weight: 400;
    color: #fff;
	letter-spacing: 0.1em;
    line-height: 60px;
    padding: 0 30px;
    margin-bottom: 12px;
    box-sizing: border-box;
	background: #0e2e5e;
    position: relative;
}
.intro_box p.catch {
	color: #00addb;
	padding: 0 0 1.0em;
}
.intro_box img{
	width:auto;
	border-radius:0;
	}
.intro_box .heading {
	position: absolute;
	right:-25px;
	bottom:50px;
	z-index:10;
	font-size: 16px;
	font-weight: 500;
	color:#191851;
	line-height: 1.6;
	padding:8px 20px 8px 20px;
	/*background: #282960;*/
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.6));
	text-align:right;
}
.intro_box .right .heading {
	left:-25px;
	right:auto;
	text-align:left;
}
.intro_box .heading span{
	display: inline-block;
	font-size: 62px;
	font-weight:600;
	color: #0e2e5e;
	position: relative;
	padding-left:8px;
}
.intro_box .type {
	display:inline-block;
	position: absolute;
    top: 20px;
    left: -35px;
    font-size: 21px;
    background: -webkit-linear-gradient(left, #333 0%, #333 100%);
    color: #fff;
    min-width: 50px;
    font-weight: bold;
    line-height: 43px;
    padding: 0 20px;
    margin: 0;
    letter-spacing: 0.1em;
}
.intro_box .type span {
    display: inline-block;
    margin-left: 10px;
}
.intro_box .inner .floatR {
}
.intro_box .inner .floatL {
}
.intro_box a:hover img{
	opacity: 0.7;
	transition: 0.5s ;
}
.intro_box .point {
    position: absolute;
    bottom: -10px;
    right: 50%;
    transform: translate(680px,0);
    z-index: 10;
}
@media all and (min-width: 768px) and (max-width: 1399px) {
.intro_box .point {
	bottom:-10;
	transform: translate(640px,0);
}
}
.intro_box .btn {
	width: auto;
}
.intro_box .btn a {
	display: table-cell;
}
@media  print, screen and (max-width: 767px) {
.intro_box {
	width:100%;
	padding:40px 0 0;
	margin:0 auto;
	text-align:center;
	min-width: inherit;
	}
.intro_box:before {
	width: 100%;
    height: 150px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    background: linear-gradient(to bottom, rgba(108, 112, 146, 0.7) 0, transparent 100%);
    z-index: -1;
}
.intro_box:after{
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat top center;
    background-size: contain;
    top: 70px;
	right: -10%;
    transform: none;
    width: 70%;
    height: 50%;
	opacity:0.07;
}
.intro_box .flex_box,
.intro_box .flex_box.second{
	min-width: inherit;
	margin: 0 auto 20px;
}
.intro_box .inner {
    width: 100%;
    padding: 0 15px;
}
.intro_box .second .inner {
	width: calc(100% - 30px);
	margin: auto;
    padding: 20px 15px 15px;
	border-top: 3px solid rgb(0 0 0 / 5%);
	border-bottom: 3px solid rgb(0 0 0 / 5%);
    filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
}
@media  print, screen and (max-width: 359px) {
.intro_box .second .inner {
	width: calc(100% - 20px);
}
}
.intro_box .second .inner:before {
	display:none;
}
.intro_box .flex_box h2,
.intro_box .second h2{
	background-size: 14px auto;
}
.intro_box .flex_box h2 br{
	display:none;
}
.intro_box .flex_box .inner h2{
    font-size: 20px;
    margin: 5px 0 22px;
    padding: 0 0 12px;
}
.intro_box .flex_box .inner h2::before {
    width: 50px;
    height: 2px;
}
.intro_box .clearbox,
.intro_box .clearbox.right{
	display: block;
	min-height: inherit;
	margin-bottom: 20px;
}
.intro_box .clearbox:last-child{
	margin-bottom:0;
}
.intro_box .image_wrap,
.intro_box .right .image_wrap{
	width: 100%;
	position: relative;
	top: auto;
    left: auto;
	transform: none;
}
.intro_box .image_wrap img {
    width: 100%;
	height:auto;
	filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
}
.intro_box .image_wrap:before,
.intro_box .right .image_wrap:before{
	outline: 5px solid rgba(255, 255, 255, 0.3);
	outline-offset: -5px;
}
.intro_box .image_wrap:after,
.intro_box .right .image_wrap:after{
    bottom: -15px;
    left: auto;
	right: -15px;
    width: 60px;
	height: 60px;
}
.intro_box .text_wrap,
.intro_box .right .text_wrap{
	width:100%!important;
	padding: 25px 0 15px;
}
.intro_box .column.text {
    padding: 15px 20px 15px;
}
.intro_box .clearbox h3 {
	font-size: 18px;
	line-height: 1.6;
	letter-spacing: 0.07em;
	padding: 0;
    margin: 0 0 15px;
    white-space: inherit;
}
.intro_box .clearbox h3.small {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.07em;
}
.intro_box .clearbox h3.second {
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding: 8px 14px 10px 14px;
    margin: 0 0 15px;
    white-space: inherit;
    background: #282960;
}
.intro_box h3 span {
	font-size: 17px;
	display: inline;
    padding: 0;
	line-height: 1.5;
    margin-top: 0;
    background: none;
}
.intro_box .clearbox h3 br{
	display:none;
}
.intro_box h4{
	font-size: 17px;
	text-align:left;
}
.intro_box p {
	font-size: 14px;
    padding: 0 0 1.0em;
    text-align: left;
}
.intro_box p.name {
    font-size: 20px;
    padding: 0 0 15px;
    margin: 0 0 15px;
    line-height: 1.5;
    font-weight: bold;
	box-shadow: 0 3px 0 rgb(63 90 142 / 20%);
}
.intro_box p.name::before {
    bottom: -3px;
    height: 3px;
    width: 60px;
}
.intro_box .company {
    font-size: 16px;
	letter-spacing: 0.07em;
    line-height: 42px;
    padding: 0 20px;
    margin-bottom: 7px;
}
.intro_box p.catch {
	padding: 0 0 1em;
}
.intro_box img{
	width:100%;
	height:auto;
	border-radius:0;
	}
.intro_box img.number{
	width:80px;
	height:80px;
	}
.intro_box .heading,
.intro_box .right .heading{
	left:-7px;
	right:auto;
	bottom:25px;
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	padding:6px 12px;
	filter: drop-shadow(3px 3px 0 rgba(255, 255, 255, 0.6));
	text-align:left;
}
.intro_box .heading span{
	font-size: 41px;
	padding-left:6px;
	filter: drop-shadow(5px 5px 0 rgba(255,255,255,0.3));
}
.intro_box .type {
    font-size: 15px;
    line-height: 1.6;
	min-width: inherit;
	letter-spacing: 0.07em;
    padding: 4px 10px;
    margin: 0 auto 7px;
}
.intro_box .type span {
    display: block;
}
main .intro_box .imgC {
	width: 100%;
    margin: 0 0 25px;
}
main .intro_box .imgC img {
    width: 100%;
    height: auto;
	border-radius:0;
}
.intro_box .point{
	width:90px;
    position: absolute;
    bottom:0;
	right:10px;
	transform:none;
}
.intro_box .point img{
    width:100%;
    height: auto;
}
.intro_box .btn {
	max-width: 290px;
    margin: 5px auto 5px!important;
}
.intro_box .btn a {
    display: block;
}
}

/*=============================== regular ================================*/
.regular {
    overflow: hidden;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding:100px 0 100px;
    height: auto;
    clear: both;
    position: relative;
	background: #f3f5f9;
    z-index: 11;
}
.regular:before {
    width: 100%;
    height: 200px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
	background: -moz-linear-gradient(bottom, rgba(0, 0, 0,0.03) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0,0.03) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(0, 0, 0,0.03) 0%, transparent 100%);
	z-index: -1;
}
.regular03:before {
    width: 100%;
    height: 6px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.6;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0, transparent 6px);
    z-index: 1;
}
.regular:after {
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat top center;
    background-size: contain;
    bottom: 60px;
    left: 50%;
    transform: translate(-1000px, 0);
    width: 900px;
    height: 800px;
    z-index: -1;
    opacity: 0.05;
}
.regular02:after{
    opacity: 0.04;
}
.regular03:after{
    opacity: 0.06;
}
#contents .regular{
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
/*==regular02ホワイト==*/
.regular02{
	background:#fff;
}
/*==regular03ネイビー・背景に画像（インナー部分がホワイト）==*/
.regular03{
	background: url(../images/bg_regular.png) ,-moz-linear-gradient(top,rgba(40, 41, 96, 1.0) 0, rgba(40, 41, 96, 0.9) 20%, rgba(91, 123, 172, 0.9) 100%);
    background: url(../images/bg_regular.png) , -ms-linear-gradient(top, rgba(40, 41, 96, 1.0) 0, rgba(40, 41, 96, 0.9) 20%, rgba(91, 123, 172, 0.9) 100%);
    background: url(../images/bg_regular.png) , -moz-linear-gradient(top, rgba(40, 41, 96, 1.0) 0, rgba(40, 41, 96, 0.9) 20%, rgba(91, 123, 172, 0.9) 100%);
    background: url(../images/bg_regular.png) , -webkit-linear-gradient(top, rgba(40, 41, 96, 1.0) 0, rgba(40, 41, 96, 0.9) 20%, rgba(91, 123, 172, 0.9) 100%);
    background: url(../images/bg_regular.png) , linear-gradient(top, rgba(40, 41, 96, 1.0) 0, rgba(40, 41, 96, 0.9) 20%, rgba(91, 123, 172, 0.9) 100%);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto;
}
.regular03 > .inner {
    position: relative;
    width: 1200px;
    padding: 60px 40px 60px;
    box-sizing: border-box;
	background: rgba(255,255,255,1.0) url(../images/bg_contents.svg) no-repeat right 10px bottom 10px;
    background-size: 40% auto;
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.3));
}
.regular03 > .inner.transparent {
    padding: 0;
	background:none;
	filter: none;
}
.regular03 > .inner:before {
    /*content: "";
    position: absolute;
    background: url(../images/bg_inner02.png) no-repeat 0 0;
    background-size: contain;
    top: 0;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: -1;*/
    position: relative;
    content: "";
  position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    height: 10px;
  left: 0;
  top: -4px;
  width: 100%;
}
.regular03 > .inner.transparent:before {
	display:none;
}
.regular03 h2 {
    color: #fff;
    background: url(../images/bg_h2_w.svg) no-repeat center top;
	text-shadow:none;
}
.regular .clearfix:last-child .text_wrap:last-child{
    margin: 0;
}
.regular img.floatL, .regular img.floatR {
	outline: 7px solid rgba(255, 255, 255, 0.5);
    outline-offset: -7px;
}
@media  print, screen and (max-width: 767px) {
.regular{
	overflow: hidden;
	width:100%;
	padding:40px 0 20px;
	box-sizing:border-box;
	margin: 0;
	height:auto;
}
.regular:before {
    height: 150px;
	background: -moz-linear-gradient(bottom, rgba(0, 0, 0,0.03) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0,0.03) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(0, 0, 0,0.03) 0%, transparent 100%);
}
.regular03:before {
    width: 100%;
    height: 4px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 0.6;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 0, transparent 4px);
    z-index: 1;
}
.regular:after {
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat top center;
    background-size: contain;
    top: 30px;
	bottom:auto;
	left: 50%;
    transform: translate(-50%, 0);
    width: 80%;
    height: 400px;
    z-index: -1;
    opacity: 0.06;
}
.regular02:after{
    opacity: 0.05;
}
.regular03:after{
    opacity: 0.1;
}
.regular > .inner.second,
.regular02 > .inner.second{
	filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, 0.03));
}
@media  print, screen and (max-width: 359px) {
.regular > .inner.second,
.regular02 > .inner.second{
	width: calc(100% - 20px);
	filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.03));
}
}
/*==regular03ネイビー・背景に画像（インナー部分がホワイト）==*/
.regular03{
    background-size:100% auto;
}
.regular03 > .inner {
    width: calc(100% - 30px);
    padding: 20px 15px 15px;
	margin:0 auto;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.3));
}
@media  print, screen and (max-width: 359px) {
.regular03 > .inner {
	width: calc(100% - 20px);
	filter: drop-shadow(3px 3px 0 rgba(255, 255, 255, 0.3));
}
}
.regular03 > .inner.transparent {
    width: 100%;
    padding: 0 15px;
	filter: none;
}
.regular03 h2 {
    color: #fff;
	background-size: 14px auto;
}
.regular .floatL,
.regular .floatR {
    max-width: 600px;
    width: 100%;
	margin: 0 auto 1.2em;
	display:block;
}
.regular img.floatL, .regular img.floatR {
	outline: 5px solid rgba(255, 255, 255, 0.5);
    outline-offset: -5px;
}
}

/*================================column===============================*/
.column {
	width: 100%;
    clear: both;
    margin: 0 auto 50px;
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    align-items: center;
    gap: 40px;
}
.column.space {
	padding: 50px;
	box-sizing: border-box;
	background: url(../images/bg_column_space.svg) ,-moz-linear-gradient(bottom left, rgba(91, 123, 172, 0.9) 0px, rgba(40, 41, 96, 0.9) 100%);
    background: url(../images/bg_column_space.svg) , -ms-linear-gradient(bottom, rgba(91, 123, 172, 0.9) 0px, rgba(40, 41, 96, 0.9) 100%);
    background: url(../images/bg_column_space.svg) , -moz-linear-gradient(bottom, rgba(91, 123, 172, 0.9) 0px, rgba(40, 41, 96, 0.9) 100%);
    background: url(../images/bg_column_space.svg), -webkit-linear-gradient(bottom, rgba(91, 123, 172, 0.9) 0px, rgba(40, 41, 96, 0.9) 100%);
    background: url(../images/bg_column_space.svg) , linear-gradient(bottom, rgba(91, 123, 172, 0.9) 0px, rgba(40, 41, 96, 0.9) 100%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
	filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, 0.05));
    border: 5px solid; /* 任意の太さに調整 */
  border-image: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  border-image-slice: 1;
}
.inner.second .column.space {
    padding: 40px;
}
.column2{
	width: calc((100% - 40px) / 2);
    position: relative;
    margin: 0;
    padding: 0;
}
.column2.text_wrap {
	padding:40px 50px 40px;
	box-sizing: border-box;
    z-index: 1;
	background: rgba(255,255,255,1.0);
	position: relative;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.05));
	}
.column2.scale_wrap {
    width: auto;
    margin: 0;
	padding:0;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.05));
}
/*.column2.scale_wrap:after {
	width:100%;
	height: auto;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,0);
    opacity: 0.5;
    background: -moz-linear-gradient(bottom, #fff 0, #6cacc7 30%, #6cacc7 100%);
    background: -webkit-linear-gradient(bottom, #fff 0, #6cacc7 30%, #6cacc7 100%);
    background: linear-gradient(to top, #fff 0, #6cacc7 30%, #6cacc7 100%);
	z-index:0;
}*/
.column .scale_wrap img {
    width: auto;
    max-width: 100%;
	outline: 7px solid rgba(255,255,255,0.5);
    outline-offset: -7px;
	filter: drop-shadow(0 0 30px rgba(255, 255, 255, 0.3));
}
.column .column2.scale_wrap img {
    /*max-width: 490px;*/
    max-width: 650px;
}
.column p{
	padding:0 0 1.0em;
	}
.column .imgC img{
	width:auto;
	}
@media  print, screen and (max-width: 767px) {
.column {
    margin: 0 auto 20px;
    gap: 15px;
}
.column.space,
.inner.second .column.space{
	padding: 20px;
	background-size: 110% auto;
	filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, 0.05));
}
.column2{
	width: 100%;
}
.column2.text_wrap {
	padding:15px 20px 15px;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.05));
}
.column2.scale_wrap {
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.05));
}
.column .scale_wrap img,
.column .column2.scale_wrap img {
    width: 100%;
	height:auto;
	outline: 5px solid rgba(255,255,255,0.5);
    outline-offset: -5px;
	filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
}
.column2.scale_wrap img {
    width: 100%;
	max-width: inherit;
	height:auto;
	filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.3));
}
}

/*================================area01===============================*/
.area01 {
	margin:0 0 50px;
	padding: 0;
	/*background: -moz-linear-gradient(top, rgba(0, 5, 75, 0.2) 0%, rgba(0, 5, 75, 0.1) 50%, rgba(0, 54, 121, 0.1) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 5, 75, 0.2) 0%, rgba(0, 5, 75, 0.1) 50%, rgba(0, 54, 121, 0.1) 100%);
    background: linear-gradient(to bottom, rgba(0, 8, 113, 0.2) 0%, rgba(0, 5, 75, 0.1) 50%, rgba(0, 54, 121, 0.1) 100%);*/
    background: #282960;
	/*background: url(../images/bg_area01.png) repeat center center;
    background-size: auto;
	background: rgba(40, 41, 96, 0.2);*/
	box-shadow: 10px 10px rgba(0, 0, 0, 0.03);
	/*outline: 5px solid rgba(255, 255, 255, 0.6);
	outline-offset: -10px;*/
	position:relative;
    color: #fff;
}
.area01:before {
    content: "";
    display: block;
    width: 98%;
    height: 95%;
    border: 5px solid;
  border-image: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  border-image-slice: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.area01 .inner{
    width: auto!important;
    padding:50px 75px 40px;
    margin: 0;
	text-align:left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
    justify-content: center;
}
.area01 h4 {
	width:100%;
	border-bottom:3px solid rgba(255,255,255,0.5);
    color: #fff;
}
.area01 p {
    color: #fff;
}
.area01 p.tel {
    margin: 0 30px;
}
.area01 p.tel a {
	font-family: "Albert Sans", serif;
    background: url(../images/icon_tel_second.svg) no-repeat 0 center;
    background-size: auto 77%;
    padding: 8px 5px 8px 50px;
	font-size:40px;
    color: #fff;
    font-weight: 600;
	text-decoration:none;
	letter-spacing:0.02em;
	display:block;
	line-height:1.0;
}
.area01 p.tel a span.fs18 {
	font-family: 'Noto Sans JP',"游ゴシック Medium","YuGothicM","YuGothic","ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif;
    padding: 0;
    display: inline-block;
}
.area01 p.tel span{
	display:block;
	font-size: 16px;
	padding-top:12px;
	padding-left:68px;
	line-height: 1.0;
}
.area01 p.tel span br{
	display:none;
}
.area01 p.catch{
    margin: 0 20px 1em;
}
.area01 p.adr {
    float: left;
    width: auto;
	font-size: 18px;
    padding: 4px 0 10px;
    margin: 0 30px;
}
.area01 p.adr em{
	font-family: "Albert Sans", serif;
	font-size: 28px;
	font-weight: 600;
    color: #fff;
	letter-spacing:0.02em;
	line-height: 1.5;
}
.area01 p.adr .postal-code{
	margin-right:15px;
}
.area01 .btn_more{
	width:100%;
	padding-top:20px;
	margin-bottom:15px;
	text-align:center;
	clear:both;
}
.area01 .btn_more a{
	width:auto;
	height: auto;
    color: #191851;
	font-size:21px;
	background:#fff;
	text-decoration: none!important;
	font-weight:500;
	letter-spacing: 0.1em;
	display:block;
	padding:13px 20px 15px;
	border-radius: 5px; 
    -webkit-border-radius: 5px;  
    -moz-border-radius: 5px;
	line-height: 1.6;
	box-shadow: none;
	position:relative;
}
.area01 .btn_more a:after{
    content: "";
    position: absolute;
    background: url(../images/arrow_b.svg) no-repeat center right;
    background-size: contain;
    top: 50%;
    right: 25px;
    margin-top: -8px;
    width: 10px;
    height: 16px;
}
.area01 .btn_more a:hover{
	text-decoration: none!important;
	opacity:0.6;
	transition: 0.7s ;
}
main .area01 .imgC {
    margin: 0 0 40px;
}
@media  print, screen and (max-width: 767px) {
.area01 {
    margin: 0 0 25px;
	box-shadow: 5px 5px rgba(0,0,0,0.03);
	/*outline: 4px solid rgba(255, 255, 255, 0.6);
    outline-offset: -8px;*/
    border: 5px solid; /* 任意の太さに調整 */
  border-image: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  border-image-slice: 1;
}
.area01:before {
    display: none;
}
.area01 .inner{
    padding: 30px 20px 20px!important;
}
.area01 h4 {
	margin: 0 0 15px;
	border-bottom:2px solid rgba(255,255,255,0.5);
}
.area01 p {
    margin: 0 10px 10px;
    line-height: 1.6;
}
.area01 p.tel {
    text-align:center;
    display: block;
    width: 100%;
    margin: 0 auto;
    text-align: left;
    padding-bottom: 0;
}
.area01 p.tel a {
    background-size: auto 70%;
    padding: 8px 0px 8px 37px;
    font-size: 28px;
	display: inline-block;
	letter-spacing:0;
	line-height: 1.0;
	white-space:nowrap;
}
.area01 p.tel a span.fs18 {
    font-size: 13px!important;
}

@media  print, screen and (max-width: 320px) {
.area01 p.tel a {
	background-size: auto 94%;
	padding: 6px 0px 6px 46px;
	font-size: 28px;
}
}
.area01 p.tel span {
    display: block;
    font-size: 14px;
    padding:4px 0 0 0;
	line-height: 1.6;
}
@media  print, screen and (max-width: 390px) {
.area01 p.tel span br{
	display: inherit;
}
}
.area01 p.adr {
    float: none;
    width: auto;
	font-size: 14px;
    padding: 0;
    margin: 0;
	text-align:left;
    width: 100%;
}
.area01 p.adr em {
    font-size: 20px;
    line-height: 1.0;
	letter-spacing: 0;
	line-height: 1.6;
}
.area01 p.adr .postal-code{
	margin-right:0;
    display: inline-block;
    padding-right: 10px;
}
.area01 .btn_more {
	padding-top:5px;
	margin-bottom:10px;
}
.area01 .btn_more a{
	font-size:15px;
	padding:12px 18px 13px 15px;
	line-height: 1.5;
	font-weight: 500;
	letter-spacing: 0.07em;
}
@media  print, screen and (max-width: 359px) {
.area01 .btn_more a{
	font-size:14px;
	padding:12px 18px 13px 15px;
}
}
.area01 .btn_more a:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_b.svg) no-repeat center right;
    background-size: 100% 100%;
    top: 50%;
    right: 17px;
    margin-top: -7px;
    width: 5px;
    height: 14px;
}
@media  print, screen and (max-width: 359px) {
.area01 .btn_more a:after {
	display:none;
}
}
.area01 .btn_more a:hover{
	background-image:none;
}
.area01 .btn_more a br{
	display:none!important;
}
@media  print, screen and (max-width: 360px) {
.area01 .btn_more a br{
	display:inherit!important;
}
}
main .area01 .imgC {
    margin: 0 0 20px;
}
}

/*================================area02===============================*/
.area02 {
	margin:0 0 50px;
	padding: 0;
	background:#edf0f6;
	/*background:#edf0f6 url(../images/bg_area02.svg) no-repeat bottom left;*/
	background-size: auto;
	box-sizing:border-box;
	/*box-shadow: 10px 10px rgba(0,0,0,0.02);
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.07));*/
}
.regular .area02 {
}
.area02 .inner{
    width: auto!important;
    padding: 50px 60px 30px;
    margin: 0;
}
@media  print, screen and (max-width: 767px) {
.area02 {
    margin: 0 0 25px;
	background:#edf0f6 url(../images/bg_area02.svg) no-repeat bottom 15px center;
	background-size: auto 80%;
	/*box-shadow: 5px 5px rgba(0,0,0,0.02);
	filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.07));*/
}
.area02 .inner{
    padding: 23px 15px 15px!important;
	display: inherit;
	position:relative;
}
}

/*================================area_important===============================*/
.area_important{
	width:auto;
	margin:0 10px 15px;
	padding:15px 15px 5px;
	text-align: center;
	box-sizing: border-box;
	background: linear-gradient(to top, rgba(91, 123, 172, 0.9) 0, rgba(40, 41, 96, 0.9) 100%);
    background: -webkit-linear-gradient(bottom, rgba(91, 123, 172, 0.9) 0, rgba(40, 41, 96, 0.9) 100%);
	color:#fff;
	}
.inner .area_important{
	margin:0 0 15px;
	}
.intro_box .area_important{
	padding:15px 20px 0px;
	}
.area_important h4 {
	font-size: 16px;
    color: #fff;
    padding: 0 0 12px;
    margin: 0 0 14px;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    background-image: linear-gradient(to right, #fff 1px, transparent 1px);
    background-size: 4px 1px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
.area_important p.catch {
	margin: 0!important;
    padding: 0 0 0.5em!important;
}
.area_important strong {
    color:#fff;
}
.area_important p{
	text-align: left;
	font-size:14px;
	margin: 0;
	padding: 0 0 1em;
	color:#fff;
	}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.area_important,
.inner .area_important{
	padding: 28px 50px 14px;
	margin:0 auto 35px;
	font-size:17px;
	}
.intro_box .area_important {
    padding: 28px 50px 14px;
    margin: 0 auto 40px;
}
.area_important h4 {
	font-size: 24px;
    margin: 5px auto 20px;
    padding: 0 10px 25px;
    line-height: 1.0;
    letter-spacing: 0.05em;
    background-image: linear-gradient(to right, #fff 2px, transparent 2px);
    background-size: 8px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
.area_important p{
	text-align: center;
	font-size:18px;
	}
}

/*================================ index menu ==============================*/
.index_menu{
	width:100%;
	box-sizing: border-box;
	display:block;
	margin-top:0px;
	text-align:center;
	}
.index_menu img{
	width:100%;
	}
.index_menu .inner_text p{
	padding:0 0 15px;
	line-height: 1.6;
	box-sizing: border-box;
	font-size: 14px;
	text-align:left;
	color: #111e2d;
	}
.index_menu .inner_text p br{
	display:none;
	}
main .index_menu h2 {
	width:auto;
	height: auto;
	letter-spacing: 0.07em;
	color: #191851;
	font-size: 23px;
	font-weight: 600;
	box-shadow: 0 2px 0 rgba(0,0,0,0.08);
	background:none;
	position:relative;
	margin: 0 0 16px;
	padding: 15px 0 15px;
	text-align:center;
	}
main .index_menu .index_menu_wrap h2 {
	box-shadow:none;
	}
@media  print, screen and (max-width: 359px) {
main .index_menu h2 {
	letter-spacing: 0.05em;
	font-size: 21px;
}
}
main .index_menu h2::before {
    content: '';
    position: absolute;
	top: auto;
    bottom: -2px;
    display: inline-block;
    width: 60px;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #464d84;
	background-image:none;
}
main .index_menu .index_menu_wrap h2:before {
	display:none;
	}
main .index_menu h2 em{
    color: #333;
	}
.index_menu h2 .txt_small {
    font-size: 0.7em;
	letter-spacing: 0.05em;
}
.index_menu h3 {
	font-size: 16px;
	font-weight:600;
    width: 100%;
    letter-spacing: 0.05em;
    padding: 12px 0 0;
    margin: 0 0 10px;
	text-align:left;
	color: #0e2e5e;
	background:none;
	line-height: 1.5;
	box-shadow:none;
}
.index_menu h3 br{
	display:none;
	}
.index_menu h3:before,
.index_menu h3:after {
	display:none;
}
.index_menu .inner_text {
	padding:0;
	}
.index_menu .inner_text p.name {
	display: block;
	color: #516a90;
	font-size: 20px;
	padding:0;
	margin-bottom:0px;
	line-height: 1.6;
	font-weight:bold;
	border:none;
	text-align:left;
	vertical-align:middle;
	}
.index_menu .inner_text p.name span{
	display: inline-block;
	margin-left:10px;
	font-size: 12px;
	}
.index_menu .inner_text p.name br {
    display: inherit;
}
.index_menu .inner_text p.name.second{
	letter-spacing: 0.07em;
	}
.index_menu .inner_text p.name.second span{
	display: block;
	}
.index_menu .inner_text p.catch {
	display:block;
	color: #00addb!important;
	font-size:14px;
	letter-spacing: 0.05em;
	padding:0 0 6px!important;
	line-height: 1.5;
	font-weight: 600;
	}
.index_menu .inner_text p.catch strong{
	font-size: 16px;
	font-weight: 600;
	}
.index_menu .btn_more{
    font-family: 'Manrope', sans-serif;
	display:inline-block!important;
	color:#fff;
	font-size:13px;
	font-weight:normal;
	border-radius:0;
	text-decoration:none;
	letter-spacing: 0.2em;
	line-height:1.6;
	padding: 10px 30px;
	position:relative;
	box-sizing: border-box;
    background:#000 url(../images/arrow_more.svg) no-repeat center right 10px;
    background-size: 5px 11px;
	text-align:left;
	border:2px solid #fff;
	}
.index_menu .menu_wave {
	position:absolute;
	left:0;
	bottom:0;
    width: 100%;
	height:auto;
  }
.index_menu .menu_wave img{
    width: 100%;
	height:auto;
	margin:0;
  }
.index_menu .point {
    position: absolute;
    top: -5px;
    left: 10px;
    z-index: 11;
}
.index_menu .point img{
	width:auto;
	height:80px;
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.index_menu{
	margin:auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	text-align:left;
	}
.index_menu br{
	display: inline;
	}
.index_menu .inner_text p{
	line-height: 1.8;
	font-size: 16px;
	text-align:left;
	-webkit-text-size-adjust: none;
	}
.index_menu .inner_text p br{
	display: inherit;
	}
.index_menu .inner_text {
	padding:0;
	}
main .index_menu h2 {
	font-size: 40px;
	font-weight: 600;
	letter-spacing: 0.1em;
	padding: 25px 0 30px;
    margin-bottom: 20px;
	box-shadow: 0 3px 0 rgba(0,0,0,0.15);
	}
main .index_menu h2::before {
    bottom: -3px;
    width: 80px;
    height: 3px;
}
.index_menu h3 {
    font-size: 28px;
	padding: 0;
	box-sizing:border-box;
    margin: 0 0 20px;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	letter-spacing: 0.07em;
}
.index_menu h3 br{
	display: inherit;
	}
.index_menu h3.first {
    margin: 30px 0 20px;
}
.index_menu .inner_text p.name {
	display: block;
	font-size: 28px;
	padding:0;
    margin-bottom: 12px;
    vertical-align: top;
	line-height: 1.5;
	text-align: left;
	}
.index_menu .inner_text p.name span{
	display:block;
	margin-left:0;
	font-size: 14px;
	}
.index_menu .inner_text p.name.second {
	text-align:left;
	margin: 0 0 15px;
	letter-spacing: 0.1em;
	}
.index_menu .inner_text p.name.second span{
	display: block;
	}
.index_menu .inner_text p.name.second br{
	display:none;
	}
.index_menu .inner_text p.catch {
	display:block;
	font-size:24px;
	letter-spacing: 0.07em;
	padding:0 0 10px!important;
	line-height: 1.6;
	font-weight: 500;
	text-align:center;
	}
.index_menu .inner_text p.catch strong{
	font-size: 24px;
	}
.index_menu .btn_more{
	display: block!important;
    font-size: 16px;
    line-height: 60px;
    padding: 0 23px;
    background: #000 url(../images/arrow_more.svg) no-repeat center right 25px;
    background-size: 5px 11px;
	}
.index_menu a:hover .btn_more {
	opacity:1.0;
	background:#333;
	transition: 0.7s ;
}
.index_menu a:hover .btn_more {
	opacity:1.0;
	background:#333!important;
	transition: 0.7s ;
}
.index_menu .point {
    position: absolute;
    top: -10px;
    left: 520px;
}
.index_menu .point img{
	width:auto;
	height:140px;
}
}
	
/*================================ index menu full ==============================*/
.index_menu_full_wrap{
	width:100%;
	padding: 0px;
	box-sizing: border-box;
	margin-bottom:20px;
	position:relative;
	z-index:1;
	filter: drop-shadow(5px 5px 0 rgba(255,255,255,0.3));
	}
.index_menu_full_wrap a{
	background:rgba(255,255,255,0);
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 0px;
	box-sizing: border-box;
	}
.index_menu_full_wrap .inner_photo,
.index_menu_full_wrap .inner_text{
	position:relative;
	z-index: 10;
	}
.index_menu_full_wrap .inner_text{
    padding: 8px 15px 8px;
    border-radius: 0;
	text-align:left;
	background:#fff url(../images/bg_inner_text.svg) no-repeat center center;
    background-size: auto 80%;
    border: 3px solid; /* 任意の太さに調整 */
  border-image: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  border-image-slice: 1;
	}
main .index_menu h2 img {
    display: block;
    margin: 0 auto 10px;
    width: auto;
	height:40px;
}
main .index_menu h2 span:before,
main .index_menu h2 span:after{
	display:none;
}
.index_menu_full_wrap .inner_photo {
    width:100%;
    height:auto;
	aspect-ratio: 540 / 360;
	display:flex;
	justify-content: center;
    align-items: center;
	border-radius: 0;
}
.index_menu_full_wrap .inner_photo:after {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    outline: 6px solid rgba(255,255,255,0.3);
    outline-offset: -6px;
	}
.index_menu_full_wrap .inner_photo img{
	width:100%;
	height:auto;
	border-radius: 0;
	}
.index_menu_full_wrap .inner_photo img.transparent {
    width:auto;
	max-width:90%;
    height:auto;
	max-height:86%;
}
.index_menu_full_wrap .heading {
    width: auto;
	font-family: "Hind Madurai", sans-serif;
    font-size: 14px;
    color: #191851;
	font-weight:500;
    /*background: #282960;*/
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    position: absolute;
    top: -18px;
    left: -8px;
    line-height: 30px;
	letter-spacing: 0.07em;
	padding: 0 15px;
    z-index: 11;
	filter: drop-shadow(2px 2px 0 rgba(40,41,96,0.2));
}
.index_menu_full_wrap .heading em{
    font-size: 24px;
	font-weight: 600;
}
.index_menu_full_wrap .heading .small{
    font-size: 13px;
	padding: 0 2px;
}
.index_menu_full_wrap .company {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    padding: 0 18px;
	margin-bottom: 7px;
    line-height: 40px;
    letter-spacing: 0.07em;
    background: #0e2e5e;
	position: relative;
}
.index_menu_full_wrap .position span{
	display: block;
}
.index_menu_full_wrap .number {
	width:56px;
	height:56px;
    position: absolute;
    top: -8px;
    left: -8px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background:rgba(75,76,120,1.0);
	border-radius:50%;
	font-family: "Hind Madurai", sans-serif;
    color: #fff;
    font-weight: 500;
    font-size: 26px;
    line-height: 1.0;
	letter-spacing: 0.05em;
}
.index_menu_full_wrap .number span{
    font-size: 13px;
	margin:3px 0 -8px;
}
.index_menu_full_wrap .number img{
    width: auto;
	height: 70px;
}
.index_menu_full_wrap p.year {
    font-weight:500;
    color: #00aeff;
    padding: 0;
    margin: 0;
    font-size: 13px;
    display: block;
	line-height: 1.0;
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.index_menu_full_wrap{
	width:100%;
	margin:0 0 120px;
	padding: 0px;
	box-sizing: border-box;
	position:relative;
	filter: drop-shadow(0 0 30px rgba(255,255,255,0.3));
	}
.index_menu_full_wrap:last-child{
	margin:0 0 230px;
	}
.index_menu_full_wrap a{
	background:rgba(255,255,255,0);
	display:flex;
	padding:0;
	}
.index_menu_full_wrap .inner_text{
	top: 50px;
	width:680px;
	padding:0 93px 0 63px;
	margin-left: -20px;
	box-sizing:border-box;
	text-align: left;
	background:#fff url(../images/bg_inner_text.svg) no-repeat left -10px bottom -10px;
    background-size: auto 82%;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
    justify-content: center;
	border-radius: 0;
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.2));
	z-index:1;
	}
.index_menu_full_wrap .inner_text:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_inner_text.svg) no-repeat center right;
    background-size: contain;
    right: 35px;
	bottom: 50%;
    margin-bottom: -20px;
    width: 20px;
    height: 40px;
}
main .index_menu h2 img {
    width: auto;
	height:auto;
}
.index_menu_full_wrap .inner_photo {
    overflow: hidden;
    width:540px;
    height:360px;
	border-radius: 0;
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.2));
	z-index: 0;
}
.index_menu_full_wrap .inner_photo:after {
    outline: 10px solid rgba(255,255,255,0.3);
    outline-offset: -10px;
	}
.index_menu_full_wrap .inner_photo img {
	transition: 0.5s ;
    width:100%;
    height:auto;
}
.index_menu_full_wrap .inner_photo img.transparent {
    width:auto;
    height:auto;
	max-height:80%;
}
.index_menu_full_wrap a:hover .inner_photo img{
	transform: scale(1.05);
	}
/*.index_menu_full_wrap .inner_photo:after {
    outline: 10px solid rgba(255,255,255,0.7);
    outline-offset: -10px;
    z-index: 1;
}*/
.index_menu_full_wrap .heading.pc {
    width: auto;
	min-width:100px;
    font-size: 16px;
    top: 30px;
    left: 500px;
    line-height: 40px;
	letter-spacing: 0.1em;
	padding: 1px 30px 0;
	filter: drop-shadow(5px 5px 0 rgba(40,41,96,0.2));
	z-index:10;
	display:flex!important;
	justify-content: center;
}
.index_menu_full_wrap .heading em{
    font-size: 32px;
}
.index_menu_full_wrap .heading .small{
    font-size: 18px;
	padding: 0 5px;
}
.index_menu_full_wrap .company {
    font-size: 22px;
    padding: 0 20px;
	margin-bottom: 10px;
    line-height: 60px;
    letter-spacing: 0.1em;
}
.index_menu_full_wrap .company span{
	display: inherit;
	margin-left:10px;
}
.index_menu_full_wrap a:hover{
	opacity: 0.8;
	transition-duration: 0.7s;
	}
.index_menu_full_wrap .number {
	width:90px;
	height:90px;
    top: -30px;
    left: -30px;
	font-size: 44px;
	padding-top:4px;
	box-sizing:border-box;
}
.index_menu_full_wrap .number span{
    font-size: 22px;
	margin:10px 0 -10px;
}
.index_menu_full_wrap p.year {
    padding: 0;
    margin: 0 0 10px;
    font-size: 15px;
	text-align: left;
}
}

/*================================ index menu half ==============================*/
.index_menu_wrap{
	width:100%;
	padding: 0px;
	box-sizing: border-box;
	margin:0 0 20px;
	position:relative;
	}
.index_menu_wrap a{
	background:url("../images/bg_index_menu.png") repeat 0 0;
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 0;
	box-sizing: border-box;
	border-radius: 0;
	filter: drop-shadow(5px 5px 0 rgba(180, 187, 194, 0.1));
	}
.index_menu_wrap .inner_photo,
.index_menu_wrap .inner_text{
	position:relative;
	z-index: 10;
	}
.index_menu_wrap .inner_text{
    padding:8px 40px 8px 20px;
	background: #fff url(../images/bg_inner_text.svg) no-repeat center center;
    background-size: auto 90%;
	text-align:center;
	}
.index_menu_wrap .inner_text:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_inner_text.svg) no-repeat center right;
    background-size: contain;
    top: 50%;
    right: 15px;
    margin-top: -13px;
    width: 13px;
    height: 26px;
}
@media  print, screen and (max-width: 375px) {
.index_menu_wrap .inner_text:after {
    right: 15px;
    margin-top: -10px;
    width: 10px;
    height: 20px;
}
}
@media  print, screen and (max-width: 320px) {
.index_menu_wrap .inner_text{
    padding:8px 20px 5px 20px;
	}
.index_menu_wrap .inner_text:after {
	display:none;
}
}
.index_menu_wrap .inner_photo img{
	width:80%;
	padding:8px 8px;
	}
.index_menu_wrap .inner_text .heading {
    width: auto;
    font-family: "Hind Madurai", sans-serif;
    font-size: 14px;
    color: #191851;
	font-weight:500;
	/*background: #282960;*/
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    position: absolute;
    top: -20px;
    left: -8px;
    line-height: 30px;
	letter-spacing: 0.07em;
    text-align: center;
	padding: 0 15px;
    z-index: 10;
	filter: drop-shadow(3px 3px 0 rgba(40,41,96,0.2));
}
main .index_menu .index_menu_wrap h2 {
    padding: 14px 0 6px;
    margin: 0;
	background:none;
	color: #191851;
	font-size: 22px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	}
@media  print, screen and (max-width: 359px) {
main .index_menu .index_menu_wrap h2 {
	font-size: 20px;
	}
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.index_menu_wrap{
    width: calc(100% / 2 - 20px);
	margin:0 0 70px;
	padding: 0px;
	box-sizing: border-box;
	position:relative;
	}
.index_menu_wrap.second{
    width: calc(100% / 3 - 20px);
	}
.index_menu_wrap a{
	padding:15px 0 0;
	border-radius: 0;
	filter: drop-shadow(5px 5px 0 rgba(180, 187, 194, 0.1));
	}
.index_menu_wrap.second a{
	padding:10px 0 0;
	border-radius: 0;
	}
.index_menu_wrap .inner_text{
	width:auto;
	padding:30px 70px 25px 60px;
	margin-top:15px;
	background: #fff url(../images/bg_inner_text.svg) no-repeat left -5px bottom -5px;
    background-size: auto 90%;
	}
.index_menu_wrap.second .inner_text{
	padding: 30px 60px 20px 35px;
	}
.index_menu_wrap .inner_text:after {
    right: 28px;
    margin-top: -20px;
    width: 18px;
    height: 36px;
}
.index_menu_wrap.second .inner_text:after {
    right: 20px;
    margin-top: -12px;
    width: 12px;
    height: 24px;
}
.index_menu_wrap .inner_photo {
    overflow: hidden;
    width:420px;
    height:300px;
	margin:0 auto;
}
.index_menu_wrap.second .inner_photo img {
	transition: 0.5s ;
	width:360px;
	height:240px;
	padding: 0;
}
.index_menu_wrap.second .inner_photo {
    overflow: hidden;
    width:360px;
    height:240px;
	margin:0 auto;
}
.index_menu_wrap .inner_photo img {
	transition: 0.5s ;
	width:420px;
	height:300px;
	padding: 0;
}
.index_menu_wrap a:hover .inner_photo img{
	transform: scale(1.1);
	}
.index_menu_wrap .inner_text .heading {
    width: auto;
    font-size: 15px;
    top: -25px;
    left: -15px;
    line-height: 39px;
	letter-spacing: 0.1em;
	padding: 1px 30px 0;
}
main .index_menu .index_menu_wrap h2 {
    padding: 5px 0 15px;
    margin: 0;
	right:auto;
	font-size: 30px;
	letter-spacing: 0.05em;
	}
.index_menu_wrap a:hover{
	opacity:0.7;
	background:url("../images/bg_index_menu2.png") repeat 0 0;
	transition-duration: 0.7s;
	}
}

/*================================ grid_content ===============================*/
.grid_content{
	margin:0 -5px;
	}
.grid_content h2{
	text-align: center;
	}
.grid_content ul{
	display: flex;
	flex-wrap:wrap;
	padding:0;
	justify-content: space-between;
	}
.grid_content li{
	box-sizing:border-box;
	margin:0 4px;
	position:relative;
	width:calc(100% / 2 - 8px);
	padding-bottom: 10px;
	}
.grid_content li img{
	width:100%;
	height:auto;
	}
.grid_content li:hover{
	opacity:0.5;
	transition: 0.5s;
	}
.grid_content li a[target="_blank"] {
	padding:0;
	background: none;
	}
.column.text .grid_content li{
	width:calc(100% / 2 - 10px);
	margin:0 5px;
}
.grid_content.bland li{
	border:1px solid #ccc;
	box-sizing:border-box;
	margin:4px;
	padding:4px;
	position:relative;
	background:#fff;
	width:calc(100% / 2 - 10px);
	}
.grid_content li p {
	padding: 8px 0 0;
	line-height:1.5;
	text-align:center;
}
.grid_content li p em{
	text-align:center;
	display:block;
	color:#444;
	margin-bottom:3px;
}
.column.text .grid_content li p {
	text-align:left;
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.grid_content{
	margin:0;
	}
.grid_content ul{
	display: flex;
	flex-wrap:wrap;
	width: 100%;
	margin: 0;
	justify-content: space-between;
	}
.intro_box .grid_content ul{
	margin:-10px 0 30px;
	}
.column.text .grid_content{
	bottom:0;
	}
.column.text .grid_content li{
	width:calc(100% / 2 - 20px);
	}
.grid_content li{
	margin:0;
	width:calc(100% / 4 - 8px);
	padding-bottom: 10px;
	}
.grid_content li p {
	padding: 12px 0 0;
}
}

/*================================ form ===============================*/
#mailform table {
	line-height:1.8em;
	margin-bottom:20px;
	background:#f3f5f9;
	}
#mailform table th,
#mailform table td {
	width:100%;
	display:block;
	background:none;
	border:none;
	}
#mailform table th{
	font-size:14px;
	font-weight: 600;
	padding:10px 15px 4px;
	box-sizing: border-box;
	}
#mailform table th span {
    display: inline;
	padding-left:7px;
	font-size: 13px;
}
#mailform table td{
	padding:0 15px 6px;
	box-sizing: border-box;
	border-bottom: 1px solid #d9dee8;
	}
#mailform table tbody tr:last-child td {
	border-bottom: none;
	}
main input[type="radio"] , main input[type="checkbox"]{
	-webkit-transform: scale(2);
	transform: scale(2);
	margin:10px 10px 10px 0;
	}
main input[type="text"],
main input[type="number"],
main input[type="email"],
main input[type="tel"],
main select {
width:100%;
height:40px;
margin: 0.3em 0 0.3em;
box-sizing: border-box;
}
main textarea{
	width:93%;
	height:6em;
	margin: 5px 0 2px;
	}
main textarea.second{
	height:3em;
}
main input, main textarea, main select {
    text-rendering: auto;
    color: initial;
    letter-spacing: normal;
    word-spacing: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: start;
    padding: 5px 10px;
    font: 16px Arial;
}
main .estimate_select{
	font-size:16px;
	width:66%;
	-webkit-transform: scale(1.5) translate(17%, 0);
	transform: scale(1.5) translate(17%, 0);
	margin:15px 0;
	}
main .shop_select option{
	font-size:120%;
	}
main .day_request_list li{
	margin-top:15px;
	}
main .day_request_list li:nth-of-type(3) select{
	font-size:16px;
	}
main .bigselect select{
	font-size:16px;
	width:15%;
	-webkit-transform: scale(1.5) translate(17%, 2px);
	transform: scale(1.5) translate(17%, 2px);
	margin:12px 12% 12px 0;
	}
main .bigselect option{
	font-size:16px;
	}
main .bigselect select:nth-of-type(2) {
	font-size:16px;
	width:15%;
	-webkit-transform: scale(1.5) translate(2%, 2px);
	transform: scale(1.5) translate(2%, 2px);
	}
main .bigselect select:nth-of-type(3) {
	font-size:16px;
	width:66%;
	transform: scale(1.5) translate(17%, 2px);
	}
main input[type="submit"]{
	font-size: 16px;
    font-weight: 400 !important;
    width: 80%;
    border-radius: 5px;
    border: 1px solid #ccc;
    padding: 18px 20px;
    margin: 10px 4px 4px;
    background: -webkit-linear-gradient(#fff5f5 0%, #ffdbdb 100%);
    background: -o-linear-gradient(#fff5f5 0%, #ffdbdb 100%);
    background: linear-gradient(#fff5f5 0%, #ffdbdb 100%);
    text-align: center;
	}
main input[type="reset"]{
	width:80%;
	border-radius:5px;
	border:1px solid #ccc;
	padding:12px 20px;
	margin:10px 4px;
	background: linear-gradient(to bottom, #ffffff 1%,#ededed 100%);
	text-align:center;
	}
main input[type="submit"]:hover{
background: -webkit-linear-gradient(#fff 0%, #ffe0e0 100%);
background: -o-linear-gradient(#fff 0%, #ffe0e0 100%);
background: linear-gradient(#fff 0%, #ffe0e0 100%);
	}
main input[type="submit"]:active{
background: -webkit-linear-gradient(#fff5f5 0%, #ffe0e0 100%);
background: -o-linear-gradient(#fff5f5 0%, #ffe0e0 100%);
background: linear-gradient(#fff5f5 0%, #ffe0e0 100%);
}
main input[type="reset"]:hover{
	background: linear-gradient(to bottom, #ffffff 1%,#fff5f5 100%);
	}

/*===PC===*/
@media  print, screen and (min-width: 768px) {
#mailform table {
	line-height:1.8em;
	margin-bottom:20px;
	border-top: 1px solid #d9dee8;
    border-bottom: 1px solid #d9dee8;
	background:none;
	}
#mailform table th,
#mailform table td {
	font-size:15px;
	display:table-cell;
	border-bottom: 1px solid #d9dee8;
	padding:15px 30px;
	}
#mailform table td {
	background: #fff;
	}
#mailform table th {
	width: 25%;
	background:#f3f5f9;
	font-size:16px;
	color: #1c291e;
	padding:20px 30px;
	}
#mailform table th span {
    font-size:1.0rem;
}
#mailform table th .important {
	padding-left:10px;
	font-size:0.9rem;
	font-weight: 500;
	}
#mailform input[type="text"],input[type="number"],input[type="email"],input[type="tel"],textarea, select {
}
main input[type="text"],
main input[type="number"],
main input[type="email"],
main input[type="tel"],
main select {
	width: 60%;
    max-width: 400px;
	margin: 0;
}
main textarea{
	width: 80%;
    max-width: 600px;
	margin: 0;
	height:8em;
}
main textarea.second{
	height:4em;
}
main select{
	font-size:15px;
	margin:0;
	}
main .shop_select{
	font-size:16px;
	width:270px;
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	margin:10px 0 10px 68px;
	}
main .day_request_list li{
	margin-top:20px;
	}
main .bigselect select{
	width:60px;
	-webkit-transform: scale(1.5) translate(10px, 2px);
	transform: scale(1.5) translate(10px, 2px);
	margin:15px 0 0;
	}
main .bigselect select:nth-of-type(2) {
	width:60px;
	-webkit-transform: scale(1.5) translate(35px, 2px);
	transform: scale(1.5) translate(35px, 2px);
	margin:15px 0 0;
	}
main .bigselect select:nth-of-type(3) {
	width:200px;
	-webkit-transform: scale(1.5) translate(84px, 2px);
	transform: scale(1.5) translate(84px, 2px);
	margin:15px 0 0;
	}
main textarea{
	font-size:16px;
	width:80%;
	margin:5px 0;
	}
main input[type="submit"]{
	font-size:16px;
	width:auto;
	padding:20px 80px;
	}
main input[type="reset"]{
	font-size:16px;
	width:auto;
	padding:20px 30px;
	}
}

/*================================ thanks===============================*/
.thanks {
	padding:0px 20px 15px;
	min-height:200px;
}
.thanks p{
}
.thanks p.catch strong{
	font-size:18px;
	font-weight: 600;
	letter-spacing: 0.07em;
    color: #191851;
	line-height: 1.6;
}
@media  print, screen and (max-width: 320px) {
.thanks p.catch strong{
    font-size: 16px;
}
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.thanks {
	padding:40px 0 0;
	box-sizing: border-box;
	min-height:600px;
	text-align:center;
}
.thanks p{
	line-height: 2.0;
}
.thanks p.catch {
	margin-bottom:30px;
	line-height: 1.0;
}
.thanks p.catch strong{
	font-weight: 600;
    font-size: 36px;
	letter-spacing: 0.1em;
}
}

/*================================ faq ===============================*/
main .faq {
	padding:0;
	box-sizing: border-box;
	}
main .faq dl dt {
	background: url(../images/icon_q.svg) no-repeat left top 4px;
	background-size:30px auto;
	margin: 0 0 12px;
	padding:2px 0 2px 45px;
    color: #464d84;
	font-weight:600;
	font-size: 20px;
	letter-spacing: 0.07em;
	line-height: 1.8;
	}
main .faq dl dd {
	background: url(../images/icon_a.svg) no-repeat left top 3px;
	background-size:31px auto;
	margin: 0 0 20px;
	padding-left: 40px;
	border-bottom:1px dotted #bbb;
	padding-bottom: 25px;
	color: #14202e;
	font-weight:400;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.8;
	}
@media  print, screen and (max-width: 767px) {
main .faq {
	padding:0;
	}
main .faq dl dt {
	background: url(../images/icon_q.svg) no-repeat left top 2px;
	background-size:24px auto;
	margin: 0 0 8px;
    padding:0 0 0 45px;
    font-size: 16px;
	padding-left: 35px;
	line-height: 1.6;
	letter-spacing: 0.05em;
	}
main .faq dl dd {
	background: url(../images/icon_a.svg) no-repeat left top 1px;
	background-size:25px auto;
	margin: 0 0 12px;
	padding-bottom: 14px;
	padding-left: 35px;
	font-size: 14px;
	line-height: 1.6;
	}
main .faq dl dd p {
	margin: 0 0 15px;
	}
main .faq dl dd h4 {
	margin:0 0 5px 0;
	padding:0;
	}
main .faq dl dd ol {
	padding-left: 2em;
	}
}

/*================================ sitemap ==============================*/
.sitemap_box {
	padding:0 15px;
	margin-top:-20px;
	}
.sitemap_box dl{
	width:100%;
	margin:0 0 15px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 1.0);
	border: solid 2px #d9dee8;
	}
.sitemap_box dt a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 13px 30px 13px 25px;
	box-sizing: border-box;
	background:rgba(0, 8, 113, 0.1) url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 10px;
	color: #191851;
	font-weight: 500;
	letter-spacing: 0.07em;
	position:relative;
	}
.sitemap_box dt a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 10px;
	bottom: auto;
	display: inline-block;
	width: 2px;
	height: 60%;
	transform: translateY(-50%);
	background: #282960;
	animation: none !important;
	-webkit-animation: none !important;
    }
.sitemap_box dt {
	width:100%;
	font-size: 16px;
	color: #191851;
	font-weight: 500;
	letter-spacing: 0.07em;
	}
.sitemap_box dt .en{
	font-family: "Albert Sans", serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.0;
	letter-spacing: 0.15em;
	}
.sitemap_box dt .small{
	font-size: 14px;
	font-weight: 400;
	display:block;
	margin-top:2px;
	}
.sitemap_box dd{
	border-top: 1px solid #d9dee8;
	width:100% ;
	letter-spacing: 0.07em;
	}
.sitemap_box  ul{
	display:flex;
	flex-wrap:wrap;
    list-style: none;
	}
.sitemap_box  li{
	width:100%;
	border-bottom:1px dotted #d9dee8;
	}
.sitemap_box  li:last-child{
	border-bottom:none;
	}
.sitemap_box  li a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 11px 32px 11px 15px;
	box-sizing: border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 10px;
	color: #191851;
	font-size: 15px;
	font-weight:500;
	line-height: 1.6;
	}
.sitemap_box li a .small{
	font-size: 14px;
}
.sitemap_box h5 {
	width: auto;
    color: #191851;
	font-size: 14px;
	font-weight: 500;
    margin: 0px auto;
    padding: 0;
    letter-spacing: 0.1em;
	border-top: 1px solid #d9dee8;
	border-bottom:1px dotted #d9dee8;
	letter-spacing: 0.05em;
}
.sitemap_box h5:before {
	display:none;
}
.sitemap_box h5.no-border {
	border-top: none;
}
.sitemap_box h5.no_link {
    padding: 10px 15px;
}
.sitemap_box h5.no_link:first-child {
	border-top: none;
}
.sitemap_box h5 a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 10px 15px;
	box-sizing: border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 12px;
	color: #191851;
	}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.sitemap_box {
	padding:0;
	margin-top:-40px;
	box-sizing: border-box;
	}
.sitemap_box .wrap {
    width: 1100px;
}
.sitemap_box dl{
	margin:0 0 25px;
	}
.sitemap_box dt a{
    padding: 20px 25px 20px 42px;
	background-position:center right 32px;
	background-size: auto 14px;
	letter-spacing: 0.1em;
	}
.sitemap_box dt a:before {
	left: 20px;
	width: 2px;
	height: 50%;
	transform: translateY(-50%);
}
.sitemap_box dt {
	font-size: 20px;
}
.sitemap_box dt .en{
	font-size: 24px;
	}
.sitemap_box dt .small{
	font-size: 15px;
	display:block;
	margin-top:2px;
	}
.sitemap_box dd{
	padding: 10px 10px 10px;
	box-sizing:border-box;
}
.sitemap_box dl dl dd {
	margin: 0;
}
.sitemap_box li{
	width:calc(100% / 2 - 20px);
	margin:0 10px 8px;
}
.sitemap_box  li:last-child{
	border-bottom:1px dotted #d9dee8;
}
.sitemap_box li a {
	font-size: 17px;
	padding: 12px 14px 12px;
    background-size: auto 14px;
	line-height: 1.8;
}
.sitemap_box li a .small{
	font-size: 15px;
}
.sitemap_box dl dt a:hover{
	opacity: 0.6;
	/*background: rgba(40, 41, 96, 0.6) url("../images/arrow_c.svg") no-repeat center right 32px;
	background-size:auto 14px;*/
	transition-duration: 0.7s;
}
.sitemap_box li a:hover{
	text-decoration: none;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 14px;
	opacity:1.0;
	transition-duration: 0.7s;
	color: #00addb;
}
.sitemap_box h5 {
	font-size: 17px;
    margin: 0 10px 10px;
    padding: 0;
	border-top: none;
	border-bottom:1px solid #d9dee8;
	letter-spacing: 0.1em;
}
.sitemap_box h5.no_link {
    padding: 20px 15px 15px;
}
.sitemap_box h5.no_link:first-child {
	border-top: none;
}
.sitemap_box h5 a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 14px 14px 14px;
	box-sizing: border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 14px;
	}
.sitemap_box h5 a:hover{
	opacity:0.5;
	transition-duration: 0.7s;
	}
}

/*================================ contents_head_navi ===============================*/
.contents_head_navi {
	width:100%;
	background: rgba(40, 41, 96, 0.7);
	padding:15px 0;
	z-index: 12;
	position:relative;
	}
.contents_head_navi h2 {
	font-size: 18px;
	}
.contents_head_navi:before {
    width: 100%;
    height: 30px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
    background: -moz-linear-gradient(bottom, rgba(255, 255, 255,0.2) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0.2) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(255, 255, 255, 0.2) 0%, transparent 100%);
    z-index: -1;
}
.contents_head_navi ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
	padding:0 15px;
	box-sizing:border-box;
	margin:0 auto;
    gap: 6px;
	}
.contents_head_navi li {
	width:100%;
	margin:0;
	}
.contents_head_navi li a {
	width:100%;
	display: block;
	padding: 13px 15px 14px 15px;
	box-sizing:border-box;
	/*background:#f3f5f9 url(../images/arrow_c.svg) no-repeat center right 14px;*/
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
	/*background-size:auto 12px;*/
	color: #191851;
	/*outline: 2px solid #ccd3e0;
    outline-offset: -2px;*/
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing:0.05em;
	text-decoration: none;
    position: relative;
	}
.contents_head_navi li a:before {
    position: absolute;
    content: "";
    display: block;
	width: 12px;
    height: 12px;
    background-image:url(../images/arrow_db.svg);
    background-repeat: no-repeat;
    background-position: center right 4px;
    top: 40%;
    right: 5px;
	}
.contents_head_navi li a:hover {
	opacity: 1.0;
	}
.contents_head_navi li a br{
	display: none;
	}
@media  print, screen and (max-width: 359px) {
.contents_head_navi li a br{
	display: inherit;
	}
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
#recruit .contents_head_navi {
	    margin-bottom:40px;
	}
.contents_head_navi {
	background:rgba(40, 41, 96, 0.7);
	padding:40px 0;
	}
.contents_head_navi:before {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
    background: -moz-linear-gradient(bottom, rgba(255, 255, 255,0.15) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0.15) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(255, 255, 255, 0.15) 0%, transparent 100%);
    z-index: -1;
}
.contents_head_navi ul {
	width:1200px;
	padding:0;
	gap: 20px;
	}
.contents_head_navi li {
	width: calc((100% - 40px) / 3);
	font-size:18px;
	}
.contents_head_navi li a {
	font-size: 16px;
    line-height: 1.3;
	padding: 18px 20px 18px 20px;
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
	/*outline: 2px solid #ccd3e0;
    outline-offset: -2px;*/
    /*background:#fff;
    border: 5px solid;
  border-image: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  border-image-slice: 1;*/
	line-height: 1.7;
	letter-spacing:0.06em;
	text-align:center;
	}
.contents_head_navi li a:hover {
	/*background:#464d84;
	outline: 2px solid #464d84;
    outline-offset: -2px;*/
	opacity: 0.8;
	transition-duration: 0.7s;
	}
}

/*================================ contents_sub_navi ===============================*/
.contents_sub_navi {
	margin: 0 auto 30px;
	width:100%;
	}
.contents_sub_navi dt {
	border-top:1px solid #cbd0d8;
	text-align:center;
	font-weight:600;
	color: #464d84;
	font-size: 18px;
	padding: 24px 0 20px;
	box-sizing: border-box;
	margin:20px auto 0;
	letter-spacing:0.07em;
	}
.contents_sub_navi.second dt{
	margin:0 auto;
	}
.contents_sub_navi dt span{
	font-size: 80%;
	padding:0 30px;
	position:relative;
	display:inline-block;
	}
.contents_sub_navi dt a {
	color: #464d84;
	text-decoration: none;
	outline-style:none;
	}
.contents_sub_navi dt a:hover{
	opacity:0.5;
	transition-duration: 0.5s;
	}
.contents_sub_navi dt span:before,
.contents_sub_navi dt span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 15px;
  height: 1px;
  background:#666;
}
.contents_sub_navi dt span:before {
  left:0;
}
.contents_sub_navi dt span:after {
  right: 0;
}
.contents_sub_navi dd{
	padding:0;
	box-sizing: border-box;
	}
.contents_sub_navi ul {
	list-style:none;
	}
.contents_sub_navi li,
.contents_sub_navi ul.row2 li,
.contents_sub_navi ul.row3 li {
	width:100%;
	margin:0 0 6px;
	}
.contents_sub_navi li a {
	display: block;
	outline-style:none;
	padding: 12px 34px 13px 15px;
	box-sizing:border-box;
	background:#f3f5f9 url(../images/arrow_c.svg) no-repeat center right 16px;
	background-size:auto 14px;
	color: #232958;
	outline: 2px solid #ccd3e0;
    outline-offset: -2px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing:0.07em;
	text-decoration: none;
	}
.contents_sub_navi li a:hover {
	color: #fff;
	outline: 2px solid rgba(70, 77, 132, 0.7);
    outline-offset: -2px;
	background: rgba(70, 77, 132, 0.7) url(../images/arrow_w.svg) no-repeat center right 16px;
	background-size:auto 14px;
	opacity: 1.0;
	}
.contents_sub_navi li.act a {
	color:#fff;
	outline: 2px solid #464d84;
    outline-offset: -2px;
	background:#464d84 url(../images/arrow_w.svg) no-repeat center right 16px;
	background-size:auto 14px;
	}
/*.contents_sub_navi li a .small{
	font-size:0.9em;
	}*/
.contents_sub_navi h4 {
    font-size: 16px;
    padding: 0;
    margin: 20px 0 15px;
    border-bottom:none;
	text-align:center;
}
.contents_sub_navi h4:after {
	display:none;
}
.contents_sub_navi h4 a{
    color: #333;
	text-decoration:none;
}
.contents_sub_navi h4 a:hover{
	opacity:0.7;
	transition-duration: 0.7s;
	}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.contents_sub_navi {
	margin:40px auto 0;
	width:1200px;
	clear:both;
	}
.contents_sub_navi.second {
	margin:30px auto 0;
	}
.contents_sub_navi dt {
	font-size: 34px;
	padding:70px 30px 50px;
	box-sizing: border-box;
	margin:0 auto;
	letter-spacing:0.1em;
	}
.contents_sub_navi dt span{
	font-size: 80%;
	padding:0 50px;
	position:relative;
	display:inline-block;
	}
.contents_sub_navi dt span:before,
.contents_sub_navi dt span:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 30px;
  height: 1px;
  background:#666;
}
.contents_sub_navi dd{
	padding:0 0 60px;
	}
.contents_sub_navi.second dd{
	padding:0 0 30px;
	}
.contents_sub_navi ul {
	display:flex;
	flex-wrap: wrap;
	padding:0 0px;
	box-sizing: border-box;
	}
.contents_sub_navi li {
	width:100%;
	margin:10px;
	font-size:18px;
	}
.contents_sub_navi ul.row2 li {
	width: calc((100% - 25px) / 2);
	margin: 0 25px 15px 0;
	font-size:18px;
	}
.contents_sub_navi ul.row3 li {
	width: calc((100% - 30px) / 3);
	margin: 0 15px 15px 0;
}
.contents_sub_navi ul.row3 li:nth-child(3n) {
	margin: 0 0 15px;
}
.contents_sub_navi li a {
	font-size: 18px;
	padding: 18px 60px 18px 24px;
	background:#f3f5f9 url(../images/arrow_c.svg) no-repeat center right 24px;
	background-size:9px 16px;
	outline: 2px solid #ccd3e0;
    outline-offset: -2px;
	}
.contents_sub_navi li a:hover {
	background:#7d82a9 url(../images/arrow_w.svg) no-repeat center right 24px;
	background-size:9px 16px;
	outline: 2px solid #7d82a9;
    outline-offset: -2px;
	transition-duration: 0.7s;
	}
.contents_sub_navi li.act a {
	outline: 2px solid #464d84;
    outline-offset: -2px;
	background: #464d84 url(../images/arrow_w.svg) no-repeat center right 24px;
	background-size:9px 16px;
	}
.contents_sub_navi li.act a:hover{
	opacity:0.7;
	transition-duration: 0.7s;
	}
.contents_sub_navi h4 {
    font-size: 28px;
    margin: 40px 0 35px;
}
}

/*================================wrap================================*/
.wrap{
	margin:0 auto;
	width:100%;
	}
.gmap{
	position:relative;
	width:100%;
	height:0;
	padding-top:80%;
	margin:0 0 20px;
	border:1px solid #eee;
	}
.gmap iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.wrap{
	margin:0 auto;
	width:1100px;
	}
.intro_box .wrap{
	margin:0 auto;
	width:1100px;
	}
.intro_box .second .wrap{
	margin:0 auto;
	width:1060px;
	}
.intro_box .index_menu .wrap{
	margin:0 auto;
    width: 1100px;
}
.gmap{
	position:relative;
	width:100%;
	height:0;
	padding-top:50%;
	margin:0 0 50px;
	border:1px solid #eee;
	}
.gmap iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	}
}

/*=============================== .colbox ================================*/
.colbox {
    display: flex;
    flex-wrap: nowrap;
	align-items: center;
    margin-bottom: 50px;
	filter: drop-shadow(10px 10px 0 rgba(255, 255, 255, 0.3));
}
.colbox.right {
    flex-direction: row-reverse;
}
.regular section:last-child .colbox {
    margin-bottom: 0px;
}
.colbox .image_wrap {
　　width: auto;
    height: auto;
}
.colbox .image_wrap img{
	outline: 2px solid #fff;
    outline-offset: -2px;
}
.colbox .text_wrap {
	width:660px!important;
	margin: 0 -60px 0 0;
	padding:30px 50px 20px 50px;
	box-sizing:border-box;
	background:#fff;
	z-index: 0;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.1));
}
.colbox.right .text_wrap {
	margin: 0 0 0 -60px;
}
.colbox .heading {
    font-size: 20px;
    font-weight: 600;
    color: #00addb;
    letter-spacing: 0.1em;
	margin-bottom:10px;
}
.colbox .heading.en {
	font-family: "Hind Madurai", sans-serif;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.colbox h3.second {
    margin: 8px 0 18px;
}
@media  print, screen and (max-width: 767px) {
.colbox {
    display: block;
	margin-bottom:10px;
	filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, 0.03));
}
.colbox.right {
    flex-direction: inherit;
}
.regular section:last-child .colbox {
    margin-bottom: 0;
}
.colbox .image_wrap {
	width: 100%;
	margin-bottom: 20px;
}
.regular section:last-child .colbox .image_wrap {
    margin-bottom: 0;
}
.colbox .image_wrap img{
	width: 100%;
	height:auto;
	outline: none;
}
.colbox .text_wrap {
	width:100%!important;
	margin: 0;
	padding: 20px 15px 5px 15px;
	border-top: 3px solid rgb(0 0 0 / 5%);
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.05));
	box-shadow: 3px 3px 2px -2px rgb(0 0 0 / 3%) inset;
}
.colbox.right .text_wrap {
	margin: 0;
}
.colbox .heading {
    font-size: 15px;
	font-weight: 500;
    letter-spacing: 0.07em;
	margin-bottom:8px;
}
.colbox .heading.en {
	font-weight: 500;
	letter-spacing: 0.07em;
}
.colbox h3.second {
    margin: 0 0 12px;
}
}

/*======================4カラム・インデックス=====================*/
.commodity {
    padding: 0;
    width: 1200px;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    gap: 24px;
	z-index:2;
	margin-bottom:80px;
}
.commodity li{
	width: calc((100% - 72px) / 4);
	height:auto;
	position: relative;
	text-align:center;
	background:#fff;
	border-radius:15px;
	filter: drop-shadow(0 15px 0 #e3f2f1);
	}
.commodity li a{
	display:block;
	height:100%;
	text-decoration: none;
	padding:0;
	box-sizing:border-box;
	}
.commodity li a:hover{
	opacity:0.5;
	transition-duration: 0.7s;
	}
.commodity li img{
	transition: 0.5s ;
	width:282px;
	height:212px;
	outline: 5px solid rgba(255,255,255,0.5);
    outline-offset: -5px;
	}
/*.commodity li a:hover img {
    transform: scale(1.1);
}*/
.commodity li p{
    padding: 10px 0;
    color: #4d4435;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.6;
    letter-spacing: 0.05em;
	position:relative;
}
.commodity li p:after {
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -5px;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 1px #371606;
    border-right: solid 1px #371606;
    transform: rotate(45deg);
    z-index: 1;
}
@media  print, screen and (max-width: 767px) {
.commodity {
    width: 100%;
    gap: 10px;
	justify-content: center;
	margin-top:-20px;
	margin-bottom:30px;
}
.commodity li{
	width: calc((100% - 10px) / 2);
	border-radius:10px;
	filter: drop-shadow(5px 5px 0 #e3f2f1);
	}
.commodity li img{
	width:100%;
	height:auto;
	outline: 3px solid rgba(255,255,255,0.3);
    outline-offset: -3px;
	aspect-ratio: 282 / 212;
	}
.commodity li p{
    padding: 8px 0;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.03em;
}
@media  print, screen and (max-width: 320px) {
.commodity li p{
    font-size: 15px;
}
}
.commodity li p:after {
	display:none;
}
}

/*================================row2/row3================================*/
ul.row2,
ul.row3 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom:15px;
}
ul.row4 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom:0;
}
ul.row2 li {
	width: calc((100% - 25px) / 2);
	margin: 0 25px 15px 0;
}
ul.row2 li:nth-child(2n) {
	margin: 0 0 15px;
}
ul.row3 li {
	width: calc((100% - 30px) / 3);
	margin: 0 15px 15px 0;
}
ul.row3 li:nth-child(3n) {
	margin: 0 0 15px;
}
ul.row4 li {
	width: calc((100% - 30px) / 4);
	margin: 0 10px 10px 0;
}
ul.row4 li:nth-child(4n) {
	margin: 0 0 10px;
}
ul.row2 li img,
ul.row3 li img,
ul.row4 li img {
	width: 100%;
	height: auto;
}
ul.row2 li p,
ul.row3 li p,
ul.row4 li p{
	color: #272324;
	font-weight:normal;
	text-align: left;
	line-height: 1.6;
	padding: 0;
}
ul.row2 li.btn p,
ul.row3 li.btn p,
ul.row4 li.btn p{
	display:inline-block;
}
@media  print, screen and (max-width: 767px) {
	ul.row2,
	ul.row3{
		display: flex;
		flex-wrap: wrap;
		margin-bottom:10px;
	}
	ul.row4{
		display: flex;
		flex-wrap: wrap;
		margin-bottom:0;
	}
	ul.row2 li {
		width: calc((100% - 5px) / 2);
		margin: 0 5px 5px 0;
	}
	ul.row2 li:nth-child(2n) {
		margin: 0 0 5px;
	}
	ul.row2 li.column1{
		width: 100%;
		margin: 0 0 5px;
	}
	ul.row3 li {
		width: calc((100% - 10px) / 3);
		margin: 0 5px 5px 0;
	}
	ul.row3 li:nth-child(3n) {
		margin: 0 0 5px;
	}
	ul.row4 li {
		width: calc((100% - 5px) / 2);
		margin: 0 5px 5px 0;
	}
	ul.row4 li:nth-child(2n) {
		margin: 0 0 5px;
	}
	ul.row2 .btn a {
    display: block!important;
	font-size: 14px;
    padding: 8px 10px!important;
	line-height: 1.6;
	}
	ul.row2 li p,
	ul.row3 li p,
	ul.row4 li p{
		font-size: 0.8em;
		text-align: center;
		padding: 0;
		text-align:left;
	}
	ul.row2 li.btn p,
	ul.row3 li.btn p,
	ul.row4 li.btn p{
		display:block;
	}
}

/*================================column_list================================*/
ul.column_list {
	width: 100%;
    clear: both;
    margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
ul.column_list li {
	width: calc((100% - 80px) / 3);
    position: relative;
    margin: 0;
	padding:8px;
    box-sizing: border-box;
	display: block;
	background:rgba(255, 255, 255, 1.0) url(../images/bg_column_list.svg) no-repeat center bottom 20px;
	background-size: 120% auto;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.05));
}
ul.column_list li:before {
    content: "";
    position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    height: 5px;
  left: 0;
  top: 0;
  width: 100%;
}
ul.column_list li:after {
    content: "";
    position: absolute;
      background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  z-index: 1;
    height: 5px;
  left: 0;
  bottom: 0;
  width: 100%;
}
ul.column_list li .image_wrap {
	width: 100%;
	height: 300px;
	/*background:rgba(0, 54, 121, 0.1);*/
	/*background:rgba(220, 235, 216, 0.4);*/
    background: #f3f5f9;
	/*outline: 5px solid rgba(152, 195, 15, 0.2);
	outline-offset: -5px;*/
	box-sizing:border-box;
	margin-bottom:20px;
	display:flex;
	justify-content: center;
    align-items: center;
}
ul.column_list li .image_wrap img{
	width: auto;
	max-width:90%;
	height:auto;
	max-height:90%;
}
ul.column_list li .text_wrap {
	width: 100%;
	height: 100%;
	text-align:center;
    margin: 0;
}
ul.column_list li .text_wrap .heading {
    width: auto;
    font-size: 15px;
    color: #191851;
    font-weight: 500;
    /*background: #282960;*/
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 6px 25px 7px;
	box-sizing:border-box;
	margin-bottom:13px;
    z-index: 10;
	position:relative;
	display: inline-block;
    filter: drop-shadow(2px 2px 0 rgba(40, 41, 96, 0.2));
}
main ul.column_list li .text_wrap .name{
    color: #191851;
    font-size: 24px;
    font-weight: 600;
    margin: 0 auto 18px;
    padding: 0;
    line-height: 1.4;
    position: relative;
    letter-spacing: 0.1em;
}
main ul.column_list li .text_wrap .name span{
    font-size: 14px;
    font-weight: 500;
    margin: 8px 0 0;
    letter-spacing: 0.1em;
	display:block;
}
/*main .regular03 ul.column_list li .text_wrap .name {
	color: #fff;
}*/
main ul.column_list li table {
	width: calc(100% - 20px);
	text-align:left;
	margin: 0 auto 10px;
}
main ul.column_list li table tbody th {
	width: 28%;
	vertical-align: top;
	white-space:nowrap;
}
main ul.column_list li th{
    padding: 8px 12px;
	font-size: 15px;
	line-height: 1.6;
	background: #f3f5f9;
}
main ul.column_list li td{
    padding: 8px 12px;
	font-size: 15px;
	line-height: 1.6;
}
@media  print, screen and (max-width: 767px) {
ul.column_list{
    gap: 15px;
}
ul.column_list li {
	width: 100%;
	padding:8px;
	display: flex;
    align-items: center;
    flex-direction: column;
	gap: 15px;
	background:rgba(255, 255, 255, 1.0);
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.1));
}
ul.column_list li .image_wrap {
	width: auto;
	min-width:80%;
	max-width:80%;
	height: auto;
	/*background:rgba(0, 54, 121, 0.1);*/
	background:rgba(220, 235, 216, 0.4);
	outline: 5px solid rgba(152, 195, 15, 0.2);
	outline-offset: -5px;
	margin:8px 0 0;
	aspect-ratio: 1 / 1;
	display:flex;
	justify-content: center;
    align-items: center;
}
@media  print, screen and (max-width: 360px) {
ul.column_list li .image_wrap {
	min-width:70%;
	max-width:70%;
}
}
ul.column_list li .image_wrap img{
	width: auto;
	max-width:90%;
	height:auto;
	max-height:90%;
}
ul.column_list li .text_wrap {
	text-align:center;
}
ul.column_list li .text_wrap .heading {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.07em;
    padding: 5px 20px 6px;
	margin-bottom:8px;
    filter: drop-shadow(2px 2px 0 rgba(40, 41, 96, 0.2));
}
main ul.column_list li .text_wrap .name{
    font-size: 20px;
    margin: 0 auto 15px;
    letter-spacing: 0.1em;
}
main ul.column_list li .text_wrap .name span{
    font-size: small;
    margin: 4px 0 0;
    letter-spacing: 0.1em;
}
main ul.column_list li table {
	width: 100%;
	margin: 0 auto;
}
main ul.column_list li table tbody th {
	width: 32%;
	white-space:inherit;
}
main ul.column_list li th{
    padding: 8px 8px;
	font-size: small;
	line-height: 1.5;
}
main ul.column_list li td{
    padding: 8px 8px;
	font-size: small;
	line-height: 1.5;
}
}

/*======================詳細リスト=====================*/
body#catalog dl.catalog {
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom:-10px;
}
body#catalog dl.catalog dt {
  width: 25%;
  padding: 14px 30px;
  box-sizing:border-box;
  color: #4d4435;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.0;
  margin-bottom: 10px;
  background: #f7f5f0;
}
body#catalog dl.catalog dd {
  width: 75%;
  padding: 14px 30px;
  box-sizing:border-box;
  color: #3e3628;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.0;
  background-color: #fcfbf8;
  margin-bottom: 10px;
}
@media  print, screen and (max-width: 767px) {
body#catalog dl.catalog {
  margin-bottom:0;
}
body#catalog dl.catalog dt {
  width: 40%;
  padding: 8px 10px;
  font-size: small;
  line-height: 1.6;
  margin-bottom: 5px;
}
body#catalog dl.catalog dd {
  width: 60%;
  padding: 8px 10px;
  font-size: small;
  line-height: 1.6;
  margin-bottom: 5px;
}
}

/*================================ topic_area ===============================*/
.topic_area {
	overflow: hidden;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0;
    clear: both;
    position: relative;
    z-index: 0;
}
.topic_area .inner {
    width: 1200px;
    height: auto;
    padding: 0;
    margin: 0 auto;
    position: relative;
}
.topic_area ul {
	width:100%;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom:40px;
}
.topic_area li {
	width: calc((100% - 120px) / 4);
    height:auto;
	font-size:16px;
    position: relative;
    margin: 0;
}
.topic_area img {
	width: 100%;
    height: 200px;
    margin-bottom: 15px;
    object-fit: cover;
}
.topic_area p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    padding: 0;
    line-height: 1.8;
	overflow: hidden;
}
.topic_area em{
	font-size:16px;
	font-weight:600;
	color: #191851;
	display:block;
	margin-bottom:5px;
}
.topic_area li a{
	color: #191851;
	text-decoration: none!important;
}
.topic_area a[target="_blank"] {
    padding: 0;
	background:none!important;
}
.topic_area li a:hover{
    opacity: 0.5;
	transition-duration: 0.7s;
}
.topic_area .btn {
	width: 280px;
	margin: 0 auto;
	display:block;
}
.topic_area .btn a {
    color: #fff;
	padding: 0 68px 0 35px;
    background: #282960 url(../images/arrow_more_w.svg) no-repeat center right 20px!important;
    background-size: auto;
}
@media  print, screen and (max-width: 767px) {
.topic_area{
    padding: 0;
    margin: 0;
	}
.topic_area .inner {
    width: 100%;
    height: auto;
    min-height: inherit;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    font-size: 0;
    text-align: center;
}
.topic_area ul {
    width: 100%;
    height: auto;
	gap: 10px;
	margin-bottom:20px;
}
.topic_area li{
	width: calc((100% - 10px) / 2);
	margin: 0 0 5px;
	font-size:14px;
	text-align:left;
}
.topic_area img {
	margin-bottom:10px;
    height: 150px;
}
.topic_area p {
	line-height: 1.5;
	-webkit-line-clamp: 5;
}
.topic_area em{
	font-size:14px;
	margin-bottom: 4px;
}
.topic_area li a[target="_blank"] {
    padding: 0;
}
.topic_area a[target="_blank"] {
    padding: 0 45px;
}
.topic_area .btn {
	width: auto;
	min-width:200px;
	max-width: 280px;
	display: inline-block;
}
.topic_area .btn a {
    padding: 0 60px 0 23px;
    background: #282960 url(../images/arrow_more_w.svg) no-repeat center right 13px;
    background-size: 22px auto;
}
}



/*================================ 会社概要 ===============================*/
#about .flex.col2 {
    justify-content: space-between;
}
#about .regular.regular03 .flex.col2 .gmap p {
    color: #fff;
}
#about .flex.col2 table {
    width:60%;
}
#about .column_list h5 {
   margin: 10px 0 10px;
    font-size: 17px;
    padding: 0 0 0 15px;
}
#about .column_list h5:before {
    display: none;
}
#about main ul.column_list li th,
#about main ul.column_list li td {
    font-size:14px;
}
#about .president_box {
background: url("../about/message/images/bg_topmessage.jpg") no-repeat; 
    background-size: 100% auto;
    height: 450px;
    margin-bottom: 50px;
}

#about .president_box .president_wrap {
    width: 550px;
    margin-left: auto;
}

/*▼▼▼▼index2の場合▼▼▼▼*/
#about .president_box.second {
background: url("../about/message/images/bg_topmessage2.jpg") no-repeat; 
    background-size: 100% auto;
    height: 450px;
    margin-bottom: 50px;
}
#about .president_box.second .president_wrap {
    width: 550px;
    margin-right: auto;
    margin-left: 130px;
}
/*▲▲▲▲index2の場合▲▲▲▲*/

#about .message_box {
    padding-bottom: 50px;
}
#about .message_box h1 {
    background:none;
    text-align: left;
    padding-bottom: 30px;
}
#about .message_box h1:before,
#about .message_box h1:after {
    background:none;
}
#about .message_box h1 img {
    width: 200px;
}
#about .message_box h2 {
    background:none;
    text-align: left;
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    color: #14202e;
    padding-top:0;
    padding-left: 50px;
    text-shadow:none;
    line-height: 1.5;
    margin-bottom: 30px;
}
#about .message_box p.name {
    padding-left: 50px;
}
#about .message_box p.name img {
    width: 130px;
    padding-bottom: 3px;
    padding-left: 10px;
}

@media screen and (max-width: 767px) {
    #about .president_box {
    background-size: 150% auto;
    background-position: top;
        height: auto;
        margin-bottom: 20px;
}
    #about .president_box .president_wrap {
        width: 65%;
    }
    
    /*▼▼▼▼index2の場合▼▼▼▼*/
    #about .president_box.second {
    background-size: 150% auto;
    background-position: top;
        height: auto;
        margin-bottom: 20px;
}
    #about .president_box.second .president_wrap {
        width: 65%;
        margin-left: 0;
    }
    #about .president_box.second p.name {
            padding-left: 20px;
    }
    /*▲▲▲▲index2の場合▲▲▲▲*/
    
    
    
    #about .message_box h2 {
    font-size: 16px;
    padding-left: 20px;
    margin-bottom: 15px;
}
    #about .message_box h2 br {
    display: block;
}
    #about .message_box h1 {
    padding: 10px 0 0 20px;
        box-sizing: border-box;
        margin-bottom: 10px;
}
    #about .message_box h1 img {
    width: 100px;
}
    #about .message_box p.name {
        font-size: 12px;
    }
    #about .flex.col2 table {
    width:100%;
}
    #about .column_list h5 {
  margin: 10px 0 0px;
    font-size: 17px;
    padding: 0;
    text-align: center;
} 
    #about .column_list table {
  margin-bottom: 10px;
}
    #about .message_box p.name img {
    width: 100px;
}
}

/*================================ 事業内容 ===============================*/
.intro_box p.bld_LL {
    font-size: 180%!important;
}
.flex.col2 .gmap {
    width: 35%;
    height: 450px;
    border: none;
    padding: 0;
}
.flex.col2 .gmap iframe {
     height: 63%;
    position: static;
}
.flex.col2 .gmap p {
     font-size: 16px;
}

#service main h2.second {
     text-shadow: none; 
    color: #fff;
    padding: 30px;
    font-size: 36px;
    border-radius: 52px;   
}
#service main .c1 h2 {
    background: #9ba538;
}
#service main .c2 h2 {
    background: #e6bb4b;
}

#service main .c3 h2 {
    background: #d8903b;
}

#service main .c4 h2 {
    background: #b8708e;
}

#service main .c5 h2 {
    background: #a0799f;
}

#service main .c6 h2 {
    background: #168aab;
}

#service .inner.second {
   background: rgba(255, 255, 255, 1.0) ;
}
#service .contents_head_navi h2 {
    margin: 0;
    padding: 10px 10px 40px 10px;
    background:none;
    text-shadow:none;
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
    font-size:35px;    
}
#service .contents_head_navi li a  {
    background: #fff;
    position: relative;
}
#service .contents_head_navi li a  {
    background: #fff;
    position: relative;
}
#service .contents_head_navi li a:after  {
    position: absolute;
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background-image: url(../images/arrow_db.svg);
    background-repeat: no-repeat;
    background-position: center right 4px;
    top: 40%;
    right: 5px;
}
#service .contents_head_navi li:nth-of-type(1) a:before {
    background: #9ba538;
}
#service .contents_head_navi li:nth-of-type(2) a:before {
    background: #e6bb4b;
}
#service .contents_head_navi li:nth-of-type(3) a:before {
    background: #d8903b;
}
#service .contents_head_navi li:nth-of-type(4) a:before {
        background: #168aab;
}
#service .contents_head_navi li:nth-of-type(5) a:before {
        background: #b8708e;
}
#service .contents_head_navi li:nth-of-type(6) a:before {
        background: #a0799f;
}

#service .contents_head_navi li a:hover {
    border: none;
        outline: none;
    outline-offset: none;
    color: #191851;
}




#service .contents_head_navi li a:before  {
    content: "";
    position: absolute;
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    z-index: 1;
    width: 10px;
    top: 0;
    left: 0;
    height: 100%;
}


#service .area02 h4 {
    font-size: 20px;
}
#service .regular img.floatL,
#service .regular img.floatR {
    width:300px;
}
#service .area02 h4:after {
    display: none;
}
#service .area02 h4{
    border: none;
    padding: 0;
}
#service .inner.second.c1 {
    border: 5px solid #9ba538;
}
#service .inner.second.c2 {
    border: 5px solid #e6bb4b;
}
#service .inner.second.c3 {
    border: 5px solid #d8903b;
}
#service .inner.second.c4 {
    border: 5px solid #b8708e;
}
#service .inner.second.c5 {
    border: 5px solid #a0799f;
}
#service .inner.second.c6 {
    border: 5px solid #168aab;
}
#service .inner.second .area02 {
    background: #EDF0F7 url(../images/bg_area02.svg) no-repeat bottom -18px right 10px;
    background-size: 257px auto;
}
#service .intro_box {
    background: none;
    background-image: url("../service/images/bg_intro.jpg");
    background-repeat: no-repeat;
    background-position: center bottom -100px;
    background-size: cover;
    /*background-color: rgba(255,255,255,0.6);*/
    background-color: rgba(108,221,255,0.6);
    background-blend-mode:lighten;
    padding-top: 100px;
}
#service .intro_box:before,
#service .intro_box:after {
   display: none;
}
#service .intro_box .flex_box h2 {
    color: #191851;
    color: #fff;
    background: none;
    /*text-shadow: #fff 0 0 20px;*/
    /*text-shadow: 0 0 6px rgb(0, 0, 0, 0.2);*/
    filter: drop-shadow(0 0 10px rgba(54, 193, 228, 0.85));
    padding-top: 0;
    margin-bottom: 40px;
    font-size: 40px;
}
#service .intro_box p.bld_LL {
    /*text-shadow: #fff 0 0 20px;*/
    /*text-shadow: 0 0 6px rgb(0, 0, 0, 0.2);*/
    filter: drop-shadow(0 0 10px rgba(54, 193, 228, 1));
    filter: drop-shadow(0 0 10px rgba(54, 193, 228, 1));
    filter: drop-shadow(0 0 10px rgba(54, 193, 228, 1));
    color: #191851;
    color: #fff;
    font-size: 20px!important;
    margin-bottom: 100px;    
}
#service a#albus{
    scroll-margin-top: 250px;
    padding-top: 250px !important;
    margin-top: -250px !important;
}


@media screen and (max-width: 767px) {
    #service main h2.second {
    padding: 9px;
    font-size: 20px;
}
        .flex.col2 .gmap {
        width:100%;
            height: auto;
    }
    .flex.col2 .gmap iframe {
    height: 300px;
}
    .flex.col2 .gmap p {
    font-size: 14px;
}
    #service .contents_head_navi li {
        width:48%;
    }
    #service .contents_head_navi h2 {
       font-size: 18px;
        padding: 0 10px 10px 10px;
    }
    #service .contents_head_navi li a {
        font-size: 13px;
    }
    .intro_box p.bld_LL {
    font-size: 95%!important;
	text-align: center;
} 
#service .area02 h4 {
    font-size: 16px;
}
    
#service .intro_box {
    background-position: center bottom -50px;
    background-size: auto 120%;
    padding-top: 40px;
}
#service .intro_box .flex_box h2 {
    font-size: 22px;
    margin-bottom: 15px;
}
#service .intro_box p.bld_LL {
    font-size: 15px!important;
    margin-bottom: 100px;    
}
#service a#albus{
    scroll-margin-top: 100px;
    padding-top: 100px !important;
    margin-top: -100px !important;
}
}

/* サイドナビ */
.side-nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  z-index: 999;
    background-color: #fff;
    padding: 10px;
    padding-bottom: 0;
}

.side-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side-nav li {
  margin-bottom: 15px;
}

.side-nav a {
 display: flex;
  flex-direction: column; /* 縦並びにする */
  align-items: center;    /* 真ん中揃え */
  text-decoration: none;
}

.side-nav .dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ccc; /* 通常の●色 */
  display: inline-block;
  margin: 0 0 5px 0;
}

.side-nav li:nth-of-type(1) .dot,
.side-nav :nth-of-type(1) a.active .dot{
background-color: #9ba538;
}
.side-nav li:nth-of-type(2) .dot,
.side-nav :nth-of-type(2) a.active .dot{
background-color: #e6bb4b;
}
.side-nav li:nth-of-type(3) .dot,
.side-nav :nth-of-type(3) a.active .dot{
    background-color: #d8903b;

}
.side-nav li:nth-of-type(4) .dot,
.side-nav :nth-of-type(4) a.active .dot{
        background-color: #168aab;
}
.side-nav li:nth-of-type(5) .dot,
.side-nav :nth-of-type(5) a.active .dot{
background-color: #b8708e;
}
.side-nav li:nth-of-type(6) .dot,
.side-nav :nth-of-type(6) a.active .dot{
background-color: #a0799f;
}

.side-nav .label {
  display: none;
  font-weight: bold;
  color: #007bff;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: upright; 
  white-space: nowrap;     
}
.side-nav li:nth-of-type(1) .label {
  color: #9ba538;   
}
.side-nav li:nth-of-type(2) .label {
  color: #e6bb4b;   
}
.side-nav li:nth-of-type(3) .label {
      color: #d8903b;   
}
.side-nav li:nth-of-type(4) .label {
    color: #168aab; 
}
.side-nav li:nth-of-type(5) .label {
  color: #b8708e;   
}
.side-nav li:nth-of-type(6) .label {
  color: #a0799f;   
}

.side-nav a.active .label {
  display: block; /* 現在表示中のセクション名を表示 */
}
@media  print, screen and (max-width: 767px) {
    .side-nav{
        display:none;
    }
}


#service #c4 .grid_content ul {
    justify-content: flex-start;
    gap:10px;
}
#service #c4 .grid_content ul li {
    width: calc(100% / 3 - 8px);
    margin-bottom: 0;
}
#service #c4 img.floatL {
    padding-top: 7px;
   width: 250px;
    filter:none;
}
@media  print, screen and (max-width: 767px) {
#service #c4 .grid_content ul {
   justify-content: space-between;
    gap:0;
}
#service #c4 .grid_content ul li {
    box-sizing: border-box;
    margin: 0 4px;
    position: relative;
    width: calc(100% / 2 - 8px);
    padding-bottom: 10px;
}
}

/*================================ ボタン ===============================*/
.btn_more2 {
	width:50%;
	padding-top:20px;
    margin: 0 auto;
	margin-bottom:15px;
	text-align:center;
	clear:both;
}
.btn_more2 a {
	width:auto;
	height: auto;
    color: #fff;
	font-size:21px;
	background:#191851;
	text-decoration: none!important;
	font-weight:500;
	letter-spacing: 0.1em;
	display:block;
	padding:13px 20px 15px;
	border-radius: 5px; 
    -webkit-border-radius: 5px;  
    -moz-border-radius: 5px;
	line-height: 1.6;
	box-shadow: none;
	position:relative;
}
.btn_more2 a:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_b.svg) no-repeat center right;
    background-size: contain;
    top: 50%;
    right: 25px;
    margin-top: -8px;
    width: 10px;
    height: 16px;
}
.btn_more2 a:hover{
	text-decoration: none!important;
	opacity:0.6;
	transition: 0.7s ;
}
@media  print, screen and (max-width: 767px) {
.btn_more2 {
	width:100%;
}
    .btn_more2 a {
	font-size:15px;
}
}


/*================================ sdgs===============================*/
.sdgs-list li {
    padding: 20px;
    box-sizing: border-box;
    border: 1px solid #333;
}
.sdgs-list li img {
    width:100%;
    height: auto;
    margin-bottom: 30px;
}
.sdgs-list li h4 {
    font-size: 20px;
}
@media  print, screen and (max-width: 767px) {
    .sdgs-list li {
    width: 45%;
}
}

/*================================ sustainability ===============================*/
#sustainability .contents_head_navi ul {
    width: 1000px;
}
#sustainability .contents_head_navi li {
    width: 386px;
}
#sustainability .grid_content ul.col2 {
    margin-bottom: 50px;
}
#sustainability .grid_content ul.col2 li {
    width: calc(100% / 2 - 8px);
}
@media  print, screen and (max-width: 767px) {
#sustainability .contents_head_navi ul,
#recruit .contents_head_navi ul {
    width: 100%;
}
#sustainability .contents_head_navi li,
#recruit .contents_head_navi li
    {
   width: 48%;
}
#recruit .contents_head_navi li a
    {
   height: 100%;
}
#sustainability .grid_content ul.col2 {
    margin-bottom: 20px;
}
}


/*================================ recruit===============================*/
.result-list {
    width: 1000px;
    margin: 0 auto;
    gap:15px;
    margin-bottom: 100px;
}
.result-list li {
    text-align: center;
    padding: 10px;
    }
.result-list li:nth-child(even) {
    background: #f3f5f9;
    }
@media  print, screen and (max-width: 767px) {
    .result-list {
     width: 100%;
        margin-bottom: 30px;
    }
    .result-list li {
        font-size: 12px;
    }
 }

/*================================ staff ===============================*/
.staff .regular h3 {
    font-size: 20px;
    padding: 12px 40px 15px 35px;
}
.staff main .regular .text_wrap p span {
    font-size: 23px;
    color: #282960;
    font-weight: bold;
}
.staff main .regular .text_wrap img {
    width: 300px;
}
.staff-img {
    margin-bottom: 20px;
    position: relative;
}
.staff-img img {
    display: block;
    width: 100%;
}
.staff-img p {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 70px;
    color: #282960;
    font-size: 25px;
    font-weight: 600;
}

    .staff-img p.pc {
    display: block;
    }
@media  print, screen and (max-width: 767px) {
.staff .regular h3 {
    font-size: 16px;
    padding: 10px 13px 13px 25px;
}
.staff main .regular .text_wrap img {
    width: 80%;
    margin: 0 auto;
    display: block;
}
.staff main .regular .text_wrap p span {
    font-size: 18px;
}
    .staff-img p {
    right: 20px;
    font-size: 14px;
        padding-bottom: 0;
    }
    .staff-img p.pc {
    display: none;
    }
}
/*================================ contact ===============================*/
#other .contact-list.flex.col4 {
    justify-content: space-between;    
}
#other .contact-list.flex.col4 li {
    width: calc((100% - 40px) / 4);
    background-color: #191851;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    padding: 15px;
    position: relative;
}
#other .contact-list.flex.col4 li:before {
    content: "";
    position: absolute;
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    z-index: 1;
    height: 5px;
    left: 0;
    top: 0;
    width: 100%;
}
#other .contact-list.flex.col4 li:after {
    content: "";
    position: absolute;
        background: linear-gradient(
  45deg,
  #BFC3C8 0%,
  #E5E7EA 40%,
  #F7F8FA 70%,
  #E5E7EA 85%,
  #BFC3C8 100%
);
    z-index: 1;
    height: 5px;
    left: 0;
    bottom: 0;
    width: 100%;
}
#other .contact-list.flex.col4 li .btn_more2 {
    padding: 10px;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}
#other .contact-list.flex.col4 li a {
    background-color: #f3f5f9;
    padding: 20px;
    font-size: 16px;
    width: 100%;
    box-sizing: border-box;
    color: #191851;
}
#other .contact-list.flex.col4 li a span {
    font-size: 12px;
    line-height: 1.3;
    display: block;
    letter-spacing: 0;
}
#other .contact-list.flex.col4 li a.mt {
margin-top: 20px;
}

#other .contact-list.flex.col4 li .btn_more2 a:after {
    right: 8px;
}
#other .contact-list.flex.col4 li p.bld {
    color: #fff;
    font-size: 20px;
}
#other .contact-list.flex.col4 li a + a {
  margin-top: 20px;
}


@media  print, screen and (max-width: 767px) {
    #other .contact-list {
    flex-wrap: wrap;
}
    #other .contact-list.flex.col4 li {
    width: 49%;
        margin-top: 10px;
        padding: 5px;
}
    #other .contact-list.flex.col4 li a {
    font-size: 12px;
    padding: 5px;
}
    #other .contact-list.flex.col4 li a span {
    font-size: 9px;
}
    #other .contact-list.flex.col4 li a + a {
  margin-top: 10px;
}
    #other .contact-list.flex.col4 li p.bld {
    font-size: 12px;
}
   
}

/*================================ blog ===============================*/

.shirai-label-new,
.shirai-label-update {
    display: inline-block !important;
    min-width: 0 !important;       /* 140pxを解除 */
    width: auto !important;        /* 自動幅に */
    height: auto !important;
    padding: 2px 6px !important;   /* 余白調整 */
    margin-left: 8px !important;
    border-radius: 3px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    border: none !important;       /* 枠線を消す */
    color: #fff !important;
    font-weight: bold !important;
    vertical-align: middle;
     background-color: #ff0000 !important;

}
#recruit .shirai-label-new,
#recruit .shirai-label-update {
    position: absolute;
    top: 171px;
    left: 5px;
}

@media  print, screen and (max-width: 767px) {
#recruit .shirai-label-new,
#recruit .shirai-label-update {
top: 125px;
}
}

