@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 36px center;
	background-size: 70% auto;
    z-index: 10;
}
/*#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 {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 45px 0 20px;
	position:relative;
	background: linear-gradient(to bottom, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(14,54,109,1.0) 100%);
    background: -webkit-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(14,54,109,1.0) 100%);
	z-index:1;
}
#contents_menu:before {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.svg) no-repeat center top;
	background-size: contain;
    top:25px;
	left:50%;
	transform: translate(-50%,0);
    width: 120%;
    height: 800px;
	opacity:0.1;
    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 {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.png) no-repeat center bottom;
	background-size: contain;
    bottom:0;
	right:10px;
    width: 50%;
	height:800px;
	opacity:1.0;
    z-index: -1;
}
/*#contents_menu:after {
	width: 100%;
    height: 50px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(27, 54, 118, 0.4) 0, transparent 100%);
	background: -webkit-linear-gradient(top, rgba(27, 54, 118, 0.4) 0, transparent 100%);
	background: linear-gradient(to bottom, rgba(27, 54, 118, 0.4) 0, transparent 100%);
    z-index:-1;
}*/
#contents_menu h2{
    color: #fff;
}
#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: 20px 0 5px;
	background: #e0ebf7 url(../images/bg_contents_menu_sub_sp.png) no-repeat bottom center;
    background-size: cover;
	z-index:2;
}
#contents_menu.sub_menu:before {
    width: 100%;
    height: 60px;
    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.08) 0, transparent 60px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.08) 0, transparent 60px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08) 0, transparent 60px);
    z-index: 1;
}
#contents_menu.sub_menu:after {
	display:none;
}
#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;
}
#contents_menu.menu_column4 {
    padding: 32px 0 32px;
}
.inner {
	width:100%;
	padding:0 15px;
	box-sizing: border-box;
}
.inner.second {
	position: relative;
	width: calc(100% - 30px);
    padding: 23px 15px 18px;
	margin:0 auto 20px;
	border-top: 3px solid rgb(0 0 0 / 3%) inset;
	border-bottom: 3px solid rgb(0 0 0 / 2%);
	background: rgba(255, 255, 255, 1.0) ;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
}
.inner.second:last-child {
	margin:0 auto;
}
.inner.second:before {
    content: "";
    position: absolute;
    background: url(../images/bg_inner.png) no-repeat 0 center;
    background-size: contain;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    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: #1a2636;
	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 20px;
}
main .imgC.bg_color {
	margin:0 0 10px;
	padding:15px 15px;
	box-sizing:border-box;
	background:#fff;
	display:flex;
	justify-content: center;
    align-items: center;
	filter: drop-shadow(5px 5px rgba(0, 0, 0, 0.03));
}
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 table ul.horizontal, main table ol.horizontal {
	flex-direction: column;
}
main em {
	color: #00b188;
	font-weight: 500;
}
main em span{
	font-weight: 400;
}
.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;
}
.fc_W {
    color:#fff!important;
}
p.catch{
	font-size: 16px;
	color: #004da9;
	font-weight: 600;
	line-height: 1.5;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.4), 0px 0px 10px rgba(255, 255, 255, 0.4);
	}
p.catch strong {
    font-size: 16px;
    font-weight: 600;
    box-sizing: border-box;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.4), 0px 0px 10px rgba(255, 255, 255, 0.4);
}
.important {
	color: #FF0000;
	}
.line_btm {
	padding-bottom: 32px;
	border-bottom:1px dotted #ccc;
	margin-bottom: 16px;
	}
.w10 {
	width: 10%!important;
}
.w15 {
	width: 15%!important;
}
.w20 {
	width: 20%!important;
}
.w28 {
	width: 28%!important;
}
.w30 {
	width: 30%!important;
}
.w40 {
	width: 40%!important;
}
.w50 {
	width: 50%!important;
}
.brown {
	color: #4d4435!important;
}
.mincho {
	font-family:"Sawarabi Mincho", serif;
}
.mt_none {
    margin-top: 0!important;
}
.mt_05em {
    margin-top: 0.5em!important;
}
.mt_1em {
    margin-top: 1em!important;
}
.mt_15em {
    margin-top: 1.5em!important;
}
.mt_2em {
    margin-top: 2em!important;
}
.mt_3em {
    margin-top: 3em!important;
}
.mt_4em {
    margin-top: 4em!important;
}
.mb_none {
    margin-bottom: 0!important;
}
.mb_05em {
    margin-bottom: 0.5em!important;
}
.mb_1em {
    margin-bottom: 1em!important;
}
.mb_15em {
    margin-bottom: 1.5em!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: 60px!important;
    margin-top: -60px!important;
　  z-index:-1;
}
/*===アンカー上部に余白を持たせたい場合===*/
a.anchor.anchor_space,
.anchor.anchor_space{
    padding-top: 100px!important;
    margin-top: -100px!important;
}
p .fax {
    margin-left: 8px;
}
.bld {
	font-weight: 600;
}
.bld_L {
	font-weight: 600;
	font-size: 115%!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:600px;
	margin:0 auto;
	padding:120px 0 80px;
	background: url(../images/bg_contents.svg) no-repeat bottom 40px right 20px;
	background-size:428px 420px;
	}
/*#contents:before {
    width: 100%;
    height: 40px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
	background: -moz-linear-gradient(top, rgba(31,76,137,0.9) 0%, rgba(31,76,137,0.9) 10%, rgba(31,76,137,0.4) 50%, rgba(255,255,255,0) 100%);
    background: -webkit-linear-gradient(top, rgba(31,76,137,0.9) 0%, rgba(31,76,137,0.9) 10%, rgba(31,76,137,0.4) 50%, rgba(255,255,255,0) 100%);
    background: linear-gradient(to bottom, rgba(31,76,137,1.0) 0%, rgba(31,76,137,0.1) 90%, rgba(31,76,137,0) 100%);
    z-index: 10;
}*/
#contents_menu {
	max-width: 1920px;
	margin: 0 auto;
    padding: 140px 0 70px;
	overflow: hidden;
    clear: both;
}
#contents_menu:before {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.svg) no-repeat center top;
	background-size: contain;
    top:50px;
	left:50%;
	transform: translate(-50%,0);
    width: 1920px;
	height:1193px;
	opacity:0.1;
    z-index: 0;
}
#contents_menu:after {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.png) no-repeat center bottom;
	background-size: contain;
    bottom:0;
	right:10px;
    width: 383px;
	height:700px;
	opacity:1.0;
    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(27, 54, 118, 0.4) 0, transparent 100%);
	background: -webkit-linear-gradient(top, rgba(27, 54, 118, 0.4) 0, transparent 100%);
	background: linear-gradient(to bottom, rgba(27, 54, 118, 0.4) 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{
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat top center;
    background-size: contain;
    top: -20px;
	right: 50%;
    transform: translate(960px, 0);
    width: 450px;
    height: 783px;
	z-index:0;
	opacity:0.06;
}
#contents_menu.sub_menu{
	margin: 0 auto;
    padding: 90px 0 20px;
	background: #e0ebf7 url(../images/bg_contents_menu_sub.png) no-repeat center bottom;
	background-size: auto;
}
#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: 100px;
    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.1) 0, transparent 100px);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1) 0, transparent 100px);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0, transparent 100px);
    z-index: -1;
}
#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;
}
#contents_menu.menu_column4 {
	padding: 100px 0 100px;
}
.inner {
	position: relative;
	width:1200px;
	margin:auto;
	padding:0;
	box-sizing: border-box;
	}
.inner.second {
	width:1200px;
    padding: 60px 40px 60px;
	margin:0 auto 40px;
	border-top: 4px solid rgb(0 0 0 / 2%);
	border-bottom: 4px solid rgb(0 0 0 / 2%);
	/*background: rgba(255,255,255,1.0) url(../images/bg_inner_second.svg) no-repeat right 20px bottom 20px;
    background-size: 40% auto;*/
    background: rgba(255,255,255,1.0);
	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 center bottom;
    background-size: contain;
    top: auto;
    bottom: 40px;
    left: 0;
    width: 100%;
    height: 1000px;
    z-index: -1;
}
.bg_logo:after {
    width: 560px;
    height: 465px;
    top: 60px;
	transform: translateX(20px);
}
.adjust_group {
	box-sizing: border-box;
	margin-bottom:120px!important;
	}
.adjust_group.adjust_s {
	box-sizing: border-box;
	margin-bottom:80px!important;
	}
.adjust_group.adjust_xs {
	box-sizing: border-box;
	margin-bottom:40px!important;
}
main p{
	font-size: 17px;
	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.bg_color {
	margin:0 0 30px;
	padding:15px 15px;
	min-height:120px;
	filter: drop-shadow(10px 10px rgba(0, 0, 0, 0.03));
}
main .imgC img{
	width:auto;
	}
main ul.text,
main ol.text {
	margin-bottom: 1.2em;
	line-height: 1.8;
}
main table ul.horizontal, main table ol.horizontal {
	flex-direction: row;
}
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:4px;
}
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));
}
.bld_L {
	font-size: 130%!important;
}
p.catch{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.05em;
	/*text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8);*/
}
p.catch strong {
    font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.05em;
	/*text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8);*/
}
.line_btm {
	padding-bottom: 16px;
	border-bottom:1px dotted #ccc;
	margin-bottom: 16px;
	letter-spacing: 0.07em;
}
a.anchor,
.anchor{
    display: block;
    padding-top: 0px!important;
    margin-top: 0px!important;
　  z-index:-1;
}
/*===アンカー上部に余白を持たせたい場合===*/
a.anchor.anchor_space,
.anchor.anchor_space{
    padding-top: 120px!important;
    margin-top: -120px!important;
}
}

/*================================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 bottom;
	background-size:auto 100%, auto;
	background-repeat: no-repeat, no-repeat;
	font-size:32px;
	font-weight:500;
	color: rgba(255,255,255,1.0);
	line-height:1.7;
	margin:0 auto;
	padding:60px 0;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	text-align:center;
	z-index:11;
	}*/
main h1{
	max-width:1920px;
	position: relative;
	background: url(../images/bg_h1_point.svg) ,-moz-linear-gradient(top bottom, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(31,76,137,1.0) 100%);
    background: url(../images/bg_h1_point.svg) , -ms-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(31,76,137,1.0) 100%);
    background: url(../images/bg_h1_point.svg) , -moz-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(31,76,137,1.0) 100%);
    background: url(../images/bg_h1_point.svg) , -webkit-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(31,76,137,1.0) 100%);
    background: url(../images/bg_h1_point.svg) , linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(31,76,137,1.0) 100%);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 120%;
	font-size:38px;
	font-weight:600;
	color: #fff;
	line-height:1.7;
	margin:0 auto;
	padding:60px 0;
	box-sizing: border-box;
	letter-spacing: 0.08em;
	text-align:center;
	z-index:11;
	}
main h1:after {
    width: 100%;
    height: 10px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
}
main h1.second {
	font-size:44px;
	padding: 65px 0;
}
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.05), 0px 0px 10px rgba(43,66,45, 0.05);
}
main h1 span:before,
main h1 span:after {
  content: '';
  position: absolute;
  top: 50%;
  margin-top:-1px;
  display: inline-block;
  width: 80px;
  height: 2px;
  background:rgba(255,255,255,1.0);
}
main h1 span:before {
  left:5px;
}
main h1 span:after {
  right:5px;
}
main h1 em {
	color: #fff;
	font-size:26px;
	font-weight:500;
	line-height: 1.3;
	display:block;
}
main h1 br{
	display: none;
}
main h1.second br{
	display: none;
}
main h1 a{
	color: #fff!important;
	text-decoration:none;
}
main h2,
main .inner h2{
    max-width: 1200px;
	position: relative;
	padding:72px 0 0;
	margin:0 auto 84px;
	font-size:50px;
	font-weight:700;
	letter-spacing: 0.05em;
    color: #1f4c89;
	line-height: 1.0;
	text-align:center;
	z-index:1;
}
main h2:before,
main .inner h2:before{
    content: "";
    position: absolute;
    background: url(../images/bg_h2.svg) no-repeat 0 top;
	background-size: 100% auto;
    top:0;
    left: 50%;
	transform: translate(-50%,0);
    width: 40px;
    height: 40px;
	z-index:0;
}
main h2.ttl,
main .inner h2.ttl{
	font-size:38px!important;
	margin: 0 auto 80px!important;
}
main h2.secondary,
main .inner h2.secondary{
    font-size: 36px;
	font-weight:700;
    margin: 0 auto 60px;
    padding:0 0 40px;
	z-index: 0;
}
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(51, 51, 51, 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.number,
main .inner h2.number{
	padding:0;
}
main h2.number:before,
main .inner h2.number:before{
    display: none;
}
main h2 .num,
main .inner h2 .num{
    width: 120px;
    height: 120px;
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: Antonio, sans-serif;
    font-size: 64px;
    color: #ffe907;
    font-weight: 600;
    line-height: 1.0;
    letter-spacing: 0;
	margin:0 auto 30px;
    padding: 0 3px 8px 0;
    box-sizing: border-box;
	position:relative;
    background: #16b3a6;
    border-radius: 50%;
}
main h2 .heading,
main .inner h2 .heading{
	display: table;
    width: auto;
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    background: #00bc96;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 6px 30px 7px;
	box-sizing:border-box;
	margin:0 auto 25px;
    z-index: 10;
	position:relative;
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.05));
	text-shadow: none;
}
main h2 .year,
main .inner h2 .year{
	display:block;
    color: #333;
    font-size: 20px;
    font-weight: 500;
    margin: 20px auto 0;
    padding: 0;
    line-height: 1.4;
    position: relative;
    letter-spacing: 0.05em;
}
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, #4277be 0, #76dedd 100%);
    background: url(../images/bg_h3.svg) , -ms-linear-gradient(left, #4277be 0, #76dedd 100%);
    background: url(../images/bg_h3.svg) , -moz-linear-gradient(left, #4277be 0, #76dedd 100%);
    background: url(../images/bg_h3.svg), -webkit-linear-gradient(left, #4277be 0, #76dedd 100%);
    background: url(../images/bg_h3.svg) , linear-gradient(left, #4277be 0, #76dedd 100%);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 110%;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    padding: 19px 50px 23px 50px;
    box-sizing: border-box;
    margin: 0 0 72px;
    text-align: left;
    position: relative;
    /*box-shadow: 3px 3px 8px rgb(255 255 255 / 50%) inset;
    filter: drop-shadow(10px 10px rgba(0, 0, 0, 0.05));*/
	line-height: 1.6;
	letter-spacing: 0.05em;
    display: flex;
    align-items: center;
}
main h3:before{
    content: "";
    position: absolute;
    background: url(../images/bg_h3_left.svg) no-repeat left top;
	background-size: 100% auto;
    bottom:-20px;
    left: 0;
    width: 50px;
    height: 20px;
}
main h3:after{
    content: "";
    position: absolute;
    background: url(../images/bg_h3_right.svg) no-repeat right top;
	background-size: 100% auto;
    bottom:-20px;
    right: 0;
    width: 50px;
    height: 20px;
}
/*main h3:before {
    position: absolute;
    top: 12px;
    left: 20px;
    content: "";
    width: 1px;
    height: 16px;
    background: #fff;
    transform: rotate(45deg);
}
main h3:after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 6px;
	left: 6px;
	width: 100%;
	height: 100%;
	background: linear-gradient(to right, #00cca3 0, #29d1ff 100%);
	filter: blur(0);
	opacity:0.3;
}*/
.basic_wrap h3{
	font-size: 22px;
	font-weight: 500;
    padding: 12px 40px 12px 80px;
    margin: 0px 0 30px;
	}
main h3.second {
    color: #1a2636;
	font-size: 27px;
	font-weight: 600;
    padding: 8px 0 8px 25px;
    margin: 0 0 30px;
    text-align: left;
	background:none;
    filter:none;
	box-shadow: none;
}
main h3.second:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 3px;
    height: 100%;
	transform: translateY(-50%);
	background: #16b3a6;
}
main h3.second:after{
	display:none;
}
main h3.third {
	color: #202124;
	font-size: 25px;
    padding: 8px 0 8px 25px;
    margin: 10px 0 15px;
    text-align: left;
	background:none;
    filter:none;
	box-shadow: none;
}
main h3.third:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 3px;
    height: 100%;
	transform: translateY(-50%);
    background: #004da9;
}
main h3.third:after{
	display:none;
}
main h3.number {
	padding: 19px 40px 23px 76px;
}
main h3 .number {
	width:76px;
	height:76px;
    position: absolute;
    top: -15px;
    left: -15px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #16b3a6;
	border-radius:50%;
    font-family: Antonio, sans-serif;
    color: #ffe907;
    font-weight: 700;
    font-size: 36px;
    line-height: 1.0;
	letter-spacing: 0;
	padding: 0 2px 6px 0;
	box-sizing: border-box;
	outline: 2px solid rgba(255, 255, 255, 0.6);
	outline-offset: -6px;
}
main h4 {
    color: #1f4c89;
	font-size: 28px;
	font-weight: 700;
    margin: 0 auto 40px;
	padding: 0 0 25px;
	background:none;
	border-radius:0;
	line-height:1.4;
    border-bottom: 4px solid rgba(0 0, 0, 0.03);
	/*border-bottom: 4px solid;
	border-image: linear-gradient(to right, rgba(0, 77, 169, 0.3),rgba(96, 198, 182, 0.3)) 1;*/
    position: relative;
	letter-spacing: 0.05em;
	text-align:left;
}
main h4:after {
    position: absolute;
    content: " ";
    display: block;
	border-bottom: solid 4px #ffda2f;
    left: 0px;
    bottom: -4px;
    padding: 0;
    width: 270px;
}
main h4.second{
	font-size: 24px;
	margin: 0 auto 25px;
	padding: 0 0 18px;
	}
main h4.second:after {
	border-bottom: solid 4px #29d1ff;
    bottom: -4px;
}
main h4.third {
	font-size: 24px;
    padding: 8px 0 8px 25px;
    margin: 10px 0 30px;
	border-bottom: none;
	text-align:left;
}
main h4.third:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 3px;
    height: 100%;
	transform: translateY(-50%);
	background: #29d1ff;
}
main h5 {
    width: 100%;
    color: #333;
    font-size: 20px;
    font-weight: 500;
	padding: 5px 0 5px 20px;
    margin: 5px 0 15px;
    letter-spacing: 0.05em;
    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: 100%;
	background: #29d1ff;
}
@media  print, screen and (max-width: 767px) {
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:19px;
	font-weight:700;
	line-height:1.6;
	padding: 22px 20px;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	}
@media  print, screen and (max-width: 359px) {
main h1{
	padding: 22px 15px;
	}
}
main h1:after {
    content: "";
    position: absolute;
    bottom: -3px;
    right: 0;
    height: 3px;
    width: 100%;
}
main h1.second {
	font-size:24px;
	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 5px rgba(43, 66, 45, 0.05), 0px 0px 5px rgba(43, 66, 45, 0.05);
}
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:0.8em;
}
main h1 em {
	font-size:18px;
}
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: 36px 0 0;
	margin: 0 15px 25px;
	font-size:23px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
@media  print, screen and (max-width: 360px) {
main h2,
main .inner h2{
	font-size:22px;
}
}
main h2:before,
main .inner h2:before{
    background: url(../images/bg_h2.svg) no-repeat 0 top;
	background-size: 100% auto;
    width: 25px;
    height: 25px;
}
main h2 br,
main .inner h2 br{
	display:none;
}
main .inner h2{
	margin: 0 0 25px;
}
main h2.ttl,
main .inner h2.ttl{
	font-size:22px!important;
	margin: 0 15px 25px!important;
}
main h2.secondary{
    font-size: 19px;
    margin: 0 15px 25px;
    padding: 10px 0 15px;
}
main .inner h2.secondary{
    font-size: 20px;
    margin: 0 0 25px;
    padding: 10px 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 .num, main .inner h2 .num {
    width: 72px;
    height: 72px;
    font-size: 40px;
    margin: 0 auto 10px;
    padding: 0 0 4px;
} 
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 15px;
    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 15px 14px;
    margin: 0 0 30px;
	line-height: 1.5;
    /*filter: drop-shadow(5px 5px rgba(0, 0, 0, 0.05));*/
}
main h3:before{
    bottom:-13px;
    left: 0;
    width: 33px;
    height: 13px;
}
main h3:after{
    bottom:-13px;
    right: 0;
    width: 33px;
    height: 13px;
}
.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 14px 45px;
}
main h3 .number {
	width:48px;
	height:48px;
    top: -8px;
    left: -10px;
    font-size: 24px;
	letter-spacing: 0.03em;
	padding-top: 0;
	outline: 1px solid rgba(255, 255, 255, 0.6);
	outline-offset: -3px;
}
main h4{
    font-size: 17px;
    padding: 0 4px 14px;
    margin: 0 0 20px;
	line-height:1.5;
    /*border-image: linear-gradient(to right, rgba(96, 198, 182, 0.3) 0,rgba(0, 77, 169, 0.3) 50%,rgba(96, 198, 182, 0.3)100%) 1;*/
	border-bottom: 3px solid rgba(0, 0, 0, 0.05);
	text-align: left;
}
main h4:after {
	left: 0;
	bottom: -3px;
    /*transform: translateX(-50%);*/
    border-bottom: solid 3px #ffda2f;
    width: 30%;
}
main h4.second{
    font-size: 17px;
	padding: 0 4px 13px;
	margin: 0 0 15px;
}
main h4.second:after {
	border-bottom: solid 3px #29d1ff;
    bottom: -3px;
}
main h4.third{
    font-size: 17px;
	padding: 5px 0 5px 15px;
    margin: 0 0 15px;
}
main h4.third:after {
	width: 2px;
    height: 100%;
}
main h5 {
    font-size: 16px;
    padding: 3px 0 3px 15px;
    margin: 5px 0 12px;
}
main h5:before {
    height: 24px;
}
}

/*================================table================================*/
main table {
	width:100%;
	border-collapse: collapse;
/*	border-top: 1px solid #d9e0ea;
    border-bottom: 1px solid #d9e0ea;*/
    border: 1px solid #d9e0ea;
    margin-bottom: 20px;
}
main table.second{
	margin-bottom: 0;
}
main table.catalog{
	margin-bottom: 15px;
}
main th,main td {
	/*border-bottom: 1px solid #d2d9e4;*/
    border: 1px solid #d9e0ea;
	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: #202124;
	vertical-align: top;
}
main table thead th {
	font-weight:600;
	text-align: center;
	color: #fff;
	background:#1f4c89;
	padding: 6px 8px;
}
main table tbody th {
	font-weight: 700;
	width: 32%;
	text-align: left;
	vertical-align: middle;
	background: #f3f8ff;
	/*background: rgba(41, 209, 255, 0.1);*/
	color: #1a2636;
}
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;
}



@media screen and (max-width: 767px) {
main .table_scroll{
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
main .table_scroll table{
min-width: 900px;
border-collapse: collapse;
}

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: 16px 30px;
	font-size: 16px;
	line-height: 1.8;
}
main td{
    padding: 16px 30px;
	font-size: 16px;
	line-height: 1.8;
}
main .second th,
main .second td{
	padding: 15px 20px;
}
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:120px 0 40px;
	box-sizing: border-box;
	margin:0 auto;
	text-align:left;
	overflow: hidden;
	clear:both;
	z-index: 10;
	background: linear-gradient(to bottom, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(14,54,109,1.0) 100%);;
    background: -webkit-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(67,109,175,1.0) 50%, rgba(14,54,109,1.0) 100%);;
	position:relative;
}
.intro_box:before {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.svg) no-repeat center top;
	background-size: contain;
    top:50px;
	left:50%;
	transform: translate(-50%,0);
    width: 1920px;
	height:1193px;
	opacity:0.1;
    z-index: 0;
}
.intro_box:after{
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.png) no-repeat center bottom;
	background-size: contain;
    bottom:0;
	right:10px;
    width: 383px;
	height:700px;
	opacity:1.0;
    z-index: -1;
}
/*.intro_box: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(27, 54, 118, 0.4) 0, transparent 100%);
	background: -webkit-linear-gradient(top, rgba(27, 54, 118, 0.4) 0, transparent 100%);
	background: linear-gradient(to bottom, rgba(27, 54, 118, 0.4) 0, transparent 100%);
    z-index: -1;
}*/
.intro_box .flex_box{
	display: block;
	position:relative;
	min-width:1200px;
	margin:0 auto 100px;
	padding: 0;
	z-index:10;
	text-align:center;
	}
.intro_box .flex_box.second{
	margin:0 auto 80px;
	}
.intro_box .inner {
    position: relative;
    width: 1200px;
    margin: auto;
    padding: 0;
	text-align:left;
}
.intro_box .second .inner {
    position: relative;
    width: 1200px;
    margin: 0 auto 50px;
    padding: 90px 50px 40px;
    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);
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.2));
	outline: 10px solid #fff;
    outline-offset: -10px;
}
/*.intro_box .second .inner:before {
    content: "";
    position: absolute;
    background: url(../images/bg_intro_inner.png) no-repeat 0 -97px;
    background-size: contain;
    top: 0;
    left: 50%;
	transform: translate(-50%, 0);
    width: 596px;
    height: 565px;
    z-index: -1;
}*/
.intro_box .second .inner:after {
	width: 100%;
    height: 400px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 300px, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 300px, transparent 100%);
    background: linear-gradient(to bottom, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 300px, transparent 100%);
    z-index: -2;
}
.intro_box .flex_box h2{
    color: #92bfee;
	text-shadow: 0px 0px 10px rgba(43, 66, 45, 0.05), 0px 0px 10px rgba(43, 66, 45, 0.05);
}
.intro_box .flex_box h2 br{
	display: inherit;
}
.intro_box .flex_box .inner h2{
    font-size: 36px;
    margin: 0 0 50px;
    padding: 30px 0 0;
	text-shadow:none;
    color: #202124;
    border-bottom: none;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.intro_box .flex_box .inner h2::before {
    width: 80px;
    height: 4px;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
    background: #004da9;
}
.intro_box .flex_box .inner h2.secondary:before,
.intro_box .flex_box .inner .inner h2.secondary:before{
	background-color: rgba(255, 255, 255, 0.6);
}
.intro_box .clearbox {
	display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
	align-items: flex-start;
	min-height:700px;
	margin-bottom:100px;
	position:relative;
}
.intro_box .clearbox.right {
    flex-direction: row-reverse;
}
.intro_box .clearbox:last-child {
	margin-bottom:120px;
}
.intro_box .image_wrap {
	position: absolute;
	top: 0;
    left:50%;
	transform: translate(-940px,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.3);
    outline-offset: -10px;
    z-index: 1;
}
.intro_box .image_wrap:after{
    content: '';
    display: block;
    position: absolute;
    bottom: -20px;
    left: -60px;
    width: 520px;
	height: 520px;
    background-color: #ffda2f;;
	z-index:-1;
}
.intro_box .right .image_wrap:after{
    left: auto;
	right:-60px;
}
@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 .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: 28px;
	font-weight: 600;
	line-height: 1.8;
	text-align: left;
	letter-spacing: 0.05em;
	padding: 0;
    margin: 0 0 35px;
	color: #fff;
	background:none;
	box-shadow:none;
    display: inline-block;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.02), 0px 0px 10px rgba(0, 0, 0, 0.02);
    filter: drop-shadow(5px 5px rgba(0, 0, 0, 0.02));
}
.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: 600;
	line-height: 46px;
    display: inline-block;
    padding: 2px 16px 6px 18px;
    margin-top: 10px;
	color: #fff;
    position: relative;
	background: rgba(0, 0, 0, 0.2);
}
.intro_box h3 span:first-child{
	margin-top: 0;
	margin-left:0;
}
.intro_box .clearbox h3:before,
.intro_box .clearbox h3:after{
	display:none;
}
.intro_box p {
	font-size: 18px;
	color: #fff;
    padding: 0 0 1.2em;
	text-shadow: 0px 0px 20px rgba(0, 0, 0, 0.03), 0px 0px 20px rgba(0, 0, 0, 0.03);
}
.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: #004da9;
	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: 600;
	color:#fff;
	line-height: 1.6;
	padding:10px 20px 10px 20px;
	background: #3ebbba;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
	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;
	display: table;
}
.intro_box :not(.second) .inner .btn a {
	min-width: 260px;
	color: #333;
	background:#fff;
}
.intro_box :not(.second) .inner .btn a:after {
	background: url(../images/arrow_more_g.svg) no-repeat top left;
	background-size: contain;
}
.intro_box .background_section {
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat bottom center;
    background-size: contain;
    bottom: 60px;
	left: 50%;
    transform: translate(-800px, 0);
    width: 510px;
    height: 885px;
	z-index:0;
	opacity:0.06;
}
.intro_box .background_section.right{
	left: auto;
	right: 50%;
    transform: translate(900px, 0);
}
@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 {
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.svg) no-repeat center top;
	background-size: contain;
    top:25px;
	left:50%;
	transform: translate(-50%,0);
    width: 120%;
    height: 800px;
	opacity:0.1;
    z-index: 0;
}
.intro_box:after{
    content: "";
    position: absolute;
    background:url(../images/bg_contents_menu.png) no-repeat center bottom;
	background-size: contain;
    bottom:0;
	right:10px;
    width: 50%;
	height:800px;
	opacity:1.0;
    z-index: -1;
}
/*.intro_box:after{
	width: 100%;
    height: 60px;
    background: -moz-linear-gradient(top, rgba(27, 54, 118, 0.5) 0, transparent 100%);
	background: -webkit-linear-gradient(top, rgba(27, 54, 118, 0.5) 0, transparent 100%);
	background: linear-gradient(to bottom, rgba(27, 54, 118, 0.5) 0, transparent 100%);
}*/
.intro_box .flex_box{
	min-width: inherit;
	margin: 0 auto 40px;
}
.intro_box .flex_box.second{
	margin: 0 auto 40px;
}
.intro_box .inner {
    width: 100%;
    padding: 0 15px;
}
.intro_box .second .inner {
	width: calc(100% - 30px);
	margin: auto;
    padding: 30px 20px 15px;
	border-top: 2px solid rgb(0 0 0 / 5%);
	border-bottom: 2px solid rgb(0 0 0 / 5%);
    filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
	outline: 6px solid #fff;
    outline-offset: -6px;
}
@media  print, screen and (max-width: 359px) {
.intro_box .second .inner {
	width: calc(100% - 20px);
    padding: 30px 15px 15px;
}
}
/*.intro_box .second .inner:before {
    background: url(../images/bg_intro_inner.png) no-repeat 0 -40px;
    background-size: contain;
    width: 240px;
    height: 400px;
    z-index: -1;
}*/
.intro_box .second .inner:after {
	width: 100%;
    height: 600px;
    background: -moz-linear-gradient(top, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 150px, transparent 100%);
    background: -webkit-linear-gradient(top, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 150px, transparent 100%);
    background: linear-gradient(to bottom, rgba(230, 236, 244, 1.0) 0, rgba(230, 236, 244, 1.0) 150px, transparent 100%);
}
.intro_box .flex_box h2,
.intro_box .second h2{
	margin: 0 15px 25px;
	text-shadow: 0px 0px 5px rgba(43, 66, 45, 0.05), 0px 0px 5px rgba(43, 66, 45, 0.05);
}
.intro_box .flex_box h2 br{
	display:none;
}
.intro_box .flex_box .inner h2{
    font-size: 20px;
    margin: 0 0 20px;
    padding: 16px 0 0;
}
.intro_box .flex_box .inner h2::before {
    width: 48px;
    height: 3px;
    top: 0;
}  
.intro_box .clearbox,
.intro_box .clearbox.right{
	display: block;
	min-height: inherit;
	margin-bottom: 30px;
}
.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: 120px;
}
.intro_box .text_wrap,
.intro_box .right .text_wrap{
	width:100%!important;
	padding: 25px 0 0;
}
.intro_box .column.text {
    padding: 15px 20px 15px;
}
.intro_box .clearbox h3 {
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.03em;
	padding: 0;
    margin: 0 0 15px;
    white-space: inherit;
}
.intro_box .clearbox h3.small {
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.03em;
}
.intro_box .clearbox h3.second {
    line-height: 1.5;
    letter-spacing: 0.03em;
    padding: 8px 14px 12px 14px;
    margin: 0 0 15px;
    white-space: inherit;
	background: rgba(0, 0, 0, 0.15);
}
.intro_box h3 span {
	font-size: 16px;
	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;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.03), 0px 0px 10px rgba(0, 0, 0, 0.03);
}
.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 :not(.second) .inner .btn a {
    display: block;
	min-width: inherit;
}
.intro_box .background_section,
.intro_box .background_section.right{
    content: "";
    position: absolute;
    background: url(../images/bg_intro.svg) no-repeat bottom right;
    background-size: contain;
    bottom: 40px;
    left: -10px;
    transform: none;
    width: 40%;
    height: 100%;
    opacity: 0.06;
}
}

/*=============================== regular ================================*/
.regular {
    overflow: hidden;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding:120px 0 100px;
    height: auto;
    clear: both;
    position: relative;
	background: -webkit-linear-gradient(top, rgba(242, 247, 251, 1.0) 0%, rgba(242, 247, 251, 1.0) 70%, #rgba(238, 244, 252, 1.0) 100%);
    background: linear-gradient(to bottom, rgba(242, 247, 251, 1.0) 0%, rgba(242, 247, 251, 1.0) 70%, rgba(238, 244, 252, 1.0) 100%);
    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 {
	height: 300px;
    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%);
}
.regular:after {
    content: "";
    position: absolute;
    background: url(../images/bg_regular_inner.svg) no-repeat center top;
    background-size: contain;
    top: 80px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 1920px;
	height:1193px;
    opacity: 1.0;
    z-index: -1;
}
.regular02:after{
    background: url(../images/bg_regular_inner_g.svg) no-repeat center top;
    background-size: contain;
    opacity:0.8;
}
.regular03:after{
	background: url(../images/bg_regular_inner.svg) no-repeat center top;
	background-size: contain;
    opacity: 0.1;
}
.regular04:after{
	background: url(../images/bg_regular_inner.svg) no-repeat center top;
	background-size: contain;
    opacity: 0.2;
}
#contents .regular{
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
/*==regular02白色==*/
.regular02{
	background:#fff;
}
/*==regular03ブルー・背景に画像（インナー部分がホワイト）==*/
.regular03{
    background: url(../images/bg_regular.png) , linear-gradient(to bottom, rgba(31,76,137,1.0) 0, rgba(14,54,109,1.0) 100%);
    background: url(../images/bg_regular.png), -webkit-linear-gradient(top, rgba(31,76,137,1.0) 0, rgba(14,54,109,1.0) 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);
	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 center bottom;
    background-size: contain;
    bottom:-20px;
    left: 0;
    width: 100%;
    height: 1000px;
    z-index: -1;
}
.regular03 > .inner.transparent:before {
	display:none;
}
/*==regular04グリーン・背景に画像（インナー部分がホワイト）==*/
.regular04 {
    background: #13b0a3 url(../images/bg_regular.png) no-repeat center top;
    background-size: auto;
}
.regular04 > .inner {
    position: relative;
    width: 1200px;
    padding: 60px 40px 60px;
    box-sizing: border-box;
    background: rgba(255,255,255,1.0);
	/*background: rgba(255,255,255,1.0) url(../images/bg_contents.svg) no-repeat right 25px bottom 25px;
    background-size: 40% auto;*/
	filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.3));
}
.regular04 > .inner.transparent {
    padding: 0;
	background:none;
	filter: none;
}
.regular04 > .inner:before {
    content: "";
    position: absolute;
    background: url(../images/bg_inner02.png) no-repeat center bottom;
    background-size: contain;
    bottom:-20px;
    left: 0;
    width: 100%;
    height: 1000px;
    z-index: -1;
}
.regular04 > .inner.transparent:before {
	display:none;
}

/*.regular h2 {
    border-bottom: 1px solid #cbd2dc;
}
.regular03 h2,
.regular04 h2{
    border-bottom: 1px solid rgba(233, 238, 242, 0.8);
}*/
/*.regular h2 {
    padding: 0;
    border-bottom:none;
	z-index: 0;
}*/
.regular h2.secondary{
    padding: 0 0 40px;
}
.regular03 h2.secondary:before,
.regular04 h2.secondary:before{
	background-color: rgba(255, 255, 255, 0.6);
}
/*.regular h2:before {
	display:none;
}*/
.regular03 h2,
.regular04 h2{
    color: #fff;
	text-shadow:none;
}
.regular03 h2:before{
    background: url(../images/bg_h2_second.svg) no-repeat 0 bottom;
}
.regular04 h2:before{
    background: url(../images/bg_h2_second.svg) no-repeat 0 bottom;
}
.regular .clearfix:last-child .text_wrap:last-child{
    margin: 0;
}
.regular img.floatL, .regular img.floatR {
	outline: 7px solid rgba(255, 255, 255, 0.3);
    outline-offset: -7px;
}
.regular .background_section {
    content: "";
    position: absolute;
    background: url(../images/bg_regular.svg) no-repeat top center;
    background-size: contain;
    bottom: 60px;
	right: 40px;
    width: 428px;
    height: 420px;
    z-index: -1;
    opacity: 0.02;
}
.regular .background_section.right{
	left: 50%;
	right: auto;
    transform: translate(-900px, 0);
}
.regular03 .background_section,
.regular04 .background_section{
    opacity: 0.08;
}
@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: 60px;
	background: -moz-linear-gradient(bottom, rgba(0, 0, 0,0.02) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(0, 0, 0,0.02) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(0, 0, 0,0.02) 0%, transparent 100%);
}
/*.regular03:before,
.regular04: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;
}*/
.regular03:before,
.regular04:before{
	height: 60px;
    background: -moz-linear-gradient(bottom, rgba(255, 255, 255,0.3) 0%, transparent 100%);
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255,0.3) 0%, transparent 100%);
    background: linear-gradient(to top, rgba(255, 255, 255,0.3) 0%, transparent 100%);
}
.regular:after {
    content: "";
    position: absolute;
     background: url(../images/bg_regular_inner.svg) no-repeat center top;
	background-size: contain;
    top:25px;
    width: 120%;
    height: 800px;
}
.regular02:after{
    background: url(../images/bg_regular_inner_g.svg) no-repeat center top;
    background-size: contain;
}
.regular03:after{
    background: url(../images/bg_regular_inner.svg) no-repeat center top;
	background-size: contain;
}
.regular04:after{
    background: url(../images/bg_regular_inner.svg) no-repeat center top;
	background-size: contain;
}
.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 > .inner:before {
    background: url(../images/bg_inner02.png) no-repeat 0 0;
    background-size: contain;
    top: 10px;
    width: 100%;
    height: 100%;
}
/*.regular h2 {
    padding: 0;
}*/
.regular03 h2 {
    color: #fff;
	background-size: 14px auto;
}
/*==regular04グリーン・背景に画像（インナー部分がホワイト）==*/
.regular04{
    background-size:100% auto;
}
.regular04 > .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) {
.regular04 > .inner {
	width: calc(100% - 20px);
	filter: drop-shadow(3px 3px 0 rgba(255, 255, 255, 0.3));
}
}
.regular04 > .inner.transparent {
    width: 100%;
    padding: 0 15px;
	filter: none;
}
.regular04 > .inner:before {
    background: url(../images/bg_inner02.png) no-repeat 0 0;
    background-size: contain;
    top: 10px;
    width: 100%;
    height: 100%;
}
/*.regular h2 {
    padding: 0;
}*/
.regular04 h2 {
    color: #fff;
	background-size: 14px auto;
}
.regular h2.secondary{
    padding: 0 0 15px;
}
.regular03 h2:before,
.regular04 h2:before{
    background-size: 100% auto;
    width: 25px;
    height: 25px;
}
.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;
}
.regular .background_section,
.regular .background_section.right{
    content: "";
    position: absolute;
    background: url(../images/bg_regular.svg) no-repeat bottom center;
    background-size: contain;
    bottom: 20px;
	left: 50%;
	right:auto;
    transform: translate(-20%, 0);
    width: 70%;
    height: 50%;
}
}

/*================================column===============================*/
.column {
	width: 100%;
    clear: both;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    align-items: flex-start;
    gap: 40px;
}
.column.space {
	padding: 50px 40px;
	box-sizing: border-box;
	background: url(../images/bg_column_space.svg) ,-moz-linear-gradient(bottom left, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
    background: url(../images/bg_column_space.svg) , -ms-linear-gradient(bottom, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
    background: url(../images/bg_column_space.svg) , -moz-linear-gradient(bottom, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
    background: url(../images/bg_column_space.svg), -webkit-linear-gradient(bottom, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
    background: url(../images/bg_column_space.svg) , linear-gradient(bottom, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
	background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
	outline: 7px solid rgba(255, 255, 255, 0.4);
    outline-offset: -7px;
	filter: drop-shadow(7px 7px 0 rgba(255, 255, 255, 0.4));
}
.inner.second .column.space {
    padding: 40px;
}
.column.space:after {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
	background: rgba(255,255,255,0.2);
    z-index: -1;
}
.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: 540px;
}
.inner.second .column .column2.scale_wrap img {
    max-width: 490px;
}
.column.space h3:after {
    background: #000;
    opacity: 0.04;
}
.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: 20px;
}
.column.space,
.inner.second .column.space{
	padding: 20px 15px;
	background-size: 110% auto;
	outline: 5px solid rgba(255, 255, 255, 0.4);
    outline-offset: -5px;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.4));
}
.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,
.inner.second .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));
}
.column h3 {
	margin: 0 0 30px;
}
}

/*================================area01===============================*/
.area01 {
	margin:0 0 50px;
	padding: 0;
    background: linear-gradient(to bottom, #dae5f2 0, #dae5f2 40%, #eef5fe 100%);
    background: -webkit-linear-gradient(top, #dae5f2 0, #dae5f2 40%, #eef5fe 100%);
    box-shadow: 10px 10px rgba(230, 236, 244, 0.3);
    border: 1px solid #d9e0ea;
	outline: 8px solid rgba(255, 255, 255, 0.8);
	outline-offset: -24px;
	position:relative;
}
.area01 .inner{
    width: auto!important;
    padding:60px 75px 50px;
    margin: 0;
	text-align:left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
    justify-content: center;
}
.area01 h4 {
    font-size: 30px;
	width:100%;
	margin: 0 auto 24px;
	border-bottom:4px solid rgba(255,255,255,0.7);
	border-image: none;
    text-align: center;
}
.area01 h4 span{
    margin: 0 0 0 15px;
}
.area01 h4:after {
    border-bottom: solid 4px #3ebbba;
    left: 50%;
    transform: translateX(-50%);
}
.area01 p.tel {
    margin: 0 40px 0 0;
}
.area01 p.tel a {
	font-family: "Oswald", sans-serif;
    background: url(../images/icon_tel_second.svg) no-repeat 0 center;
    background-size: auto 100%;
    padding: 10px 5px 10px 92px;
	font-size:56px;
    color: #1f4c89;
    font-weight:500;
	text-decoration:none;
	letter-spacing:0.02em;
	display:block;
	line-height:1.0;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.3), 0px 0px 10px rgba(255, 255, 255, 0.3);
}
.area01 p.tel span{
	display:block;
	font-size: 16px;
	padding-top:12px;
	padding-left:90px;
	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;
    font-weight: 400;
    padding: 10px 0 10px;
    margin: 0 30px;
}
.area01 p.adr em{
	font-family: "Albert Sans", serif;
	font-size: 30px;
	font-weight: 600;
    color: #008d68;
	letter-spacing:0;
	line-height: 1.5;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.3), 0px 0px 10px rgba(255, 255, 255, 0.3);
}
.area01 p.adr .postal-code{
    display:block;
	margin-right:10px;
}
.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: #fff;
	font-size:21px;
	background:#1f4c89;
	text-decoration: none!important;
	font-weight:600;
	letter-spacing: 0.05em;
	display:block;
	padding:13px 20px 15px;
	border-radius: 5px; 
	line-height: 1.6;
	box-shadow: none;
	position:relative;
}
.area01 .btn_more a:after {
    content: "";
    position: absolute;
    background: url(../images/arrow_w.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(230, 236, 244, 0.3);
	outline: 4px solid rgba(255, 255, 255, 0.8);
    outline-offset: -8px;
}
@media  print, screen and (max-width: 320px) {
.area01 {
	outline: 3px solid rgba(255, 255, 255, 0.8);
    outline-offset: -6px;
}
}
.area01 .inner{
    padding: 30px 20px 25px!important;
}
@media  print, screen and (max-width: 320px) {
.area01 .inner{
    padding: 30px 15px 25px!important;
}
}
.area01 h4 {
    font-size: 20px;
	margin: 0 auto 18px;
	border-bottom:3px solid rgba(255,255,255,0.8);
}
.area01 h4 span{
    margin: 0;
	display:block;
}
.area01 h4:after {
    border-bottom: solid 3px #3ebbba;
}
.area01 p {
    margin: 0 10px 10px;
    line-height: 1.6;
}
.area01 p.tel {
	margin: 0;
	text-align:center;
	display: block;
}
.area01 p.tel a {
    background-size: auto 100%;
    padding: 6px 0px 6px 60px;
	font-size: 36px;
	display: inline-block;
	letter-spacing:0;
	line-height: 1.0;
	white-space:nowrap;
}
@media  print, screen and (max-width: 320px) {
.area01 p.tel a {
    background-size: auto 90%;
	padding: 6px 0px 6px 52px;
	font-size: 34px;
}
}
.area01 p.tel span {
    display: block;
    font-size: 14px;
    padding:6px 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: 16px;
    padding: 0 0 10px;
    margin: 0;
	text-align:center;
}
.area01 p.adr em {
    font-size: 22px;
    line-height: 1.0;
	letter-spacing: 0;
	line-height: 1.6;
}
@media  print, screen and (max-width: 320px) {
.area01 p.adr em {
    font-size: 20px;
}
}
.area01 p.adr .postal-code{
	margin-right:8px;
}
.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: 600;
	letter-spacing: 0.05em;
}
@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_w.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:rgba(218, 229, 242, 0.4);
	/*background:rgba(233, 245, 243, 0.6);*/
	/*background:#edf0f6 url(../images/bg_area02.svg) no-repeat bottom left;
	background-size: auto;*/
	box-sizing:border-box;
	outline: 5px solid rgba(204, 219, 237, 0.5);
    outline-offset: -5px;
	box-shadow: 10px 10px 0 0 rgba(0, 0, 0, 0.03);
	/*box-shadow: 10px 10px rgba(0,0,0,0.02);
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.07));*/
}
.area02 .inner{
    width: auto!important;
    padding: 45px 60px 30px;
    margin: 0;
}
.area02 h4:after {
    border-bottom: solid 4px #3ebbba;
}
@media  print, screen and (max-width: 767px) {
.area02 {
    margin: 0 0 25px;
	outline: 3px solid rgba(204, 219, 237, 0.5);
    outline-offset: -3px;
	/*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));*/
    box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 0.03);
}
.area02 .inner{
    padding: 23px 20px 15px!important;
	display: inherit;
	position:relative;
}
.area02 h4:after {
    border-bottom: solid 3px #3ebbba;
}
}

/*================================area_important===============================*/
.area_important{
	width:auto;
	margin:0 10px 15px;
	padding:16px 18px 5px;
	text-align: center;
	box-sizing: border-box;
	/*background: linear-gradient(to bottom, rgba(0, 177, 136, 0.6) 0, rgba(52, 169, 231, 0.6) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 177, 136, 0.6) 0, rgba(52, 169, 231, 0.6) 100%);
	background: linear-gradient(to bottom, rgba(0, 177, 136, 0.8) 0, rgba(0, 204, 163, 0.8) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 177, 136, 0.8) 0, rgba(0, 204, 163, 0.8) 100%);*/
    background: -webkit-linear-gradient(left, #4277be 0, #76dedd 100%);
    background: linear-gradient(left, #4277be 0, #76dedd 100%);
	outline: 5px solid rgba(255, 255, 255, 0.2);
    outline-offset: -5px;
	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;
    border-bottom: none;
}
.area_important h4:after {
    display: none;
}
.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;
	font-weight: 400;
	line-height: 1.6;
	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;
	line-height: 1.8;
	}
}

/*================================ index menu ==============================*/
.index_menu{
	width:100%;
	box-sizing: border-box;
	display:block;
	margin-top:0px;
	text-align:center;
	}
.menu_column4 .index_menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    z-index: 10;
}
.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;
    color: #1f4c89!important;
	letter-spacing: 0.05em;
	font-size: 22px;
	font-weight: 700;
	box-shadow: 0 3px 0 rgba(0,0,0,0.06);
	background:none;
	position:relative;
	margin: 0 0 16px;
	padding: 18px 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.03em;
	font-size: 20px;
}
}
main .index_menu h2::before {
    content: '';
    position: absolute;
	top: auto;
    bottom: -3px;
    display: inline-block;
    width: 30%;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #3ebbba;
	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: 16px;
	letter-spacing: 0.05em;
	margin:4px 0 0;
	display:block;
}
.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: #00b6b5!important;
	font-size:17px;
	letter-spacing: 0.05em;
	padding:0 0 6px!important;
	line-height: 1.6;
	font-weight: 700;
	}
.index_menu .inner_text p.catch strong{
	font-size: 17px;
	font-weight: 700;
    text-shadow: 0px 0px 10px rgba(255,255,255, 0.8), 0px 0px 10px rgba(255,255,255, 0.8);
	}
.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;
	}
.menu_column4 .index_menu{
    gap:30px;
    padding: 80px;
    margin-top: -20px;
    box-sizing: inherit;
    position: relative;
    background: linear-gradient(to bottom, rgba(242,246,251,0.8) 40%, rgba(242,246,251,0.3) 100%);
    background: -webkit-linear-gradient(top, rgba(242,246,251,0.8) 40%, rgba(242,246,251,0.3) 100%);
}
.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: 38px;
	font-weight: 700;
	letter-spacing: 0.08em;
    line-height: 1.5;
	padding: 20px 0 20px;
    margin-bottom: 25px;
	box-shadow: 0 4px 0 rgba(0,0,0,0.08);
	}
main .index_menu h2::before {
    bottom: -4px;
    width: 160px;
    height: 4px;
}
.index_menu h2 .txt_small {
    font-size: 25px;
	letter-spacing: 0.08em;
	margin:0 0 12px;
}
.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:25px;
	letter-spacing: 0.07em;
	padding:0 0 10px!important;
	line-height: 1.6;
	font-weight: 700;
	text-align:center;
	}
.index_menu .inner_text p.catch strong{
	font-size: 25px;
	}
.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:25px;
	position:relative;
	z-index:1;
	/*filter: drop-shadow(5px 5px 0 rgba(255,255,255,0.4));*/
	}
.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 90%;
	}
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:before{
    content: "";
    position: absolute;
    background: url(../images/bg_index_menu_full.png) no-repeat 0 0;
    background-size: contain;
    bottom: 0;
    left: 0;
    width: 70%;
    height: 100%;
    z-index: 1;
	animation: fadeIn 1.5s ease 0s 1 normal !important;
	-webkit-animation: fadeIn 1.5s ease 0s 1 normal !important;
	}
.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.4);
    outline-offset: -6px;
	z-index: 2;
	}
.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: Antonio, sans-serif;
    font-size: 16px;
    color: #fff;
	font-weight:500;
    background: #3ebbba;
    position: absolute;
    top: -20px;
    left: -8px;
    line-height: 32px;
	letter-spacing: 0.05em;
	padding: 0 20px 1px;
    z-index: 11;
	filter: drop-shadow(2px 2px 0 rgba(40,41,96,0.1));
}
.index_menu_full_wrap .heading.jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
	font-weight:600;
}
.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,
.index_menu_half_wrap .number,
#recruit .column_list li .number {
	width:56px;
	height:56px;
    position: absolute;
    top: -10px;
    left: -8px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #3ebbba;
	border-radius:50%;
    font-family: Antonio, sans-serif;
    color: #ffda2f;
    font-weight:600;
    font-size: 32px;
    line-height: 1.0;
	letter-spacing: 0;
    padding: 0 1px 6px 0;
}
.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 100px;
	padding: 0px;
	box-sizing: border-box;
	position:relative;
	/*filter: drop-shadow(0 0 30px rgba(255,255,255,0.6));*/
	}
.index_menu_full_wrap:last-child{
	margin:0 0 120px;
	}
.index_menu_full_wrap a{
	background:rgba(255,255,255,0);
	display:flex;
	padding:0;
	}
.index_menu_full_wrap .inner_text{
	top: 50px;
	width: 620px;
    padding: 36px 96px 36px 64px;
    margin-left: -20px;
	box-sizing:border-box;
	text-align: left;
	background:#fff url(../images/bg_inner_text.svg) no-repeat left 52px center;
    background-size: 78% auto;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
    justify-content: center;
	border-radius: 0 30px 30px 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: 30px;
	bottom: 50%;
    margin-bottom: -24px;
    width: 24px;
    height: 48px;
}
main .index_menu h2 img {
    width: auto;
	height:auto;
}
.index_menu_full_wrap .inner_photo {
    overflow: hidden;
    width:600px;
    height:400px;
	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.4);
    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 .inner_photo:before,
.index_menu_full_wrap a:hover .inner_photo:before{
    content: "";
    position: absolute;
    background: url(../images/bg_index_menu_full.png) no-repeat 0 0;
    background-size: contain;
    bottom: 0;
    left: 0;
    width: 70%;
    height: 100%;
    z-index: 1;
	animation: fadeIn 1.5s ease 0s 1 normal !important;
	-webkit-animation: fadeIn 1.5s ease 0s 1 normal !important;
	}
.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:90px;
    font-size: 20px;
    top: 30px;
    left: 520px;
    line-height: 44px;
	letter-spacing: 0.05em;
	padding: 0 30px;
	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.jp {
    font-size: 20px;
}
.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:100px;
	height:100px;
    top: -30px;
    left: -30px;
	font-size: 60px;
	box-sizing:border-box;
    padding: 0 4px 10px 0;
}
.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: 0;
	box-sizing: border-box;
	margin:0 0 20px;
	position:relative;
	}
.menu_column4 .index_menu_wrap{
    width: calc((100% - 10px) / 2);
    margin:0;
    background: #fff;
    box-shadow: 4px 4px rgba(230, 236, 244, 0.4);
	}
.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));
	}
.menu_column4 .index_menu_wrap a{
    background:url("../images/bg_index_menu_column4.png") repeat 0 0;
    height: 100%;
    filter: none;
	}
.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;
	/*background: #fff url(../images/bg_inner_text.svg) no-repeat center center;
    background-size: auto 86%;*/
	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;
}
}
.menu_column4 .index_menu_wrap .inner_text {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    box-sizing: border-box;
	}
 @media  print, screen and (max-width: 360px) {
.menu_column4 .index_menu_wrap .inner_text {
    height: 74px;
	}
}
.menu_column4 .index_menu_wrap .inner_text:before {
    content: '';
    display: block;
    position: absolute;
    top: -20px;
    left: 0;
    width: 8px;
    height: 70%;
    background-color: #ffe907;
    z-index: 0;
}
@media  print, screen and (max-width: 320px) {
.menu_column4 .index_menu_wrap .inner_text:before {
    width: 6px;
}
}
.menu_column4 .index_menu_wrap .inner_text:after {
    display: none;
	}
.index_menu_wrap .inner_photo img{
	width:80%;
	padding:8px 8px;
	}
.menu_column4 .index_menu_wrap .inner_photo img{
    width:100%;
    padding:0;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    outline: 5px solid rgba(0, 0, 0, 0.1);
    outline-offset: -5px;
	}
.index_menu_wrap .inner_text .heading {
    width: auto;
    font-family: Antonio, sans-serif;
    font-size: 14px;
    color: #fff;
	font-weight:500;
    background: #3ebbba;
    position: absolute;
    top: -20px;
    left: -8px;
    line-height: 30px;
	letter-spacing: 0.05em;
    text-align: center;
	padding: 0 20px;
    z-index: 11;
	filter: drop-shadow(2px 2px 0 rgba(40,41,96,0.1));
}
.index_menu_wrap .inner_text .heading.jp {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
	font-weight:600;
}
main .index_menu .index_menu_wrap h2 {
    padding: 10px 0 6px;
    margin: 0;
	background:none;
    color: #1f4c89;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.05em;
    border-bottom: none;
	}
@media  print, screen and (max-width: 359px) {
main .index_menu .index_menu_wrap h2 {
	font-size: 18px;
	}
}
.menu_column4 .index_menu .index_menu_wrap h2 {
    color: #004da9;
	font-size: 16px;
    line-height: 1.4;
    padding: 0;
	}
@media  print, screen and (max-width: 360px) {
.menu_column4 .index_menu .index_menu_wrap h2 {
	font-size: 15px;
}
}
@media  print, screen and (max-width: 320px) {
.menu_column4 .index_menu .index_menu_wrap h2 {
	font-size: 14.6px;
    letter-spacing: 0.04em;
}
}
/*===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);
	}
.menu_column4 .index_menu_wrap{
    width: calc((100% - 30px) / 2);
	margin:0;
    background: #fff;
    /*box-shadow: 10px 10px rgba(230, 236, 244, 1.0);*/
    box-shadow: 10px 10px rgba(0, 0, 0, 0.05);
	}
.index_menu_wrap a{
	padding:15px 0 0;
	border-radius: 0;
	filter: drop-shadow(10px 10px 0 rgba(180, 187, 194, 0.1));
	}
.index_menu_wrap.second a{
	padding:10px 0 0;
	border-radius: 0;
	}
.menu_column4 .index_menu_wrap a{
    height: 100%;
    filter: none;
	}
.index_menu_wrap .inner_text{
	width:auto;
	padding:30px 74px 25px 60px;
	margin-top:15px;
    background: #fff;
	/*background: #fff url(../images/bg_inner_text.svg) no-repeat left -5px bottom -5px;
    background-size: auto 82%;*/
	}
.index_menu_wrap.second .inner_text{
	padding: 25px 60px 15px 40px;
	}
.index_menu_wrap .inner_text:after {
    right: 28px;
    margin-top: -18px;
    width: 18px;
    height: 36px;
}
.index_menu_wrap.second .inner_text:after {
    right: 23px;
    margin-top: -15px;
    width: 15px;
    height: 30px;
}
.menu_column4 .index_menu_wrap .inner_text{
    height: auto;
    padding:28px 70px 28px 60px;
	}
.menu_column4 .index_menu_wrap .inner_text:before {
    top: -30px;
    width: 12px;
    height: 100px;
}
.menu_column4 .index_menu_wrap .inner_text:after {
    display: inherit;
    content: "";
    position: absolute;
    background: url(../images/arrow_inner_text.svg) no-repeat center right;
    background-size: contain;
    top: 50%;
    right: 25px;
    margin-top: -15px;
    width: 15px;
    height: 30px;
}
.index_menu_wrap .inner_photo {
    overflow: hidden;
    width:400px;
    height:280px;
	margin:0 auto;
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.05));
}
.index_menu_wrap .inner_photo img {
	transition: 0.5s ;
	width:400px;
	height:280px;
	padding: 0;
}
.menu_column4 .index_menu_wrap .inner_photo img{
    aspect-ratio: auto;
    outline: 10px solid rgba(0, 0, 0, 0.05);
    outline-offset: -10px;
	}
.index_menu_wrap.second .inner_photo {
    overflow: hidden;
    width:360px;
    height:240px;
	margin:0 auto;
}
.index_menu_wrap.second .inner_photo img {
	transition: 0.5s ;
	width:360px;
	height:240px;
	padding: 0;
}
.index_menu_wrap a:hover .inner_photo img{
	transform: scale(1.1);
	}
.index_menu_wrap .inner_text .heading {
    width: auto;
	min-width:70px;
    font-size: 18px;
    top: -30px;
    left: -15px;
    line-height: 41px;
	letter-spacing: 0.05em;
	padding: 0 30px 2px;
    box-sizing: border-box;
	filter: drop-shadow(5px 5px 0 rgba(40,41,96,0.1));
}
.index_menu_wrap .inner_text .heading.jp {
    font-size: 19px;
}
main .index_menu .index_menu_wrap h2 {
    padding: 5px 0 8px;
    margin: 0;
	right:auto;
	font-size: 27px;
	letter-spacing: 0.05em;
	}
.menu_column4 .index_menu .index_menu_wrap h2 {
    padding: 0;
    font-size: 25px;
    line-height: 1.5;
}
.index_menu_wrap a:hover{
	opacity:0.7;
	background:url("../images/bg_index_menu2.png") repeat 0 0;
	transition-duration: 0.7s;
	}
.menu_column4 .index_menu_wrap a:hover{
    background:url("../images/bg_index_menu_column4.png") repeat 0 0;
	}
}

/*================================ 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:#f2f6fb;
	}
#mailform table th,
#mailform table td {
	width:100%;
	display:block;
	background:none;
	border:none;
	}
#mailform table th{
	font-size:15px;
	font-weight: 700;
	padding:12px 15px 3px;
	box-sizing: border-box;
    color: #1a2636;
	}
#mailform table th span {
    display: inline;
	padding-left:7px;
	font-size: 13px;
}
#mailform table td{
	padding:0 15px 10px;
	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(1.2);
	transform: scale(1.2);
	margin:6px 10px 8px 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 0;
	}
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: 14px 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 #d9e0ea;
    border-bottom: 1px solid #d9e0ea;
	background:none;
	}
#mailform table th,
#mailform table td {
	font-size:15px;
	display:table-cell;
	border-bottom: 1px solid #d9e0ea;
	padding:15px 30px;
	}
#mailform table td {
	background: #fff;
	}
#mailform table th {
	width: 24%;
	background:#f3f8ff;
	font-size:17px;
	font-weight: 600;
	color: #1a2636;
	padding:20px 25px;
	}
#mailform table th span {
    font-size:1.0rem;
}
#mailform table th .important {
	padding-left:10px;
	font-size:0.9rem;
	font-weight: 500;
	}
main input[type="radio"] , main input[type="checkbox"]{
	-webkit-transform: scale(1.3);
	transform: scale(1.3);
	margin:8px 12px 8px 0;
	}
#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: 500px;
	margin: 0;
}
main input, main textarea, main select {
    font: 16px Arial;
}
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:4px 0 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 br{
	display:none;
}
.thanks p.catch strong{
	font-size:18px;
	font-weight: 700;
	letter-spacing: 0.05em;
    color: #004da9;
	line-height: 1.6;
	text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.2), 0px 0px 10px rgba(255, 255, 255, 0.2);
}
@media  print, screen and (max-width: 320px) {
.thanks p.catch strong{
    font-size: 16px;
}
}
/*===PC===*/
@media  print, screen and (min-width: 768px) {
.thanks {
	padding:0;
	box-sizing: border-box;
	min-height:500px;
	text-align:center;
}
.thanks p{
	line-height: 2.0;
}
.thanks p br{
	display: inherit;
}
.thanks p.catch {
	margin-bottom:30px;
	line-height: 1.0;
}
.thanks p.catch strong{
	font-weight: 700;
    font-size: 34px;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
}

/*================================ faq ===============================*/
main .faq {
	padding:0;
	box-sizing: border-box;
	}
main .faq dl dt {
	background: url(../images/icon_q.svg) no-repeat left top 3px;
	background-size:32px auto;
	margin: 0 0 12px;
	padding:2px 0 2px 45px;
    color: #1f4c89;
	font-weight:700;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1.8;
	}
main .faq dl dd {
	background: url(../images/icon_a.svg) no-repeat left top 2px;
	background-size:33px auto;
	margin: 0 0 20px;
	padding-left: 40px;
	border-bottom:1px dotted #bbb;
	padding-bottom: 25px;
	color: #14202e;
	font-weight:400;
	font-size: 18px;
	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 #cdd6e4;
	}
.sitemap_box dt a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 14px 30px 14px 30px;
	box-sizing: border-box;
	background: #f0f5fc url("../images/arrow_c.svg") no-repeat center right 20px;
	background-size:auto 10px;
    color: #1f4c89;
	font-weight: 700;
	letter-spacing: 0.05em;
	position:relative;
	}
.sitemap_box dt a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 12px;
	bottom: auto;
	display: inline-block;
	width: 3px;
	height: 60%;
	transform: translateY(-50%);
	background: #3ebbba;
	animation: none !important;
	-webkit-animation: none !important;
    }
.sitemap_box dt {
	width:100%;
	font-size: 16px;
	color: #1f4c89;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5;
	}
.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.05em;
	line-height: 1.5;
	}
.sitemap_box  ul{
	display:flex;
	flex-wrap:wrap;
    list-style: none;
	}
.sitemap_box  li{
	width:100%;
	border-bottom:1px dotted #b5c2dc;
	}
.sitemap_box  li:last-child{
	border-bottom:none;
	}
.sitemap_box  li a{
	display:block;
	outline-style:none;
	text-decoration: none;
	padding: 12px 32px 12px 20px;
	box-sizing: border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 20px;
	background-size:auto 10px;
    color: #1a2636;
	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: 1000px;
}
.sitemap_box dl{
	margin:0 0 25px;
	}
.sitemap_box dt a{
    padding: 18px 25px 18px 42px;
	background-position:center right 32px;
	background-size: auto 14px;
	letter-spacing: 0.05em;
	}
.sitemap_box dt a:before {
	left: 20px;
	width: 3px;
	height: 60%;
	transform: translateY(-50%);
}
.sitemap_box dt {
	font-size: 21px;
}
.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 6px;
}
.sitemap_box  li:last-child{
	border-bottom:1px dotted #b5c2dc;
}
.sitemap_box li a {
	font-size: 18px;
	padding: 11px 14px 14px;
    background: url(../images/arrow_c.svg) no-repeat center right 12px;
    background-size: auto 14px;
	line-height: 1.6;
}
.sitemap_box li a .small{
	font-size: 15px;
}
.sitemap_box dl dt a:hover{
    color: #1f4c89;;
	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: #92bfee
}
.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: -webkit-linear-gradient(bottom, #2c72c7 0%, #0f57ae 50%, #2c72c7 100%);
    background: linear-gradient(to top, #2c72c7 0%, #0f57ae 50%, #2c72c7 100%);*/
    background: #1f4c89;
	padding:15px 0;
	z-index: 12;
	position:relative;
	}
/*.contents_head_navi:before {
    width: 100%;
    height: 5px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
	}
.contents_head_navi:after {
    width: 100%;
    height: 5px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
    background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(bottom rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to top, rgba(0, 0, 0, 0.08) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
	}*/
.contents_head_navi ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
	padding:0 15px;
	box-sizing:border-box;
	margin:0 auto;
    gap: 8px;
	}
.contents_head_navi li,
.contents_head_navi ul.row4 li{
	width:100%;
	margin:0!important;
	}
.contents_head_navi li a {
	width:100%;
	display: block;
	padding: 12px 18px 12px 18px;
	box-sizing:border-box;
	background:#1f4c89 url(../images/arrow_y.svg) no-repeat center right 18px;
	background-size:auto 12px;
    color: #fff;
	outline: 2px solid rgba(255, 255, 255, 0.2);
    outline-offset: -2px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing:0.05em;
	text-decoration: none;
	position:relative;
	filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.05));
	}
.contents_head_navi ul.row4 li a {
	padding: 11px 15px 12px 15px;
	font-size: 14px;
	letter-spacing:0.03em;
	}
.contents_head_navi li.act a {
	color: #fff;
	background:#3ebbba;
	outline: 2px solid #3ebbba;
    outline-offset: -2px;
    background: #3ebbba url(../images/arrow_w.svg) no-repeat center right 18px;
	background-size:auto 12px;
    text-shadow: 0px 0px 8px rgba(255, 255, 255, 0.2), 0px 0px 8px rgba(255, 255, 255, 0.2);
	}
.contents_head_navi li a:hover {
	color: #fff;
	outline: 2px solid #3ebbba;
    outline-offset: -2px;
	background: #3ebbba url(../images/arrow_w.svg) no-repeat center right 18px;
	background-size:auto 12px;
	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) {
.contents_head_navi {
	padding:30px 0;
	}
/*.contents_head_navi:before {
    height: 10px;
	}
.contents_head_navi:after {
    height: 10px;
	}*/
.contents_head_navi ul {
	width:1100px;
	padding:0;
	gap: 24px;
	}
.contents_head_navi ul.row4{
	gap: 18px;
	}
.contents_head_navi li {
	width: calc((100% - 24px) / 2);
	font-size:18px;
	}
.contents_head_navi ul.row4 li {
	width: calc((100% - 54px) / 4);
	font-size:18px;
	}
.contents_head_navi li a {
	font-size: 19px;
    font-weight: 600;
	padding: 16px 20px 16px 20px;
    background:#1f4c89 url(../images/arrow_y.svg) no-repeat center right 24px;
	background-size:auto 18px;
    outline: 4px solid rgba(255, 255, 255, 0.1);
    outline-offset: -4px;
	line-height: 1.7;
	letter-spacing:0.05em;
	text-align:center;
	filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, 0.03));
	}
.contents_head_navi ul.row4 li a {
	font-size: 16px;
	padding: 16px 18px 16px 18px;
	letter-spacing:0.05em;
	filter: drop-shadow(4px 4px 0 rgba(255, 255, 255, 0.2));
	}
.contents_head_navi li.act a {
    background:#3ebbba url(../images/arrow_w.svg) no-repeat center right 24px;
	background-size:auto 18px;
	outline: 4px solid #3ebbba;
    outline-offset: -4px;
    text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.4), 0px 0px 10px rgba(255, 255, 255, 0.4);
	}
.contents_head_navi li a:hover {
    background: #3ebbba url(../images/arrow_y.svg) no-repeat center right 24px;
	background-size:auto 18px;
	outline: 4px solid #3ebbba;
    outline-offset: -4px;
	opacity: 1.0;
	}
}

/*================================ contents_sub_navi ===============================*/
.contents_sub_navi {
	margin: 0 auto 30px;
	box-sizing: border-box;
	padding: 40px 15px 0;
	width:100%;
	}
#contents .inner .contents_sub_navi{
	padding: 0;
	}
.contents_sub_navi dt {
	border-top:1px solid #ccc;
	text-align:center;
	font-weight:600;
	color: #202124;
	font-size: 20px;
	padding: 24px 0 20px;
	box-sizing: border-box;
	margin:0 auto;
	letter-spacing:0.05em;
	}
.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: #333;
	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: 13px 34px 13px 20px;
	box-sizing:border-box;
	background:rgba(213, 237, 232, 0.3) url(../images/arrow_c.svg) no-repeat center right 16px;
	background-size:auto 14px;
	color: #333;
	outline: 2px solid rgba(195, 228, 221, 0.6);
    outline-offset: -2px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing:0.05em;
	text-decoration: none;
	}
.contents_sub_navi li a:hover {
	color: #fff;
	outline: 2px solid #67cbc3;
    outline-offset: -2px;
	background: #67cbc3 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 #3ebbba;
    outline-offset: -2px;
	background:#3ebbba 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:0 auto;
	padding: 100px 0 0;
	width:1200px;
	clear:both;
	}
#contents .inner .contents_sub_navi{
	padding: 0;
}
.contents_sub_navi.second {
	margin:30px auto 0;
	}
.contents_sub_navi dt {
	font-size: 34px;
	padding:60px 30px 50px;
	box-sizing: border-box;
	margin:0 auto;
	letter-spacing:0.05em;
	}
.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 80px;
	}
.contents_sub_navi.second dd{
	padding:0 0 30px;
	}
.contents_sub_navi ul {
	display:flex;
	flex-wrap: wrap;
	padding:0;
	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: 19px;
	padding: 20px 60px 20px 24px;
	background:rgba(213, 237, 232, 0.3) url(../images/arrow_c.svg) no-repeat center right 24px;
	background-size:9px 16px;
	outline: 2px solid rgba(195, 228, 221, 0.6);
    outline-offset: -2px;
	}
.contents_sub_navi li a:hover {
	background:#67cbc3 url(../images/arrow_w.svg) no-repeat center right 24px;
	background-size:9px 16px;
	outline: 2px solid #67cbc3;
    outline-offset: -2px;
	transition-duration: 0.7s;
	}
.contents_sub_navi li.act a {
	outline: 2px solid #3ebbba;
    outline-offset: -2px;
	background: #3ebbba 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:1000px;
	}
.intro_box .index_menu .wrap{
	margin:0 auto;
    width: 1100px;
}
.regular .inner .wrap{
    width:1000px;
}
.gmap{
	position:relative;
	width:100%;
	height:0;
	padding-top:50%;
	margin:0 0 40px;
	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:35px 50px 25px 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: 700;
    color: #1f4c89;
    letter-spacing: 0.05em;
	margin-bottom:10px;
}
.colbox .heading.en {
    font-family: Antonio, sans-serif;
	font-weight: 700;
	letter-spacing: 0.03em;
}
.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 20px 5px 20px;
	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: 600;
    letter-spacing: 0.05em;
	margin-bottom:8px;
}
.colbox .heading.en {
	font-weight: 600;
	letter-spacing: 0.05em;
}
.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.8;
	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{
		line-height: 1.6;
		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);
	height:auto;
    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 30px;
	background-size: 80% auto;
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.05));
}
ul.column_list.row2 li{
	width: calc((100% - 40px) / 2);
	padding:18px 18px 28px;
	background-size: auto 46%;
	filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, 0.05));
}
ul.column_list.row2 li:nth-child(2n) {
    margin: 0;
}
ul.column_list.row2.bg_middle li{
	background:rgba(255, 255, 255, 1.0) url(../images/bg_column_list_w.svg) no-repeat center center;
	background-size: 65% auto;
}
ul.column_list.row2.bg_none li{
	background-image:none;
}
ul.column_list li > a{
    padding: 0!important;
    background: none!important;
	text-decoration: none;
}
ul.column_list li .image_wrap {
	width: 100%;
	height: 300px;
	background:rgba(255, 255, 255, 1.0);
	outline: 5px solid rgba(0, 0, 0, 0.05);
	outline-offset: -5px;
	box-sizing:border-box;
	padding:0;
	margin-bottom:20px;
	display:flex;
	justify-content: center;
    align-items: center;
}
ul.column_list.row2 li .image_wrap {
	width: 100%;
	height: auto;
	padding:20px 0;
	background:rgba(255, 255, 255, 0.8);
}
ul.column_list.row2.bg_color li .image_wrap {
	background: linear-gradient(to right, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
    background: -webkit-linear-gradient(left, rgba(22, 179, 166, 0.3) 0px, rgba(0, 77, 169, 0.3) 100%);
}
#about ul.column_list.row2 li .image_wrap {
	height: 240px;
	padding:0;
}
ul.column_list li .image_wrap img{
	width: auto;
	max-width:90%;
	height:auto;
	max-height:90%;
}
ul.column_list.row2 li .image_wrap img{
	max-height:300px;
}
#about ul.column_list.row2 li .image_wrap img{
	max-width:300px;
	max-height:90%;
}
ul.column_list.row2.bg_color li .image_wrap img{
	outline: 8px solid rgba(255, 255, 255, 0.3);
    outline-offset: -8px;
}
ul.column_list li .text_wrap {
	width: 100%;
	height: auto;
	text-align:center;
    margin: 0;
}
ul.column_list.row2 li .text_wrap {
    padding: 0 10px;
    box-sizing: border-box;
}
ul.column_list.row2.bg_color li .text_wrap {
	width: calc(100% - 30px);
	margin: 0 auto;
}
ul.column_list li .text_wrap h3.second {
	font-size: 23px;
	font-weight: 600;
    margin: 0 0 20px;
}
ul.column_list li .text_wrap .heading {
    width: auto;
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    background: #3ebbba;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 10px 25px;
	box-sizing:border-box;
	margin-bottom:15px;
    z-index: 10;
	position:relative;
	display: inline-block;
    filter: drop-shadow(4px 4px 0 rgba(0, 0, 0, 0.05));
}
main ul.column_list li .text_wrap .name{
    color: #1f4c89;
    font-size: 26px;
    font-weight: 700;
    margin: 0 auto 15px;
    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 p {
    padding: 0 0 1em;
}
main ul.column_list li .btn {
    display: block;
	margin: 10px auto 0;
}
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: #f3f8ff
}
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.row2 li{
	width: 100%;
	padding:10px 15px 10px;
	background: rgba(255, 255, 255, 1.0) url(../images/bg_column_list.svg) no-repeat center bottom 15px;
    background-size: auto 50%;
	filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, 0.05));
}
ul.column_list.row2.bg_color li{
	padding:5px 5px 15px;
}
ul.column_list li a{
    display:flex;
	flex-wrap: wrap;
	justify-content: center;
    align-items: center;
	/*gap: 15px;*/
}
ul.column_list li .image_wrap {
	width: auto;
	min-width:80%;
	max-width:80%;
	height: auto;
	outline: 4px solid rgba(0, 0, 0, 0.05);
	outline-offset: -4px;
	margin:0 auto 15px;
	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.row2 li .image_wrap {
	height: auto;
	min-width:100%;
	max-width:100%;
	margin:0 auto 15px;
	padding:15px 0;
	aspect-ratio: auto;
}
ul.column_list.row2.bg_color li .image_wrap{
	height: auto;
	margin:0 auto 15px;
}
#about ul.column_list.row2 li .image_wrap {
	height: auto;
	aspect-ratio: 2 / 1;
	padding: 0;
}
ul.column_list li .image_wrap img{
	width: auto;
	max-width:90%;
	height:auto;
	max-height:90%;
}
ul.column_list.row2 li .image_wrap img{
	outline: 4px solid rgba(255, 255, 255, 0.3);
    outline-offset: -4px;
	max-height: auto;
}
#about ul.column_list.row2 li .image_wrap img{
	max-width:70%;
	max-height:90%;
}
ul.column_list.row2.bg_color li .image_wrap img{
	outline: 4px solid rgba(255, 255, 255, 0.3);
    outline-offset: -4px;
}
ul.column_list li .text_wrap {
	text-align:center;
}
ul.column_list.row2 li .text_wrap {
    padding: 0;
}
ul.column_list li .text_wrap h3.second {
	font-size: 17px;
	padding: 2px 0 2px 14px;
    margin: 0 0 10px;
}
ul.column_list li .text_wrap .heading {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding: 6px 20px 6px;
	margin-bottom:10px;
    filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.05));
}
main ul.column_list li .text_wrap .name{
    font-size: 20px;
    margin: 0 auto 10px;
    letter-spacing: 0.07em;
}
@media  print, screen and (max-width: 359px) {
main ul.column_list li .text_wrap .name{
    font-size: 18px;
}
}
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 p {
    font-size: 14px;
    padding: 0 0 0.8em;
    font-weight: 400;
}
main ul.column_list li .btn {
	margin: 5px auto 10px;
}
main ul.column_list li table {
    /*width: calc(100% - 20px);*/
    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;
}
}

/*======================フロー（矢印）=====================*/
.flow_arrow {
	margin-bottom:90px!important;
	position:relative;
}
.flow_arrow:after{
    content: "";
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    border-top: 30px solid rgba(0, 204, 163, 0.5) ;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
}
@media  print, screen and (max-width: 767px) {
.flow_arrow {
	margin-bottom:50px!important;
}
.flow_arrow:after{
    bottom: -35px;
    border-top: 20px solid rgba(0, 204, 163, 0.5) ;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
}
}

/*======================詳細リスト=====================*/
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;
}
}