@charset "UTF-8";

#wrapper{
    background: url(../images/bg_body.jpg) repeat 0 0;
}

/*===Common===*/
.no_bg {
    background: none!important;
}
.txt_small {
    font-size: 0.8em;
}
.txtL {
    text-align: left!important;
}
.txtR {
    text-align: right!important;
}
.txtC {
    text-align: center!important;
}
.important {
    color: #FF0000;
}
.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;
}
.mt_none {
    margin-top: 0!important;
}
.mb_none {
    margin-bottom: 0!important;
}
.mb_05em {
    margin-bottom: 0.5em!important;
}
.mb_1em {
    margin-bottom: 1em!important;
}
.mb_15em {
    margin-bottom: 1.5em!important;
}
.mb_2em {
    margin-bottom: 2em!important;
}
.mb_3em {
    margin-bottom: 3em!important;
}
.mb_4em {
    margin-bottom: 4em!important;
}
p .fax {
    margin-left: 8px;
}
.bld {
    font-weight: 600;
}
.bld500 {
    font-weight: 500;
}
.ttl{
    font-size: 120%!important;
}
.nowrap {
    white-space:nowrap;
}
.min {
        font-family: 'Zen Old Mincho', 'Noto Sans JP', "游ゴシック Medium", "YuGothicM", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/*===PC===*/
#contents {
    overflow: hidden;
    width: 100%;
    max-width: 1920px;
    min-height:600px;
    box-sizing: border-box;
    margin:0 auto;
    padding:120px 0 100px;
    position: relative;
    background: url(../images/bg_contents.svg) no-repeat bottom right 20px;
    background-size:600px 600px;
    z-index: 10;
}
main > h1:first-child + #contents{
    padding-top:100px;
}
/*#contents:before {
    width: 100%;
    height: 40px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
    background: linear-gradient(to bottom, rgba(31,76,137,1) 0%, rgba(31,76,137,0.1) 90%, rgba(31,76,137,0) 100%);
    z-index: 10;
}*/
.contents_menu {
    overflow: hidden;
    width: 100%;
    max-width: 1920px;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 100px 0 70px;
    position: relative;
    clear: both;
    /*background: #e6e0d7;*/
    background: linear-gradient(to bottom, transparent 0%, #e8e2da 50%, #d8d0c6 100%);
    z-index: 1;
}
.contents_menu:before {
    width: 1840px;
    height: 120px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0.8;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    z-index: -1;
}
main > .contents_menu:first-child::before {
    display: none;
}
.contents_menu.no_before::before{
	display:none;
}
.contents_menu:after {
    content: "";
    position: absolute;
    background: url(../images/bg_contents_menu.svg) no-repeat 0 bottom;
    background-size: contain;
    bottom: 0;
	left:50%;
	transform: translateX(-50%);
    width: 1920px;
    height: 240px;
    opacity: 0.6;
    z-index: -1;
    display: none;
}
.contents_menu h2{
    color: #2B3842;
}
.contents_menu.sub_menu {
    margin: 0 auto;
    padding: 90px 0 20px;
    background: #e8e2da url(../images/bg_contents_menu_sub.webp) no-repeat center bottom;
    background-size: auto;
    z-index: 2;
}
.contents_menu.sub_menu:before {
    width: 100%;
    height: 200px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    z-index: -1;
}
.contents_menu.sub_menu:after {
    display:none;
}
.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: static;
    width:1200px;
    margin:auto;
    padding:0;
    box-sizing: border-box;
}
.inner.second {
    position: relative;
    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);
    filter: drop-shadow(20px 20px 0 rgba(255, 255, 255, 0.4));
    overflow: hidden;
}
.inner.second:last-child {
    margin:0 auto;
}
.inner.second:before {
    content: "";
    position: absolute;
    inset: 0; 
    background: url(../images/bg_inner.webp) no-repeat center bottom;
    background-size: 100% auto;
    z-index: 0;
    pointer-events: none;
}
.inner.second > * {
    position: relative;
    z-index: 1;
}
/*--ロゴを背景とする場合に以下のクラスを追加--*/
.bg_logo{
    position:relative;
    z-index:0;
}
.bg_logo:after {
    content: "";
    display: inline-block;
    width: 560px;
    height: 465px;
    background: url(../images/bg_logo.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 60px;
    right: 0;
    transform: translateX(20px);
    z-index:-1;
}
.adjust_group {
    box-sizing: border-box;
    margin-bottom:100px!important;
}
.adjust_group.adjust_s {
    box-sizing: border-box;
    margin-bottom:50px!important;
}
.adjust_group.adjust_xs {
    box-sizing: border-box;
    margin-bottom:10px!important;
}
main p{
    font-family:"Noto Sans JP",sans-serif;
    font-size: 16px;
    padding:0 0 1em;
    color: #2B3842;
    line-height: 2.0;
    font-weight: 400;
    -webkit-text-size-adjust: none;
}
.basic_wrap p {
    padding: 0 10px 1em;
}
.text_wrap{
    margin:0 0 30px;
    min-height:1px;
}
main .imgC {
    width:100%;
    text-align: center;
    margin:0 0 40px;
}
main .imgC.bg_color {
    margin:0 0 30px;
    padding:15px 15px;
    box-sizing:border-box;
    min-height:120px;
    background:#fff;
    display:flex;
    justify-content: center;
    align-items: center;
    filter: drop-shadow(10px 10px rgba(0, 0, 0, 0.03));
}
main .imgC img{
    width:auto;
    max-width:100%;
    height:auto;
}
main .imgC img.link_logo{
    width: auto;
    max-width: 240px;
    height: auto;
    max-height: 72px;
}
main ul.text,
main ol.text {
    font-family: "Noto Sans JP", sans-serif;
    color: #2B3842;
    font-size: 16px;
    font-weight: 400;
    list-style: outside;
    margin-bottom: 1.2em;
    line-height: 2.0;
    text-align: left;
}
main ul.text {
    padding-left: 20px;
}
main ol.text {
    list-style-type: decimal;
    padding-left: 1.6em;
}
main table ul.text,
main table ol.text {
    margin-bottom: 0;
}
main ul.text ul,
main ul.text ol,
main ol.text ul,
main ol.text ol{
    margin: 0.6em 0;
}
main ol.text li {
    padding-left: 0px;
    margin-bottom:8px;
}
main ul.text li {
    margin-bottom:8px;
}
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:20px;
    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: row;
}
main em {
    color: #00b188;
    font-weight: 500;
}
main em span{
    font-weight: 400;
}
.floatL {
    width: auto;
    height: auto;
    float: left;
    margin: 0 60px 60px 0!important;
}
.floatR {
    width: auto;
    height: auto;
    float: right;
    margin: 0 0 60px 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));
}
.floatL img,
.floatR img{
    width:100%;
    height:auto;
}
p.catch{
    font-family: "Zen Old Mincho", serif;
    font-size: 23px;
   color: #2B3842;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.03em;
    /*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: 23px;
    font-weight: 500;
    box-sizing: border-box;
    letter-spacing: 0.03em;
   /* text-shadow: 0px 0px 10px rgba(255, 255, 255, 0.4), 0px 0px 10px rgba(255, 255, 255, 0.4);*/
}
.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: 100px!important;
    margin-top: -100px!important;
}
.bld_L {
    font-weight: 600;
    font-size: 130%!important;
}
@media all and (min-width: 768px) and (max-width: 1399px) {
    .contents_menu .point{
        bottom:-10px;
        transform: translate(500px,0);
    }
}
/* h1が無いページだけ上余白を詰める */
main > #contents:first-child,
main > .intro_box:first-child,
main > a.anchor:first-child + #contents,
main > a.anchor:first-child + .intro_box {
	padding-top:50px;
}

main > .contents_menu:first-child,
main > a.anchor:first-child + .contents_menu {
	padding-top:60px;
}
/*===SP===*/
@media screen and (max-width: 767px) {
    #contents {
        max-width: none;
        min-height:0;
        padding: 40px 0 30px;
        background: url(../images/bg_contents.svg) no-repeat bottom center;
        background-size: 70% auto;
    }
    main > h1:first-child + #contents{
        padding-top:40px;
    }
    /*#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: 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;
    }*/
    .contents_menu {
        max-width: none;
        padding: 40px 0 30px;
        background: linear-gradient(to bottom, transparent 0%, #e8e2da 80%, #d8d0c6 100%);
        clear: none;
    }
    .contents_menu:before {
        width: 100%;
        height:80px;
        opacity: 0.4;
    }
    .contents_menu:after {
        width: 100%;
        height:200px;
        opacity: 0.4;
		display:none;
    }
    .contents_menu.sub_menu {
        padding: 25px 0 10px;
        background: #e8e2da url(../images/bg_contents_menu_sub_sp.webp) no-repeat bottom center;
        background-size: cover;
    }
    .contents_menu.sub_menu:before {
        height: 100px;
        opacity: 0.8;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    }
    .contents_menu.sub_menu .point {
        width: 85px;
        top: -10px;
        left: 3%;
        transform: none;
    }
    .contents_menu.sub_menu .point img {
        width: 100%;
    }
    .contents_menu.menu_column4 {
        padding: 32px 0 32px;
    }
    .inner {
        position: static;
        width:100%;
        margin:0 auto;
        padding:0 15px;
    }
    .inner.second {
        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:before {
        background: url(../images/bg_inner.webp) no-repeat center bottom;;
        background-size: contain;
        top: 0;
        bottom: auto;
        height: 100%;
        background: none;
    }
    .bg_logo:after {
        width: 190px;
        height: 158px;
        top: 30px;
    }
    .adjust_group {
        margin-bottom:40px!important;
    }
    .adjust_group.adjust_s {
        margin-bottom:20px!important;
    }
    .adjust_group.adjust_xs {
        margin-bottom:5px!important;
    }
    main p{
        font-size: 12px;
        line-height: 1.8;
    }
    .basic_wrap p {
        padding:0 0 1em;
    }
    .text_wrap{
        margin: 0 0 10px;
    }
    main .imgC {
        margin:0 0 20px;
    }
    main .imgC.bg_color {
        margin:0 0 15px;
        min-height:0;
        filter: drop-shadow(5px 5px rgba(0, 0, 0, 0.03));
    }
    main .imgC img.link_logo{
        max-width: 200px;
        max-height: 60px;
    }
    main ul.text,
    main ol.text {
        font-size: 14px;
        margin-bottom: 1em;
        line-height: 1.8;
    }
    main ol.text {
        padding-left: 20px;
    }
    main ul.text ul,
    main ul.text ol,
    main ol.text ul,
    main ol.text ol{
        margin: 0;
    }
    main ul.horizontal li,
    main ol.horizontal li {
        margin-right:15px;
    }
    main table ul.horizontal,
    main table ol.horizontal {
        flex-direction: column;
    }
    .floatL {
        width:100%;
        float: none;
        margin: 0 0 1.2em 0!important;
    }
    .floatR {
        width:100%;
        float: none;
        margin: 0 0 1.2em 0!important;
    }
    img.floatL,
    img.floatR {
        filter:none;
    }
    .bld_L {
        font-size: 115%!important;
    }
    p.catch{
        font-size: 17px;
        line-height: 1.5;
        letter-spacing: 0;
    }
    p.catch strong {
        font-size: 17px;
        letter-spacing: 0;
    }
    .line_btm {
        padding-bottom: 32px;
        margin-bottom: 16px;
        letter-spacing: normal;
    }
    a.anchor,
    .anchor{
        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;
    }
    /* h1が無いページだけ上余白を詰める */
	main > #contents:first-child,
	main > .intro_box:first-child,
	main > a.anchor:first-child + #contents,
	main > a.anchor:first-child + .intro_box {
		padding-top:30px;
	}

	main > .contents_menu:first-child,
	main > a.anchor:first-child + .contents_menu {
		padding-top:30px;
	}
}


/*================================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:1840px;
	position: relative;
	/*background:url(../images/bg_h1_point.svg),linear-gradient(to top,#E6E0D7 0%,#FBFAF8 80%);*/
    background:#b0a395 url(../images/bg_h1_point.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 120%;
	font-size:28px;
	font-weight:500;
	color: #fff;
	line-height:1.6;
	margin:0 auto;
	padding:48px 0;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	text-align:center;
	z-index:11;
	}
main h1:after {
    width: 100%;
    height: 60%;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
    background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);
    z-index: 10;
}
main h1.second {
	font-size:34px;
	padding: 52px 0;
}
main h1 span{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 32px;
    text-shadow: 0 0 10px rgba(43, 56, 66, 0.03);
    z-index: 12;
}
main h1 span::before,
main h1 span::after {
    content: "";
    display: block;
    width: 80px;
    height: 1px;
    background: rgba(255, 255, 255, 0.8);
}
main h1 em {
	color: #fff;
	font-size:26px;
	font-weight:500;
	line-height: 1.3;
	display:block;
}
main h1 br{
	display: inherit;
}
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:0 0 32px;
	margin:0 auto 68px;
	font-size:32px;
	font-weight:500;
	letter-spacing: 0.1em;
    color: #2B3842;
	line-height: 1.6;
	text-align:center;
    border-bottom: 1px solid rgba(208,198,187,0.6);
	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:24px!important;
	margin: 0 auto 80px!important;
}
main h2.secondary,
main .inner h2.secondary{
    font-size: 28px;
}
main h2.secondary:before,
main .inner h2.secondary:before{
	content: '';
    position: absolute;
	top:auto;
    bottom: -2px;
    display: inline-block;
    width: 80px;
    height: 1px;
    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: 90px;
    height: 90px;
    position:relative;
    z-index: 100;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #B8ADA2;
    border-radius: 50%;
    font-family: 'Libertinus Math', serif;
    color: #fff;
    font-weight: 400;
    font-size: 48px;
    line-height: 1.0;
    letter-spacing: 0;
    box-sizing: border-box;
    margin:0 auto 24px;
    padding: 0;
}
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),linear-gradient(to right,#988D82 0%,#988D82 70%,#513A29 100%);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 120%;
    color: #fff;
    font-size: 27px;
    font-weight: 500;
    padding: 10px 36px 14px 36px;
    box-sizing: border-box;
    margin: 0 0 40px;
    text-align: left;
    position: relative;
    box-shadow: 3px 3px 8px rgb(255 255 255 / 50%) inset;
    filter: drop-shadow(5px 5px 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: #2B3842;
	font-size: 22px;
	font-weight: 500;
    padding: 4px 0 4px 20px;
    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: #B8ADA2;
}
main h3.second:after{
	display:none;
}
main h3.third {
	color: #2B3842;
	font-size: 24px;
    font-weight: 500;
    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: #B8ADA2;
}
main h3.third:after{
	display:none;
}
main h3.number {
    padding: 10px 36px 14px 76px;
}
main h3 .number {
	width:68px;
	height:68px;
    position: absolute;
    top: -18px;
    left: -18px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #16b3a6;
	background: #B8ADA2;
    border-radius: 50%;
    font-family: 'Libertinus Math', serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 1.0;
	letter-spacing: 0;
	padding: 0;
	box-sizing: border-box;
	outline: 2px solid rgba(255, 255, 255, 0.3);
	outline-offset: -2px;
}
main h4 {
    color: #2B3842;
	font-size: 27px;
	font-weight: 500;
    margin: 0 auto 40px;
	padding: 0 0 25px;
	background:none;
	border-radius:0;
	line-height:1.4;
    border-bottom: 3px solid rgba(0, 0, 0, 0.05);
    position: relative;
	letter-spacing: 0.05em;
	text-align:left;
}
main h4:after {
    position: absolute;
    content: " ";
    display: block;
	border-bottom: solid 3px #CCBFB2;
    left: 0;
    bottom: -3px;
    padding: 0;
    width: 280px;
}
main h4.second{
	font-size: 19px;
	margin: 0 auto 25px;
	padding: 0 0 18px;
	}
main h4.second:after {
	border-bottom: solid 3px #b0a395;
    bottom: -3px;
    width: 25%;
}
main h4.third {
	font-size: 20px;
    padding: 6px 0 6px 24px;
    margin: 0 auto 30px;
	border-bottom: none;
	text-align:left;
}
main h4.third:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 2px;
    height: 100%;
	transform: translateY(-50%);
	background: #b0a395;
}
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:14px;
	padding: 12px 20px;
	letter-spacing: 0.04em;
	box-sizing: border-box;
	}
@media  print, screen and (max-width: 359px) {
main h1{
	padding: 22px 15px;
	}
}
main h1:after {
    height: 60%;
    opacity: 1.0;
    background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent);
}
main h1 br{
	display:inherit!important;
}
main h1.second {
	font-size:22px;
	padding: 28px 16px;
	line-height: 1.5;
}
@media  print, screen and (max-width: 360px) {
main h1.second {
	font-size:21px;
}
}
main h1.second br{
	display:none!important;
}
@media  print, screen and (max-width: 430px) {
main h1.second br{
	display:inherit!important;
}
}
main h1 span{
    gap: 0;
    text-shadow: 0 0 5px rgba(43, 56, 66, 0.03);
}
main h1.second span {
    gap: 16px;
}
@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 {
    display: inherit;
    width: 40px;
    height: 1px;
    background: rgba(255, 255, 255, 0.8);
}
@media  print, screen and (max-width: 359px) {
main h1.second span:before,
main h1.second span:after {
	display:none;
}
}
main h1 em {
	font-size:0.8em;
}
main h1 br{
	display:none;
}
main h1.second br{
	display: inherit;
}
main h2,
main .inner h2{
    padding: 0 0 16px;
	margin: 0 15px 10px;
	font-size:18px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
@media  print, screen and (max-width: 320px) {
main h2,
main .inner h2{
	font-size:18px;
    letter-spacing: 0.05em;
}
}
/*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: 56px;
    height: 56px;
    font-size: 30px;
    margin: 0 auto 10px;
}    
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: 16px;
	padding: 7px 10px;
    margin: 0 0 10px;
	line-height: 1.5;
    filter:unset;
}
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%;
    display: none;
}
main h3.third{
    font-size: 18px;
	padding: 5px 0 5px 15px;
    margin: 4px 0 10px;
}
main h3.third:before {
    height: 100%;
}
main h3.number {
	padding: 10px 20px 13px 45px;
}
main h3 .number {
	width:44px;
	height:44px;
    top: -8px;
    left: -10px;
    font-size: 25px;
	outline: 2px solid rgba(255, 255, 255, 0.6);
	outline-offset: -2px;
}
main h4 {
	font-size: 17px;
    margin: 0 auto 20px;
	padding: 0 4px 14px;
	line-height:1.4;
    border-bottom: 2px solid rgba(0, 0, 0, 0.05);
    position: relative;
	letter-spacing: 0.05em;
}
main h4:after {
	left: 0;
	bottom: -2px;
    border-bottom: solid 2px #CCBFB2;
    width: 30%;
}   
main h4.second{
    font-size: 17px;
    margin: 0 auto 15px;
	padding: 0 0 13px;
}
main h4.second:after {
	border-bottom: solid 2px #b0a395;
    bottom: -2px;
}
main h4.third{
    font-size: 15px;
	padding: 4px 0 4px 15px;
    margin: 0 0 15px;
    line-height: 1.5;
}
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 rgba(152, 141, 130, 0.5);
	border-bottom: 1px solid rgba(152, 141, 130, 0.5);
	margin-bottom: 40px;
}
main table.second{
	margin-bottom: 0;
}
main th,
main td {
	border-bottom: 1px solid rgba(152, 141, 130, 0.5);
	padding: 20px 30px;
	word-break:break-all;
	font-size: 16px;
	line-height: 1.8;
}
main thead th{
	border-bottom: none;
}
main .sp td {
	padding: 10px 8px;
}
main td {
    font-size: 16px;
	font-weight: 500;
	background:#fff;
	color: #202124;
	vertical-align: top;
}
main table thead th {
    font-size: 18px;
	font-weight:500;
	text-align: center;
	color: #fff;
	background: #988D82;
	padding: 18px 20px;
	white-space:nowrap;
}
main table tbody th {
	font-weight: 500;
    font-size: 18px;
	width: 25%;
	text-align: left;
	vertical-align: middle;
	background: #eeebe4;
	/*background: rgba(41, 209, 255, 0.1);*/
	color: #2B3842;
}
main .second th,
main .second td{
    font-size: 16px;
	padding: 12px 20px;
}
main table tbody tr:last-child th,
main table tbody tr:last-child td {
	border-bottom: none;
}
main table tbody td p{
	line-height: 1.8;
}
main table td p:last-child{
	padding: 0;
}
main table .fax {
	display:inline;
	margin-left:12px;
}
main table ul {
	list-style-type: disc;
	list-style-position: inside;
}
main .vertical th,
main .vertical td{
	white-space:nowrap;
}
main .table_scroll table{
	width:100%;
	margin-bottom: 40px;
}
main .table_scroll{
	overflow: auto; /*tableをスクロールさせる*/
	white-space: nowrap; /*tableのセル内にある文字の折り返しを禁止*/
}
main .table_scroll::-webkit-scrollbar{ /*tableにスクロールバーを追加*/
	height: 5px;
}
main .table_scroll::-webkit-scrollbar-track{ /*tableにスクロールバーを追加*/
	background: #F1F1F1;
}
main .table_scroll::-webkit-scrollbar-thumb { /*tableにスクロールバーを追加*/
	background: #BCBCBC;
}
main table.vertical tbody td {
	text-align: center;
}
@media screen and (max-width: 767px) {
main table{
	margin-bottom:30px;
    font-size: 12px;
}
main table p {
    font-size: 12px;
}
main th,
main td {
	padding: 5px 5px;
	font-size: 14px;
	line-height: 1.6;
    letter-spacing: 0.03em;
}
main td {
    vertical-align: middle;
}
main table thead th{
    font-size: 16px;
	padding: 6px 8px;
	white-space:normal;
}
main table tbody th{
    font-size: 12px;
	width:28%;
}
main .second th,
main .second td{
    font-size: 14px;
	padding:10px 12px;
}
main table tbody tr:last-child th,
main table tbody tr:last-child td{
	border-bottom:1px solid rgba(152, 141, 130, 0.5);
}
main table tbody td p{
	line-height:inherit;
}
main table .fax{
	display:block;
	margin-left:0;
}
main .vertical th,
main .vertical td{
	white-space:normal;
}
main .table_scroll table{
	margin-bottom:0;
}
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;
	text-align:left;
}
main table.vertical tbody td p{
}
main table.vertical tbody td span{
	font-weight:bold;
	color:#1463aa;
	width:38%;
	padding-right:25px;
}
}

/*================================intro_box================================*/
.intro_box {
	width:100%;
	max-width:1920px;
	min-width:1200px;
	padding:100px 0 100px;
	box-sizing: border-box;
	margin:0 auto;
	text-align:left;
	overflow: hidden;
	clear:both;
	z-index: 10;
    background: linear-gradient(to bottom, transparent 0%, rgba(232, 226, 218, 0.5) 50%, transparent 100%);
	position:relative;
}
#about .intro_box{
	padding:30px 0 30px;
}
.intro_box::before {
    content: "";
    position: absolute;
    background: url(../images/bg_logo.svg) no-repeat 0 0;
    background-size: cover;
    top: 134px;
    left: 50%;
    transform: translateX(-1040px);
    width: 640px;
    height: 640px;
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
    z-index: 0;
}
/*.intro_box::before {
    width: 1840px;
    height: 120px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    opacity: 0.8;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%);
    z-index: -1;
}
main > .intro_box:first-child::before,
main > a.anchor:first-child + .intro_box::before {
	display: none;
}*/
.intro_box:after {
    content: "";
    position: absolute;
    background: url(../images/bg_contents_bottom.svg) no-repeat 0 bottom;
    background-size: contain;
    bottom: 0;
	left:50%;
	transform: translateX(-50%);
    width: 1920px;
    height: 240px;
    opacity: 0.4;
    z-index: -1;
}
#about .intro_box:before,
#about .intro_box:after {
    background: none;
}
/*.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 100px;
	}
.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%);
	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: 600px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    opacity: 1.0;
    background: linear-gradient(to bottom, rgba(251, 250, 248, 1.0) 0, rgba(251, 250, 248, 1.0) 500px, transparent 100%);
    z-index: -2;
}
.intro_box .flex_box h2{
}
.intro_box .flex_box h2 br{
	display: inherit;
}
.intro_box .flex_box .inner h2{
    margin: 0 0 50px;
    padding: 30px 0 0;
	text-shadow:none;
    border-bottom: none;
}
.intro_box .flex_box .inner h2::before {
    width: 80px;
    height: 2px;
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
	transform: translateX(-50%);
    background: #b0a395;
}
.intro_box .clearbox {
	display: grid;
	grid-template-columns: 495px max-content;
	column-gap: 50px;
	justify-content: start;
	align-items: start;
	min-height:540px;
	margin-bottom:100px;
	position:relative;
}
.intro_box .clearbox.right {
	grid-template-columns: max-content 600px;
	justify-content: end;
}
.intro_box .clearbox:last-child {
	margin-bottom:120px;
}
.intro_box .image_wrap {
	grid-column: 2;
	grid-row: 1;
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	transform: none;
	z-index:1;
	margin:0;
}
.intro_box .right .image_wrap {
	grid-column: 1;
	left:auto;
	right:auto;
	transform:none;
}
.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: -60px;
    right:-60px;
    width: 520px;
	height: 520px;
    background-color: rgb(184, 173, 162,0.4);
	z-index:-1;
}
.intro_box .right .image_wrap:after{
    left: -60px;
	right:auto;
}
@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{
	display:block;
	width:auto;
	max-width:none;
	height:auto;
    z-index:0;
	filter: drop-shadow(0 0 30px rgba(255, 255, 255, 0.3));
}
.intro_box .image_wrap .number {
	width:90px;
	height:90px;
    position: absolute;
    top: -40px;
    left: -40px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #B8ADA2;
	border-radius:50%;
    font-family: 'Libertinus Math', serif;
    color: #fff;
    font-weight:400;
    font-size: 48px;
    line-height: 1.0;
	letter-spacing: 0;
	box-sizing:border-box;
    padding: 0;
}
.intro_box .text_wrap {
	grid-column: 1;
	grid-row: 1;
	width:495px;
	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 {
	grid-column: 2;
    padding:0;
	margin: 0;
}
.intro_box .text_wrap .number {
	width:90px;
	height:90px;
    position: absolute;
    top: -45px;
    left: -45px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #B8ADA2;
	border-radius:50%;
    font-family: 'Libertinus Math', serif;
    color: #fff;
    font-weight:400;
    font-size: 48px;
    line-height: 1.0;
	letter-spacing: 0;
	box-sizing:border-box;
    padding: 0;
}
.intro_box .column.text {
    padding: 0 50px;
	display: flex;
    flex-wrap: wrap;
	align-content: center;
}
.intro_box .clearbox h3 {
	font-size: 26px;
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	letter-spacing: 0.05em;
	padding: 0;
    margin: 0 0 40px;
    color: #2B3842;
	background:none;
	box-shadow:none;
    display: inline-block;
    filter: none;
	/*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: 20px;
}
.intro_box h3 span {
	font-size: 22px;
	font-weight: 500;
	line-height: 44px;
    letter-spacing: 0;
    display: inline-block;
    padding: 0 16px 4px 16px;
    box-sizing: border-box;
    margin-top: 10px;
	color: #fff;
    position: relative;
	background: #B8ADA2;
}
.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 {
    padding: 0 0 1.2em;
}
.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: #7f7267;
}
.intro_box img{
	width:auto;
	border-radius:0;
	}
.intro_box .heading {
	position: absolute;
	left:-25px;
	right:auto;
	bottom:50px;
	z-index:10;
	font-size: 18px;
	font-weight: 500;
	color:#fff;
	line-height: 43px;
	padding: 0 16px;
	background: #B8ADA2;
	display: flex !important;
    justify-content: center;
    filter: drop-shadow(5px 5px 0 rgba(81, 58, 41, 0.02));
}
.intro_box .right .heading {
	left:auto;
	right:-25px;
}
.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:-10px;
	transform: translate(640px,0);
}
}
.intro_box .btn {
    margin: 20px 0 20px auto;
}
.intro_box .right .btn {
    margin: 20px auto 20px 0;
}
.intro_box .second .inner .btn {
    margin: 16px auto 8px 0;
}
.intro_box .second .inner .btn a:after {
    background-color: #F5F3EF;
}
/*.intro_box .background_section {
    content: "";
    position: absolute;
    background: url(../images/bg_logo.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 30px;
	margin:0 auto;
	text-align:center;
	min-width: inherit;
}
    #about .intro_box .txtC br {
        display:block;
    }
.intro_box::before {
    top: 20px;
    left: 0;
    transform: translateX(-16%);
    width: 70vw; 
    height: 70vw;
}
.intro_box:after{
    width: 800px;
    height:240px;
    opacity: 0.4;
}
/*.intro_box:after{
	width: 100%;
    height: 60px;
	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 .flex_box:last-child{
	margin: 0 auto 60px!important;
}
.intro_box .inner {
    width: 100%;
    padding: 0 15px;
}
.intro_box .second .inner {
	width: calc(100% - 30px);
	margin: auto;
    padding: 36px 20px 20px;
	border-top: 2px solid rgb(0 0 0 / 5%);
	border-bottom: 2px solid rgb(0 0 0 / 5%);
    filter: drop-shadow(8px 8px 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 20px;
}
}
/*.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: linear-gradient(to bottom, rgba(251, 250, 248, 1.0) 0, rgba(251, 250, 248, 1.0) 300px, transparent 100%);
}
.intro_box .flex_box h2,
.intro_box .second h2{
	margin: 0 15px 25px;
    font-size: 18px;
}
.intro_box .flex_box h2 br{
	display:none;
}
.intro_box .flex_box .inner h2{
    font-size: 20px;
    margin: 0 0 20px;
    padding: 18px 0 0;
}
.intro_box .flex_box .inner h2::before {
    width: 48px;
    height: 2px;
}  
.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;
    right: 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 .number {
	width:56px;
	height:56px;
    top: -10px;
    left: -8px;
    font-size: 30px;
}
.intro_box .image_wrap:before,
.intro_box .right .image_wrap:before{
	outline: none;
	outline-offset: unset;
}
.intro_box .image_wrap:after,
.intro_box .right .image_wrap:after{
    bottom: -15px;
    left: auto;
	right: -15px;
    width: 60px;
	height: 120px;
    display: none;
}
.intro_box .text_wrap,
.intro_box .right .text_wrap{
	width:100%!important;
	padding: 25px 0 0;
}
.intro_box .text_wrap .number,
.intro_box .right .text_wrap .number{
	width:56px;
	height:56px;
    top: -10px;
    left: -8px;
    font-size: 30px;
}
.intro_box .column.text {
    padding: 15px 20px 15px;
}
.intro_box .clearbox h3 {
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0;
    margin: 0 0 15px;
    white-space: inherit;
}
.intro_box .clearbox h3.small {
	font-size: 15px;
}
.intro_box .clearbox h3.second {
    line-height: 1.5;
    padding: 8px 14px 12px 14px;
    margin: 0 0 15px;
    white-space: inherit;
	background: #B8ADA2;
}
.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 {
    padding: 0 0 1.0em;
    font-size: 12px;
}
.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 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:15px;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.03em;
	padding:6px 12px;
	filter: drop-shadow(3px 3px 0 rgba(81, 58, 41, 0.02));
}
.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,
.intro_box .second .inner .btn{
    margin: 5px auto 5px;
}
}

/*=============================== regular ================================*/
.regular {
    overflow: hidden;
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding:100px 0 100px;
    height: auto;
    clear: both;
    position: relative;
    /*background: linear-gradient(to bottom, transparent 0%, rgba(232, 226, 218, 0.5) 50%, transparent 100%);*/
    z-index: 11;
}
/*.regular02{
	padding:100px 0 60px;
} */
main > .regular:first-child,
main > a.anchor:first-child + .regular,
main > h1:first-child + .regular{
	padding-top:80px;
}
.regular:before {
    content: "";
    position: absolute;
    /*background: url("../images/bg_regular.svg") no-repeat 0 0;*/
    background-size: cover;
    top: 134px;
    left: 50%;
    transform: translateX(-980px);
    width: 500px;
    height: 500px;
    z-index: -1;
}
/*.regular:before {
    width: 100%;
    height: 200px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
    background: linear-gradient(to top, rgba(0, 0, 0,0.03) 0%, transparent 100%);
	z-index: -1;
}*/
.regular03:before,
.regular04:before{
	opacity: 0.1;
}
.regular:after {
    content: "";
    position: absolute;
    background: url(../images/bg_contents_bottom.svg) no-repeat 0 bottom;
    background-size: contain;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
    height: 240px;
    opacity: 0.2;
    z-index: -1;
    display: none;
}
/*.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_contents_bottom.svg) no-repeat 0 bottom;
    background-size: contain;
    opacity:0.05;
}
.regular03:after{
    background: url(../images/bg_contents_bottom.svg) no-repeat 0 bottom;
	background-size: contain;
    opacity: 0.5;
}
.regular04:after{
    background: url(../images/bg_contents_bottom.svg) no-repeat 0 bottom;
	background-size: contain;
    opacity: 0.9;
}
#contents .regular{
	margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
}
/*==regular02白色==*/
.regular02{
	background:#fff;
}
/*==regular03濃いブラウン・背景に画像（インナー部分がホワイト）==*/
.regular03{
    background: #513A29 url(../images/bg_regular.webp) no-repeat 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(10px 10px 0 rgba(255, 255, 255, 0.2));
    overflow: hidden;
}
.regular03 > .inner.transparent {
    padding: 0;
	background:none;
	filter: none;
}
.regular03 > .inner:before {
    content: "";
    position: absolute;
    inset: 0; 
    background: url(../images/bg_inner.webp) no-repeat center bottom;
    background-size: 100% auto;
    z-index: 0;
    pointer-events: none;
}
.regular03 > .inner.transparent:before {
	display:none;
}
.regular03 > * {
    position: relative;
    z-index: 1;
}
/*==regular04ブラウン・背景に画像（インナー部分がホワイト）==*/
.regular04 {
    background: #988D82 url(../images/bg_regular.webp) 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(10px 10px 0 rgba(255, 255, 255, 0.2));
    overflow: hidden;
}
.regular04 > .inner.transparent {
    padding: 0;
	background:none;
	filter: none;
}
.regular04 > .inner:before {
    content: "";
    position: absolute;
    inset: 0; 
    background: url(../images/bg_inner.webp) no-repeat center bottom;
    background-size: 100% auto;
    z-index: 0;
    pointer-events: none;
}
.regular04 > .inner.transparent:before {
	display:none;
}
.regular04 > * {
    position: relative;
    z-index: 1;
}
/*.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;
}
.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;
}
@media  print, screen and (max-width: 767px) {
.regular{
	overflow: hidden;
	width:100%;
	padding:20px 0 48px;
	box-sizing:border-box;
	margin: 0;
	height:auto;
} 
/*.regular02{
	padding:40px 0 32px;
} */
main > .regular:first-child,
main > a.anchor:first-child + .regular,
main > h1:first-child + .regular{
	padding-top:30px;
}
.regular:before {
    top: 30px;
    left: 0;
    transform: translateX(-10%);
    width: 60vw; 
    height: 60vw;
}
/*.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 {
    width: 600px;
    height:200px;
    opacity: 0.4;
	display: none;
}
.regular02:after{
    opacity:0.08;
}
.regular03:after{
    opacity: 0.7;
}
.regular04:after{
    opacity: 0.7;
}
.regular > .inner.second,
.regular02 > .inner.second{
	filter:unset;
}
@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.8));
    background: #fdfaf7;
}
@media  print, screen and (max-width: 359px) {
.regular03 > .inner {
	width: calc(100% - 20px);
	filter: drop-shadow(3px 3px 0 rgba(255, 255, 255, 0.8));
}
}
.regular03 > .inner.transparent {
    width: 100%;
    padding: 0 15px;
	filter: none;
}
.regular03 > .inner:before {
    background: url(../images/bg_inner.webp) no-repeat center bottom;
    background-size: cover;
    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.8));
    background: #fdfaf7;
}
@media  print, screen and (max-width: 359px) {
.regular04 > .inner {
	width: calc(100% - 20px);
	filter: drop-shadow(3px 3px 0 rgba(255, 255, 255, 0.8));
}
}
.regular04 > .inner.transparent {
    width: 100%;
    padding: 0 15px;
	filter: none;
}
.regular04 > .inner:before {
    background: url(../images/bg_inner.webp) no-repeat center bottom;
    background-size: cover;
    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: none;
    outline-offset: unset;
}
}

/*================================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: linear-gradient(to top right, rgba(224, 218, 212, 0.4) 0%, rgba(243, 239, 234, 0.4) 100%);*/
    background: linear-gradient(to top right, rgba(81, 58, 41, 0.2) 0%, rgba(224, 218, 212, 0.2) 100%);
	/*background: url(../images/bg_column_space.svg), linear-gradient(to top right, rgba(22, 179, 166, 0.3) 0%, rgba(0, 77, 169, 0.3) 100%);
	background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;*/
	outline: 7px solid rgba(81, 58, 41, 0.03);
    outline-offset: -7px;
    filter: drop-shadow(10px 10px 0 rgba(255, 255, 255, 0.1));
}
.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: 25px;
} 
.column.space,
.inner.second .column.space{
	padding: 20px 15px;
	/*background-size: 110% auto;*/
	outline: 5px solid rgba(81, 58, 41, 0.03);
    outline-offset: -5px;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.1));
}
.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 15px;
}
}

/*================================area01===============================*/
.area01 {
	margin:0 0 50px;
	padding: 0;
    background: linear-gradient(to bottom, #e6e0d7 0%,  #ece7e0 100%);
    box-shadow: 10px 10px rgba(81, 58, 41, 0.02);
	outline: 8px solid rgba(255, 255, 255, 0.6);
	outline-offset: -24px;
	position:relative;
}
.area01 .inner{
    width: auto!important;
    padding:60px 60px 60px;
    margin: 0;
	text-align:left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
    justify-content: center;
}
.area01 h4 {
    font-size: 30px;
    letter-spacing: 0.08em;
	width:100%;
	margin: 0 auto 30px;
	border-bottom:3px solid rgba(255,255,255,0.7);
    text-align: center;
}
.area01 h4 span{
    margin: 0 0 0 15px;
}
.area01 h4:after {
    border-bottom: solid 3px #b0a395;
    /*border-bottom: solid 3px #CCBFB2;*/
    left: 50%;
    transform: translateX(-50%);
}
.area01 p {
    font-family: "Zen Old Mincho", serif;
}
.area01 p.tel {
    margin: 0 48px 0 0;
}
.area01 p.tel a {
    font-family: "Noto Sans JP", sans-serif;
    background: url(../images/icon_tel.svg) no-repeat 0 center;
    background-size: auto 100%;
    padding: 10px 5px 10px 90px;
	font-size:56px;
    color: #988D82;
    font-weight:700;
	text-decoration:none;
	letter-spacing:0;
	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{
    font-family: "Noto Sans JP", sans-serif;
	display:block;
	font-size: 15px;
	padding-top:12px;
	padding-left:92px;
	line-height: 1.0;
}
.area01 p.tel span br{
	display:none;
}
.area01 p.adr {
    width: auto;
    padding: 16px 0 16px;
    margin: 0;
    font-weight: 500;
    line-height: 1.8;
    display: flex;
    gap:28px;
}
.area01 p.adr em{
	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 p.copy {
    font-family: "Noto Sans JP", sans-serif;
}
.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:23px;
    background: #B8ADA2;
	text-decoration: none!important;
	font-weight:500;
	letter-spacing: 0.08em;
	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 br{
    display: none!important;
}
.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;
    background: linear-gradient(to bottom, #ece7e0 0%, #e1dacf 100%);
	box-shadow: 5px 5px rgba(81, 58, 41, 0.02);
	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: 36px 20px 36px!important;
}
@media  print, screen and (max-width: 360px) {
.area01 .inner{
    padding: 30px 15px 30px!important;
}
}
.area01 h4 {
    font-size: 20px;
    letter-spacing: 0.05em;
	margin: 0 auto 20px;
	border-bottom:2px solid rgba(255,255,255,0.8);
}
@media  print, screen and (max-width: 360px) {
.area01 h4 {
    font-size: 19px;
    letter-spacing: 0.06em;
}
}
.area01 h4 span{
    margin: 0;
	display:block;
}
.area01 h4:after {
    border-bottom: solid 2px #b0a395;
}
.area01 p {
    margin: 0 0 10px;
    line-height: 1.6;
}
.area01 p.tel {
    margin: 0 0 2px;
	text-align:center;
}
.area01 p.tel a {
    background-size: auto 100%;
    padding: 6px 0px 6px 60px;
	font-size: 38px;
	display: inline-block;
	letter-spacing:0;
	line-height: 1.0;
	white-space:nowrap;
}
@media  print, screen and (max-width: 375px) {
.area01 p.tel a {
    padding: 6px 0px 6px 54px;
	font-size: 33px;
}
}
@media  print, screen and (max-width: 320px) {
.area01 p.tel a {
    background-size: auto 90%;
	padding: 6px 0px 6px 48px;
	font-size: 30px;
}
}
.area01 p.tel span {
    display: block;
    font-size: 13px;
    padding:8px 0 0 0;
	line-height: 1.6;
}
.area01 p.tel span br{
	display: inherit;
}
.area01 p.adr {
    padding: 0;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    flex-direction: column;
    align-items: center;
    gap:12px;
    text-align: center;
}
.area01 p.adr em {
    font-size: 22px;
	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 p.copy {
    margin: 0;
    padding: 0 0 0.5em;
}
.area01 .btn_more {
	padding-top:20px;
	margin:0;
}
@media  print, screen and (max-width: 360px) {
.area01 .btn_more {
	margin:0 10px 0;
}
}
.area01 .btn_more a{
	font-size:16px;
	padding:12px 24px 14px 18px;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
@media  print, screen and (max-width: 375px) {
.area01 .btn_more a{
	padding:10px 18px 12px 18px;
}
}
.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: 6px;
    height: 14px;
}
@media  print, screen and (max-width: 375px) {
.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(230, 224, 215, 0.4);
	/*background:#edf0f6 url(../images/bg_area02.svg) no-repeat bottom left;
	background-size: auto;*/
	box-sizing:border-box;
	outline: 5px solid rgba(184, 173, 162, 0.4);
    outline-offset: -15px;
	box-shadow: 10px 10px 0 0 rgba(255, 255, 255, 0.2);
}
.area02 .inner{
    width: auto!important;
    padding: 60px 50px 48px;
    margin: 0;
}
.area02 h4 {
    margin: 0 auto 36px;
    border-bottom: 3px solid rgba(0, 0, 0, 0.08);
}
.area02 h4:after {
    border-bottom: solid 3px #b0a395;
}
@media  print, screen and (max-width: 767px) {
.area02 {
    margin: 0 0 25px;
	outline: 3px solid rgba(152, 141, 130, 0.1);
    outline-offset: -3px;
	/*background:#edf0f6 url(../images/bg_area02.svg) no-repeat bottom 15px center;
	background-size: auto 80%;*/
    box-shadow: 5px 5px 0 0 rgba(255, 255, 255, 0.2);
}
.area02 .inner{
    padding: 25px 20px 13px!important;
	display: inherit;
	position:relative;
}
.area02 h4 {
    margin: 0 auto 20px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.08);
}
.area02 h4:after {
    border-bottom: solid 2px #b0a395;
}
}

/*================================area_important===============================*/
.area_important{
	width: auto;
	margin: 0 auto 40px;
	padding: 32px 50px 18px;
	text-align: center;
	box-sizing: border-box;
    background: rgba(152, 141, 130, 0.7);
	/*background: linear-gradient(to right, #988D82 0%, #988D82 70%, #6e6157 100%);*/
	outline: 5px solid rgba(255,255,255,.2);
	outline-offset: -5px;
	color: #fff;
	font-size: 17px;
}
.area_important.white{
    background: rgba(255, 255, 255, 0.5);
	outline: 5px solid rgba(152, 141, 130, 0.15);
	outline-offset: -5px;
    color: #2B3842;
}
.area_important.compact{
    margin: 0 auto!important;
	padding:20px 15px 10px;
    outline: 2px solid rgba(152, 141, 130, 0.4);
	outline-offset: -2px;
}
.inner .area_important{
	margin: 0 auto 35px;
}
.intro_box .area_important{
	padding: 32px 50px 14px;
	margin: 0 auto 40px;
}
.area_important h4{
	font-size: 26px;
	color: #fff;
	padding: 0 10px 28px;
	margin: 5px auto 20px;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	/*background-image: linear-gradient(to right,#fff 2px,transparent 2px);
	background-size: 8px 2px;
	background-repeat: repeat-x;
	background-position: left bottom;
	border-bottom: none;*/
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
.area_important.white h4{
    color: #2B3842;
    border-bottom: 1px solid rgba(208, 198, 187, 0.7);
}
.area_important h4:after{
	display: none;
}
.area_important p.catch{
	margin: 0!important;
	padding: 0 0 .5em!important;
}
.area_important strong{
	color: #fff;
}
.area_important.white strong{
    color: #2B3842;
}
.area_important p{
	text-align: center;
	font-size: 18px;
	font-weight: 400;
	margin: 0;
	color: #fff;
}
.area_important.white p{
    color: #2B3842;
}
.area_important.compact p{
    font-size: 16px;
}
.area_important p.txt_small{
	font-size: 16px;
}
@media screen and (max-width:767px){
	.area_important{
		margin: 0 10px 15px;
		padding: 20px 18px 8px;
		font-size: inherit;
	}
    .area_important.compact{
        padding:20px 15px 10px;
        font-size: 14px;
}
	.inner .area_important{
		margin: 0 0 15px;
	}
	.intro_box .area_important{
		padding: 15px 20px 0;
		margin: 0 0 15px;
	}
	.area_important h4{
		font-size: 17px;
		padding: 0 0 12px;
		margin: 0 0 14px;
		line-height: 1.5;
		letter-spacing: .02em;
		/*background-image: linear-gradient(to right,#fff 1px,transparent 1px);
		background-size: 4px 1px;
		background-repeat: repeat-x;
		background-position: left bottom;*/
	}
	.area_important p{
		text-align: left;
		font-size: 14px;
	}
    .area_important.compact p{
        font-size: 14.5px;
	}
    .area_important p.txt_small{
        font-size: 14px;
    }
}

/*================================ index menu ==============================*/
.index_menu{
	width:100%;
	box-sizing: border-box;
	margin:auto;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	justify-content: space-between;
	text-align:left;
	}
.menu_column4 .index_menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:30px;
    padding: 80px;
    margin-top: -20px;
    box-sizing: inherit;
    position: relative;
    background: linear-gradient(to bottom, rgba(255,255,255,0.65) 40%, rgba(255,255,255,0.25) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0.65) 40%, rgba(255,255,255,0.25) 100%);
    z-index: 10;
}
.index_menu br{
	display: inline;
	}
.index_menu img{
	width:100%;
	}
.index_menu .inner_text{
	padding:0;
	}
.index_menu .inner_text p{
	padding:0 0 15px;
	line-height: 1.8;
	box-sizing: border-box;
	font-size: 16px;
	text-align:left;
	color: #2B3842;
	-webkit-text-size-adjust: none;
	}
.index_menu .inner_text p br{
	display: inherit;
	}
main .index_menu h2 {
	width:auto;
	height: auto;
    color: #2B3842!important;
	letter-spacing: 0.08em;
	font-size: 34px;
	font-weight: 500;
	box-shadow: 0 3px 0 rgba(0,0,0,0.08);
	background:none;
	position:relative;
	margin: 0 0 25px;
	padding: 20px 0 20px;
	text-align:center;
    line-height: 1.5;
	}
main .index_menu .index_menu_wrap h2 {
	box-shadow:none;
	}
main .index_menu h2::before {
    content: '';
    position: absolute;
	top: auto;
    bottom: -3px;
    display: inline-block;
    width: 140px;
    height: 3px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #b0a395;
	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: 25px;
	letter-spacing: 0.08em;
	margin:0 0 12px;
	display:block;
}
.index_menu h3 {
	font-size: 28px;
	font-weight:600;
    width: 100%;
    letter-spacing: 0.07em;
    padding: 0;
    margin: 0 0 20px;
	text-align:left;
	color: #2B3842;
	background:none;
	line-height: 1.5;
	box-shadow:none;
	box-sizing:border-box;
	-webkit-text-size-adjust: none;
}
.index_menu h3 br{
	display: inherit;
	}
.index_menu h3.first {
    margin: 30px 0 20px;
}
.index_menu h3:before,
.index_menu h3:after {
	display:none;
}
.index_menu .inner_text p.name {
	display: block;
	color: #516a90;
	font-size: 28px;
	padding:0;
	margin-bottom:12px;
	line-height: 1.5;
	font-weight:bold;
	border:none;
	text-align:left;
	vertical-align: top;
	}
.index_menu .inner_text p.name span{
	display:block;
	margin-left:0;
	font-size: 14px;
	}
.index_menu .inner_text p.name br {
    display: inherit;
}
.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 {
    font-family: "Zen Old Mincho", serif;
	display:block;
	color: #7f7267!important;
	font-size:25px;
	letter-spacing: 0.02em;
	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;
	font-weight: 500;
    letter-spacing: 0.02em;
    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: block!important;
	color:#7f7267;
	font-size: 16px;
	font-weight:normal;
	border-radius:0;
	text-decoration:none;
	letter-spacing: 0.2em;
	line-height:60px;
	padding: 0 23px;
	position:relative;
	box-sizing: border-box;
    background:#fff url(../images/arrow_more.svg) no-repeat center right 25px;
    background-size: 10px auto;
	text-align:left;
	border:1px solid #7f7267;
	}
.index_menu a:hover .btn_more {
	opacity:1.0;
	background:#8D8278!important;
	transition: 0.7s ;
}
.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: -10px;
    left: 520px;
    z-index: 11;
}
.index_menu .point img{
	width:auto;
	height:140px;
}

@media  print, screen and (max-width: 767px) {
.index_menu{
	display:block;
	margin-top:0px;
	text-align:center;
	}
    .index_menu img {
    width: 45%;
}
.menu_column4 .index_menu{
    gap: 10px;
    padding:0;
    margin-top:0px;
    box-sizing: border-box;
    position: static;
    background:none;
}
.index_menu br{
	display: none;
	}
.index_menu .inner_text p{
	line-height: 1.6;
	font-size: 12px;
	-webkit-text-size-adjust: auto;
    padding-bottom: 0;
	}
.index_menu .inner_text p br{
	display:none;
	}
main .index_menu h2 {
	letter-spacing: 0.05em;
	font-size: 16px;
	box-shadow: none;
	margin: 0 0 10px;
	padding: 5px 0;
    text-align: left;
	}
main .index_menu h2::before {
    bottom: -2px;
    width: 30%;
    height: 2px;
    display: none;
}
.index_menu h2 .txt_small {
    font-size: 16px;
	letter-spacing: 0.05em;
	margin:4px 0 0;
}
.index_menu h3 {
	font-size: 16px;
    letter-spacing: 0.05em;
    padding: 12px 0 0;
    margin: 0 0 10px;
	line-height: 1.5;
	-webkit-text-size-adjust: auto;
}
.index_menu h3 br{
	display:none;
	}
.index_menu .inner_text img.floatR {
	float: right;
    filter: unset;
    position: relative;
    z-index: 99;
	}
.index_menu .inner_text p.name {
	font-size: 20px;
	margin-bottom:0px;
	line-height: 1.6;
	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.second{
	letter-spacing: 0.07em;
	}
.index_menu .inner_text p.name.second br{
	display: inherit;
	}
.index_menu .inner_text p.catch {
	font-size:16px;
	letter-spacing: 0;
	padding:0 0 8px!important;
	text-align:left;
    line-height: 1.3;
	}
.index_menu .inner_text p.catch strong{
	font-size: 15px;
    letter-spacing: 0;
	}
.index_menu .btn_more{
	display:inline-block!important;
	font-size:12px;
	line-height:1.6;
	padding: 5px 40px 5px 10px;
    background:#fff url(../images/arrow_more.svg) no-repeat center right 10px;
    background-size: 10px auto;
    border: 1px solid #7f7267;
    margin: 0 auto;
    margin-top: 10px;
    font-size: 12px;
    letter-spacing: 1px;
	}
.index_menu .point {
    top: -5px;
    left: 10px;
}
.index_menu .point img{
	height:80px;
}
}
@media  print, screen and (max-width: 359px) {
main .index_menu h2 {
	letter-spacing: 0.03em;
	font-size: 20px;
}
}

/*================================ index menu full ==============================*/
.index_menu_full_wrap{
	width:100%;
	margin:0 0 100px;
	padding: 0px;
	box-sizing: border-box;
	position:relative;
	z-index:1;
	/*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;
	outline-style:none;
	text-decoration: none;
	padding:0;
	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{
	top: 50px;
	width: 660px;
    padding: 36px 86px 36px 56px;
    margin-left: -60px;
	box-sizing:border-box;
	text-align: left;
	background:#fff url(../images/bg_inner_text.svg) no-repeat left 58px center;
    background-size: 78% auto;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
    justify-content: center;
	border-radius: 0;
	filter: drop-shadow(10px 10px 0 rgba(255, 255, 255, 0.32));
	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: 28px;
	bottom: 50%;
    margin-bottom: -20px;
    width: 20px;
    height: 40px;
}
main .index_menu h2 img {
    display: block;
    margin: 0 auto 10px;
    width: auto;
	height:auto;
}
main .index_menu h2 span:before,
main .index_menu h2 span:after{
	display:none;
}
.index_menu_full_wrap .inner_photo {
    overflow: hidden;
    width:600px;
    height:400px;
	display:flex;
	justify-content: center;
    align-items: center;
	border-radius: 0;
	filter: drop-shadow(10px 10px 0 rgba(255, 255, 255, 0.32));
	z-index: 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%;
    opacity: 0.55;
    filter: sepia(0.45) saturate(0.55);
    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: 10px solid rgba(255,255,255,0.4);
    outline-offset: -10px;
	z-index: 2;
	}
.index_menu_full_wrap .inner_photo img{
	transition: 0.5s ;
	width:100%;
	height:auto;
	border-radius: 0;
	}
.index_menu_full_wrap .inner_photo img.transparent {
    width:auto;
	max-width:90%;
    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%;
    opacity: 1.0;
    filter: sepia(0.45) saturate(0.55);
    z-index: 1;
    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 {
    width: auto;
	min-width:90px;
    font-family: 'Libertinus Math', serif;
    font-size: 18px;
    color: #fff;
	font-weight:400;
    background: #B8ADA2;
    position: absolute;
    top: -22px;
    left: -40px;
    line-height: 43px;
	letter-spacing: 0.05em;
	padding: 0 30px;
    z-index:10;
	display:flex!important;
	justify-content: center;
	filter: drop-shadow(5px 5px 0 rgba(81, 58, 41, 0.02));
}
.index_menu_full_wrap .heading.jp {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
	font-weight:500;
}
.index_menu_full_wrap .heading em{
    font-size: 24px;
	font-weight: 700;
}
.index_menu_full_wrap .heading .small{
    font-size: 18px;
	padding: 0 5px;
}
.index_menu_full_wrap .company {
    display: inline-block;
    font-size: 22px;
    font-weight: 400;
    color: #fff;
    padding: 0 20px;
	margin-bottom: 10px;
    line-height: 60px;
    letter-spacing: 0.1em;
    background: #4D4435;
	position: relative;
}
.index_menu_full_wrap .company span{
	display: inherit;
	margin-left:10px;
}
.index_menu_full_wrap .position span{
	display: block;
}
.index_menu_full_wrap a:hover{
	opacity: 0.8;
	transition-duration: 0.7s;
	}
.index_menu_full_wrap .number {
	width:90px;
	height:90px;
    position: absolute;
    top: -30px;
    left: -30px;
	z-index: 100;
	display:flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	background: #B8ADA2;
	border-radius:50%;
    font-family: 'Libertinus Math', serif;
    color: #fff;
    font-weight:400;
    font-size: 48px;
    line-height: 1.0;
	letter-spacing: 0;
	box-sizing:border-box;
    padding: 0;
}
.index_menu_full_wrap .number span{
    font-size: 22px;
	margin:10px 0 -10px;
}
.index_menu_full_wrap .number img{
    width: auto;
	height: 70px;
}
.index_menu_full_wrap p.year {
    font-weight:500;
    color: #8D8278;
    padding: 0;
    margin: 0 0 10px;
    font-size: 15px;
    display: block;
	line-height: 1.0;
	text-align: left;
}

@media  print, screen and (max-width: 767px) {
.index_menu_full_wrap{
	width:100%;
	padding: 0px;
	box-sizing: border-box;
	margin-bottom:25px;
	position:relative;
	z-index:1;
	filter: unset;
	}
.index_menu_full_wrap:last-child{
	margin-bottom:25px;
	}
.index_menu_full_wrap a{
	background:rgba(255,255,255,0);
	display:block;
	padding: 0px;
	}
.index_menu_full_wrap .inner_text{
    padding: 10px;
    border-radius: 0;
	text-align:left;
    background:#fff url(../images/bg_inner_text_sedond.svg) no-repeat center center;
    background-size: auto 90%;
	display:block;
	filter:none;
	top:auto;
	width:auto;
	margin-left:0;
	z-index:10;
	}
.index_menu_full_wrap .inner_text:after {
	display:none;
}
main .index_menu h2 img {
    width: auto;
	height:40px;
}
.index_menu_full_wrap .inner_photo {
    width:100%;
    height:auto;
	aspect-ratio: 540 / 360;
	overflow: visible;
	filter:none;
	z-index:10;
    display:none;
}
.index_menu_full_wrap .inner_photo:after {
    outline: 6px solid rgba(255,255,255,0.4);
    outline-offset: -6px;
	}
.index_menu_full_wrap .inner_photo img{
	width:100%;
	height:auto;
	transition:none;
	}
.index_menu_full_wrap .inner_photo img.transparent {
    width:auto;
	max-width:90%;
    height:auto;
	max-height:86%;
}
.index_menu_full_wrap .heading {
    min-width:inherit;
    font-size: 16px;
    top: -14px;
    left: -8px;
    line-height: 34px;
	padding: 0 20px 0px;
    filter: drop-shadow(2px 2px 0 rgba(81, 58, 41, 0.1));
}
.index_menu_full_wrap .heading.jp {
    font-size: 10px;
    padding: 0 12px;
    box-sizing: border-box;
    line-height: 26px;
}
.index_menu_full_wrap .heading em{
    font-size: 20px;
}
.index_menu_full_wrap .heading .small{
    font-size: 13px;
	padding: 0 2px;
}
.index_menu_full_wrap .company {
    font-size: 14px;
    padding: 0 18px;
	margin-bottom: 7px;
    line-height: 40px;
    letter-spacing: 0.07em;
}
.index_menu_full_wrap .company span{
	display: inline;
	margin-left:0;
}
.index_menu_full_wrap a:hover{
	opacity: 1.0;
	}
.index_menu_full_wrap a:hover .inner_photo img{
	transform: none;
	}
.index_menu_full_wrap .number {
	width:56px;
	height:56px;
    top: -10px;
    left: -8px;
    font-size: 30px;
}
.index_menu_full_wrap .number span{
    font-size: 13px;
	margin:3px 0 -8px;
}
.index_menu_full_wrap p.year {
    padding: 0;
    margin: 0;
    font-size: 13px;
	text-align: left;
}
}

/*================================ index menu half ==============================*/
.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(77, 68, 53, 0.06);
	}
.index_menu_wrap a{
	background:url("../images/bg_index_menu.png") repeat 0 0;
	display:block;
	outline-style:none;
	text-decoration: none;
	padding:15px 0 0;
	box-sizing: border-box;
	border-radius: 0;
    filter: drop-shadow(10px 10px 0 rgba(255, 255, 255, 0.32));
	}
.index_menu_wrap.second a{
	padding:15px 0 0;
	border-radius: 0;
	}
.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{
	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%;*/
	text-align:center;
	}
.index_menu_wrap.second .inner_text{
	padding: 25px 60px 15px 40px;
	}
.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: 28px;
    margin-top: -18px;
    width: 18px;
    height: 36px;
}
.index_menu_wrap.second .inner_text:after {
    right: 17px;
    margin-top: -13px;
    width: 13px;
    height: 26px;
}
.menu_column4 .index_menu_wrap .inner_text{
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding:28px 70px 28px 60px;
    box-sizing: border-box;
	}
.menu_column4 .index_menu_wrap .inner_text:before {
    content: '';
    display: block;
    position: absolute;
    top: -30px;
    left: 0;
    width: 12px;
    height: 100px;
    background-color: #fff;
    z-index: 0;
}
.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:420px;
    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:420px;
	height:280px;
	padding: 0;
	}
.menu_column4 .index_menu_wrap .inner_photo img{
    width:100%;
    padding:0;
    object-fit: cover;
    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.05);
	}
.index_menu_wrap .inner_text .heading {
    width: auto;
	min-width:70px;
    font-family: 'Libertinus Math', serif;
    font-size: 18px;
    color: #fff;
	font-weight:400;
    background: #B8ADA2;
    position: absolute;
    top: -30px;
    left: -15px;
    line-height: 41px;
	letter-spacing: 0.05em;
    text-align: center;
	padding: 0 30px;
    box-sizing: border-box;
    z-index: 10;
    display: flex !important;
    justify-content: center;
    filter: drop-shadow(5px 5px 0 rgba(81, 58, 41, 0.02));
}
.index_menu_wrap .inner_text .heading.jp {
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 500;
}
main .index_menu .index_menu_wrap h2 {
    padding: 5px 0 8px;
    margin: 0;
	background:none;
	font-size: 28px;
	line-height: 1.5;
	letter-spacing: 0.08em;
    border-bottom: none;
	right:auto;
	}
.menu_column4 .index_menu .index_menu_wrap h2 {
    color: #4D4435;
    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;
	}

@media  print, screen and (max-width: 767px) {
.index_menu_wrap{
	width:100%;
	padding: 0;
	box-sizing: border-box;
	margin:0 0 20px;
	position:relative;
	}
.index_menu_wrap.second{
	width:100%;
	}
.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{
	display:block;
	padding: 0;
	border-radius: 0;
    filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.32));
	}
.index_menu_wrap.second a{
	padding: 0;
	}
.menu_column4 .index_menu_wrap a{
    height: 100%;
    filter: none;
	}
.index_menu_wrap .inner_text{
    padding:8px 40px 8px 20px;
    background: #fff;
	/*background: #fff url(../images/bg_inner_text_sedond.svg) no-repeat center center;
    background-size: auto 86%;*/
	text-align:center;
	margin-top:0;
	width:auto;
	}
.index_menu_wrap.second .inner_text{
	padding:8px 40px 8px 20px;
	}
.index_menu_wrap .inner_text:after {
    right: 17px;
    margin-top: -13px;
    width: 13px;
    height: 26px;
}
.menu_column4 .index_menu_wrap .inner_text {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    box-sizing: border-box;
	}
.menu_column4 .index_menu_wrap .inner_text:before {
    top: -20px;
    width: 8px;
    height: 70%;
}
.menu_column4 .index_menu_wrap .inner_text:after {
    display: none;
	}
.index_menu_wrap .inner_photo {
	overflow: visible;
    width:auto;
    height:auto;
	margin:0;
    filter:none;
}
.index_menu_wrap .inner_photo img{
	width:86%;
	height:auto;
	padding:8px 8px;
	transition:none;
	}
.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.second .inner_photo {
	overflow: visible;
    width:auto;
    height:auto;
	margin:0;
}
.index_menu_wrap.second .inner_photo img {
	width:80%;
	height:auto;
	padding:8px 8px;
	transition:none;
}
.index_menu_wrap a:hover .inner_photo img{
	transform: none;
	}
.index_menu_wrap .inner_text .heading {
    min-width:inherit;
    font-size: 16px;
    top: -24px;
    left: -8px;
    line-height: 32px;
	padding: 0 20px 0px;
    filter: drop-shadow(2px 2px 0 rgba(81, 58, 41, 0.1));
}
.index_menu_wrap .inner_text .heading.jp {
    font-size: 16px;
    padding: 0 20px 2px;
    box-sizing: border-box;
}   
main .index_menu .index_menu_wrap h2 {
    padding: 14px 0 8px;
	font-size: 22px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	}
.menu_column4 .index_menu .index_menu_wrap h2 {
	font-size: 16px;
    line-height: 1.4;
    padding: 0;
	}
.index_menu_wrap a:hover{
	opacity:1.0;
	background:url("../images/bg_index_menu.png") repeat 0 0;
	}
.menu_column4 .index_menu_wrap a:hover{
    background:url("../images/bg_index_menu_column4.png") repeat 0 0;
	}
}
@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: 360px) {
.menu_column4 .index_menu_wrap .inner_text {
    height: 74px;
	}
.menu_column4 .index_menu .index_menu_wrap h2 {
	font-size: 15px;
}
}
@media  print, screen and (max-width: 359px) {
main .index_menu .index_menu_wrap h2 {
	font-size: 18px;
	}
}
@media  print, screen and (max-width: 320px) {
.index_menu_wrap .inner_text{
    padding:8px 20px 5px 20px;
}
.index_menu_wrap .inner_text:after {
	display:none;
}
.index_menu_wrap.second .inner_text{
    padding:8px 20px 5px 20px;
}
.menu_column4 .index_menu_wrap .inner_text:before {
    width: 6px;
}
.menu_column4 .index_menu .index_menu_wrap h2 {
	font-size: 14.6px;
    letter-spacing: 0.04em;
}
}

/*================================ grid_content ===============================*/
.grid_content{
	margin:0;
}
.grid_content h2{
	text-align:center;
}
.grid_content ul{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	margin:0;
	padding:0;
	justify-content:space-between;
}
.grid_content.col3 ul{
	display:flex;
	flex-wrap:wrap;
	width:100%;
	margin:0;
	padding:0;
	justify-content:center;
    gap:10px;
}
.intro_box .grid_content ul{
	margin:-10px 0 30px;
}
.grid_content li{
	box-sizing:border-box;
	margin:0;
	position:relative;
	width:calc(100% / 4 - 8px);
	padding-bottom:10px;
}
.grid_content.col3 li{
	box-sizing:border-box;
	margin:0;
	position:relative;
	width:calc(100% / 3 - 10px);
	padding-bottom:10px;
}
.grid_content li:hover{
	opacity:0.5;
	transition:0.5s;
}
.grid_content li a{
    display:block;
	padding:0;
	background:none;
}
.grid_content.gallery_grid li a{
    aspect-ratio:4 / 3;
    overflow:hidden;
}
.column.text .grid_content{
	bottom:0;
}
.column.text .grid_content li{
	width:calc(100% / 2 - 20px);
}
.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 img{
	width:100%;
	height:auto;
}
.gallery_grid li img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
}
.grid_content li p{
	padding:12px 0 0;
	line-height:1.5;
	text-align:center;
}
.grid_content li p em{
	display:block;
	margin-bottom:3px;
	color:#444;
	text-align:center;
}
.column.text .grid_content li p{
	text-align:left;
}
@media print, screen and (max-width:767px){
.grid_content{
	margin:0 -5px;
}
.grid_content li{
	margin:0 4px;
	width:calc(100% / 2 - 8px);
}
.column.text .grid_content li{
	width:calc(100% / 2 - 10px);
	margin:0 5px;
}
.grid_content li p{
	padding:8px 0 0;
}
}

/*================================ form ===============================*/
#mailform table{
	line-height:1.8em;
	margin-bottom:20px;
	border-top:1px solid rgba(152, 141, 130, 0.5);
	border-bottom:1px solid rgba(152, 141, 130, 0.5);
	background:none;
}
#mailform table th,
#mailform table td{
	display:table-cell;
	border-bottom:1px solid rgba(152, 141, 130, 0.5);
	padding:20px 30px;
}
#mailform table th{
	font-size:18px;
}
#mailform table td{
	font-size:16px;
	background:#fff;
    vertical-align: middle;
}
#mailform table th{
	width:24%;
	background:rgba(208, 198, 187, 0.15);
	font-size:18px;
	font-weight:500;
	color:#2B3842;
	padding:20px 30px;
}
#mailform table th span{
	font-size:1rem;
}
#mailform table th .important{
	padding-left:10px;
	font-size:0.9rem;
	font-weight:400;
}
#mailform input[type="radio"],
#mailform input[type="checkbox"]{
	transform:scale(1.3);
	margin:8px 12px 8px 0;
}
#mailform input[type="text"],
#mailform input[type="number"],
#mailform input[type="email"],
#mailform input[type="tel"],
#mailform select{
	width:60%;
	max-width:600px;
	height:auto;
	min-height:40px;
	margin:0;
	padding:7px 12px 8px;
	box-sizing:border-box;
}
#mailform textarea{
	width:80%;
	max-width:800px;
	height:8em;
	margin:0;
	padding:10px;
	box-sizing:border-box;
	font-size:16px;
    line-height:1.7;
	font-family:"Noto Sans JP", sans-serif;
}
#mailform textarea.second{
	height:5em;
}
#mailform input,
#mailform select{
	font-size:16px;
	line-height:1.4;
	font-family:"Noto Sans JP", sans-serif;
}
#mailform select{
	font-size:15px;
}
#mailform input[type="submit"]{
    color: #2B3842;
	font-size:16px;
	font-weight:500 !important;
	width:auto;
	padding:22px 80px;
	border-radius:5px;
	border:1px solid #ccc;
	margin:10px 4px 4px;
	background:linear-gradient(#fff5f5 0%, #ffdbdb 100%);
	text-align:center;
}
#mailform input[type="reset"]{
    color: #2B3842;
	font-size:16px;
	width:auto;
	padding:22px 30px;
	border-radius:5px;
	border:1px solid #ccc;
	margin:10px 4px;
	background:linear-gradient(to bottom,#ffffff 1%,#ededed 100%);
	text-align:center;
}
#mailform input[type="submit"]:hover{
	background:linear-gradient(#fff 0%, #ffe0e0 100%);
}
#mailform input[type="submit"]:active{
	background:linear-gradient(#fff5f5 0%, #ffe0e0 100%);
}
#mailform input[type="reset"]:hover{
	background:linear-gradient(to bottom,#ffffff 1%,#fff5f5 100%);
}
@media screen and (max-width:767px){
	#mailform table{
		line-height:1.8em;
		margin-bottom:20px;
		background:rgba(208, 198, 187, 0.1);
        border-top: 1px solid rgba(152, 141, 130, 0.5);
        border-bottom: 1px solid rgba(152, 141, 130, 0.5);
	}
	#mailform table th,
	#mailform table td{
		width:100%;
		display:block;
		border:none;
		padding:0;
	}
	#mailform table th{
		width:100%;
		background:none;
		font-size:16px;
		padding:13px 13px 3px;
		box-sizing:border-box;
	}
	#mailform table th span{
		font-size:0.9rem;
	}
	#mailform table th .important{
		padding-left:10px;
		font-size:0.85rem;
		font-weight:400;
	}
	#mailform table td{
		font-size:14px;
		background:none;
		padding:0 13px 13px;
		box-sizing:border-box;
		border-bottom:1px solid rgba(152, 141, 130, 0.5);
	}
	#mailform table tbody tr:last-child td{
		border-bottom:none;
	}
	#mailform input[type="radio"],
	#mailform input[type="checkbox"]{
		transform:scale(1.2);
		margin:6px 10px 8px 0;
	}
	#mailform input[type="text"],
	#mailform input[type="number"],
	#mailform input[type="email"],
	#mailform input[type="tel"],
	#mailform select{
		width:100%;
		max-width:none;
		min-height:40px;
		padding:7px 12px 8px;
		margin: 0.3em 0 0;
	}
	#mailform textarea{
		width:100%;
		max-width:none;
		height:8em;
		margin: 0.3em 0 0;
		padding:10px;
	}
	#mailform textarea.second{
		height:5em;
	}
	#mailform input[type="submit"]{
        font-size: 15px;
		width:80%;
		padding:20px 20px;
        margin: 4px 4px 4px;
	}
	#mailform input[type="reset"]{
        font-size: 14px;
		width:80%;
		padding:16px 20px;
	}
}

/*================================ thanks===============================*/
.thanks {
	padding: 0;
	box-sizing: border-box;
	min-height: 600px;
	text-align: center;
}
.thanks p {
	line-height: 2.0;
}
.thanks p br {
	display: inherit;
}
.thanks .catch {
	margin-bottom: 60px;
}
.thanks .catch strong {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 0.1em;
    color: #8D8278;
	line-height: 1.8;
	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: 767px) {
	.thanks {
		padding: 0 20px 15px;
		min-height: 200px;
		text-align: left;
	}
	.thanks p {
		line-height: 1.8;
	}
	/*.thanks p br {
		display: none;
	}*/
	.thanks .catch {
		margin-bottom: 20px;
	}
    .thanks .catch br {
		display: none;
	}
	.thanks .catch strong {
		font-size: 22px;
        letter-spacing: 0.05em;
		line-height: 1.6;
	}
}
@media print, screen and (max-width: 360px) {
	.thanks .catch strong {
		font-size: 20px;
	}
}

/*================================ faq ===============================*/
main .faq {
	padding:0;
	box-sizing: border-box;
	}
main .faq dl dt {
	background: url(../images/icon_q.svg) no-repeat left top 6px;
	background-size:29px auto;
	margin: 0 0 10px;
	padding:2px 0 2px 45px;
    color: #796b5b;
	font-weight:500;
	font-size: 18px;
	letter-spacing: 0.03em;
	line-height: 1.8;
	}
main .faq dl dd {
	background: url(../images/icon_a.svg) no-repeat left top 2px;
	background-size:31px auto;
	margin: 0 0 20px;
	padding-left: 45px;
	border-bottom:1px dotted #bbb;
	padding-bottom: 25px;
    font-family: "Noto Sans JP", sans-serif;
    color: #2B3842;
	font-weight:500;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 2.0;
	}
@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 3px;
	background-size:22px auto;
	margin: 0 0 8px;
    padding:0 0 0 45px;
    font-size: 15px;
	padding-left: 35px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	}
main .faq dl dd {
	background: url(../images/icon_a.svg) no-repeat left top 2px;
	background-size:23px auto;
	margin: 0 0 12px;
	padding-bottom: 14px;
	padding-left: 35px;
	font-size: 12px;
	line-height: 1.5;
	}
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;
	box-sizing:border-box;
}
.sitemap_box .wrap{
	width:1120px;
}
.sitemap_box dl{
	width:100%;
	margin:0 0 25px;
	box-sizing:border-box;
	background:rgba(255,255,255,1.0);
	border:solid 2px #ddd8d0;
}
.sitemap_box dt{
	width:100%;
	font-size:21px;
    color: #2B3842;
	font-weight:500;
	letter-spacing:0.05em;
	line-height:1.5;
}
.sitemap_box dt a{
	display:block;
	outline-style:none;
	text-decoration:none;
	padding:18px 25px 18px 42px;
	box-sizing:border-box;
	background:#f8f6f2 url("../images/arrow_c.svg") no-repeat center right 32px;
	background-size:auto 14px;
	color: #2B3842;
	font-weight:500;
	letter-spacing:0.05em;
	position:relative;
}
.sitemap_box dt a:before{
	content:'';
	position:absolute;
	top:50%;
	left:20px;
	bottom:auto;
	display:inline-block;
	width:3px;
	height:60%;
	transform:translateY(-50%);
    background: #D0C6BB;
	-webkit-animation:none!important;
}
.sitemap_box dt .en{
	font-family:"Albert Sans",serif;
	font-size:24px;
	font-weight:400;
	line-height:1.0;
	letter-spacing:0.15em;
}
.sitemap_box dt .small{
	font-size:15px;
	font-weight:400;
	display:block;
	margin-top:2px;
}
.sitemap_box dd{
	border-top:1px solid rgba(208, 198, 187, 0.8);
	width:100%;
	padding:10px;
	box-sizing:border-box;
	letter-spacing:0.05em;
	line-height:1.5;
}
.sitemap_box dl dl dd{
	margin:0;
}
.sitemap_box ul{
	display:flex;
	flex-wrap:wrap;
	list-style:none;
    margin-bottom: 8px;
}
.sitemap_box li{
	width:calc(100% / 2 - 20px);
	margin:0 10px 4px;
	border-bottom:1px dotted rgba(208, 198, 187, 0.8);
}
.sitemap_box li:last-child{
	border-bottom:1px dotted rgba(208, 198, 187, 0.8);
}
.sitemap_box li a{
	display:block;
	outline-style:none;
	text-decoration:none;
	padding:10px 14px 12px;
	box-sizing:border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 14px;
	color: #2B3842;
	font-size:18px;
	font-weight:500;
	line-height:1.6;
}
.sitemap_box li a .small{
	font-size:15px;
}
.sitemap_box h5{
	width:auto;
	color: #2B3842;
	font-size:20px;
	font-weight:500;
	margin:0 10px 10px;
	padding:0;
	border-top:none;
	border-bottom:1px solid rgba(208, 198, 187, 0.8);
	letter-spacing:0.1em;
}
.sitemap_box h5:before{
	content:'';
	position:absolute;
	top:50%;
	left:0;
	bottom:auto;
	display:inline-block;
	width:3px;
	height:60%;
	transform:translateY(-50%);
    background: #e0d8cf;
	animation:none!important;
	-webkit-animation:none!important;
}
.sitemap_box h5.no-border{
	border-top:none;
}
.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 22px;
	box-sizing:border-box;
	background:url("../images/arrow_c.svg") no-repeat center right 12px;
	background-size:auto 14px;
	color: #2B3842;
}
.sitemap_box dt a:hover{
	color: #2B3842;
	opacity:0.6;
	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: #2B3842;
}
.sitemap_box h5 a:hover{
	opacity:0.5;
	transition-duration:0.7s;
}
@media print, screen and (max-width:767px){
	body#other main > #contents:first-child{
		padding-top: 0;
	}
	.sitemap_box{
		padding:0 15px;
	}
    .sitemap_box .wrap{
        width:100%;
    }
	.sitemap_box dl{
		margin:0 0 15px;
	}
	.sitemap_box dt{
	}
	.sitemap_box dt a{
        padding: 5px 10px;
        background-position: center right 20px;
        background-size: auto 10px;
        font-size: 14px;
        background: #f8f6f2;
	}
	.sitemap_box dt a:before{
		left:12px;
        display: none;
	}
	.sitemap_box dt .en{
		font-size:20px;
	}
	.sitemap_box dt .small{
		font-size:14px;
	}
	.sitemap_box dd{
		padding:0;
        font-size: 16px;
	}
    .sitemap_box ul{
        margin-bottom:0;
    }
	.sitemap_box li{
		width:50%;
		margin:0;
    border-right: 1px dotted rgba(208, 198, 187, 0.8);        
        box-sizing: border-box;
	}
	.sitemap_box li:nth-child(even){
		    border-right:none;        

	}
	.sitemap_box li:last-child{
		border-bottom:none;
	}
	.sitemap_box li a{
		padding: 5px 10px;
		background-position:center right 20px;
		background-size:auto 10px;
		font-size:15px;
            font-size: 12px;
        background: none;
	}
	.sitemap_box li a .small{
		font-size:14px;
	}
	.sitemap_box h5{
		font-size:16px;
		margin:0;
		border-top:1px solid rgba(208, 198, 187, 0.8);
		border-bottom:1px dotted rgba(208, 198, 187, 0.8);
		letter-spacing:0.05em;
	}
    .sitemap_box h5:first-child{
		border-top:none;
	}
    .sitemap_box h5:before{
        left: 12px;
    }
	.sitemap_box h5.no_link{
		padding:10px 15px;
	}
	.sitemap_box h5 a{
		padding:14px 30px;
		background-position:center right 20px;
		background-size:auto 10px;
	}
}

/*================================ contents_head_navi ===============================*/
.contents_head_navi {
	max-width: 1840px;
    background: rgba(255, 255, 255, 1.0);
	padding:0;
    margin: 0 auto;
	z-index: 12;
	position:relative;
	}
.contents_head_navi:before {
    width: 100%;
    height: 20px;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1.0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
	}
.contents_head_navi:after {
    width: 100%;
    height: 20px;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 1.0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 10;
	}
.contents_head_navi ul {
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
	width:1200px;
	padding:20px 0 20px;
	box-sizing:border-box;
	margin:0 auto;
    gap: 10px;
    -webkit-text-size-adjust: none;
    /*border-bottom: 1px solid rgba(208, 198, 187, 0.6);*/
	}
.contents_head_navi li {
    width: calc((100% - 20px) / 3);
	margin:0!important;
	}
.contents_head_navi ul.nav_column4 li{
	width: calc((100% - 30px) / 4);
}
.contents_head_navi li a {
	width:100%;
	display: block;
	padding: 15px 28px 16px 10px;
	box-sizing:border-box;
	background:url(../images/arrow_more.svg) no-repeat center right 16px;
	background-size:auto 5px;
    color: #111;
	outline: 1px solid rgba(152, 141, 130, 0.8);
    outline-offset: -1px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing:0.04em;
	text-align:center;
	text-decoration: none;
	position:relative;
	filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.02));
	}
.contents_head_navi ul.nav_column4 li a {
    filter: drop-shadow(5px 5px 0 rgba(255, 255, 255, 0.1));
	}
.contents_head_navi li.act a {
	color: #fff;
	background:#b0a395 url(../images/arrow_more_w.svg) no-repeat center right 16px;
	background-size:auto 5px;
	outline: 1px solid #b0a395;
    outline-offset: -1px;
    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 {
	color: #fff;
	background:#b0a395 url(../images/arrow_more_w.svg) no-repeat center right 16px;
	background-size:auto 5px;
	outline: 1px solid #b0a395;
    outline-offset: -1px;
	opacity: 1.0;
	}
.contents_head_navi li a br{
	display: block;
	}
@media  print, screen and (max-width: 767px) {
.contents_head_navi {
    padding: 14px;
    display: none;
	}
.contents_head_navi ul {
    width: auto;
    padding: 0;
    gap: 5px;
	}
.contents_head_navi li,
.contents_head_navi ul.nav_column4 li{
	width: calc((100% - 5px) / 2);
	font-size:inherit;
	} 
.contents_head_navi li a {
    height: 100%;
	padding:10px 30px 10px 12px;
	background: url(../images/arrow_more.svg) no-repeat center right 12px;
	background-size:auto 4px;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
	font-size: 13px;
	line-height: 1.6;
    letter-spacing: 0.03em;
	text-align:left;
    outline: 1px solid rgba(152, 141, 130, 0.6);
    outline-offset: -1px;
    display: flex;
    align-items: center;
	} 
#about .contents_head_navi li a {
    display: block;
	} 
@media  print, screen and (max-width: 374px) {
.contents_head_navi li a {
	font-size: 12px;
	} 
}
.contents_head_navi li.act a {
	background: #b0a395 url(../images/arrow_more_w.svg) no-repeat center right 12px;
	background-size:auto 4px;
	}
.contents_head_navi li a:hover {
	background:#b0a395 url(../images/arrow_more_w.svg) no-repeat center right 12px;
	background-size:auto 4px;
	}
/*.contents_head_navi li a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    bottom: auto;
    display: inline-block;
    width: 2px;
    height: 24px;
    transform: translateY(-12px);
    background: #D0C6BB;;
    border: none;
    -webkit-animation: none!important;
	opacity:1.0;
}	*/
}
@media  print, screen and (max-width: 359px) {
.contents_head_navi li a br{
	display: inherit;
	}
}

/*================================ contents_sub_navi ===============================*/
.contents_sub_navi {
	margin:0 auto;
	padding:100px 0 0;
	width:1200px;
	clear:both;
	box-sizing:border-box;
}
#contents .inner .contents_sub_navi{
	padding:0;
}
.contents_sub_navi.second {
	margin:30px auto 0;
}
.contents_sub_navi dt {
	border-top:1px solid rgba(208, 198, 187, 0.6);
	text-align:center;
	font-weight:500;
    color: #2B3842;
	font-size:32px;
	padding:60px 30px 50px;
	box-sizing:border-box;
	margin:0 auto;
	letter-spacing:0.1em;
}
.contents_sub_navi.second dt{
	margin:0 auto;
}
.contents_sub_navi dt span{
	font-size:80%;
	padding:0 50px;
	position:relative;
	display:inline-block;
}
.contents_sub_navi dt a {
	color: #2B3842;
	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:30px;
	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 0 80px;
	box-sizing:border-box;
}
.contents_sub_navi.second dd{
	padding:0 0 30px;
}
.contents_sub_navi ul {
	display:flex;
	flex-wrap:wrap;
	list-style:none;
	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 {
	display:block;
	outline-style:none;
	padding:18px 60px 18px 24px;
	box-sizing:border-box;
	background: rgba(232, 226, 218, 0.5) url(../images/arrow_more.svg) no-repeat right 24px center;
	background-size: auto;
	color: #1f2e39;
	outline:2px solid #CCBFB2;
	outline-offset:-2px;
	font-size:19px;
	font-weight:500;
	line-height:1.5;
	letter-spacing:0.05em;
	text-decoration:none;
}
.contents_sub_navi li a:hover {
	color:#fff;
	outline:2px solid #CCBFB2;
	outline-offset:-2px;
	background:#CCBFB2 url(../images/arrow_more_w.svg) no-repeat right 24px center;
	background-size: auto;
	opacity:1.0;
	transition-duration:0.7s;
}
.contents_sub_navi li.act a {
	color:#fff;
	outline:2px solid #B8ADA2;
	outline-offset:-2px;
	background:#B8ADA2 url(../images/arrow_more_w.svg) no-repeat right 24px center;
	background-size: auto;
}
.contents_sub_navi li.act a:hover{
	opacity:0.7;
	transition-duration:0.7s;
}
/*.contents_sub_navi li a .small{
	font-size:0.9em;
}*/
.contents_sub_navi h4 {
	font-size:28px;
	padding:0;
	margin:40px 0 35px;
	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;
}
@media screen and (max-width:767px) {
.contents_sub_navi {
	margin:0 auto 30px;
	padding:0 15px 0;
	width:100%;
}
#contents .inner .contents_sub_navi{
	padding:0;
}
.contents_sub_navi.second{
	margin:0 auto;
}
.contents_sub_navi dt {
	font-size:16px;
	padding:10px 0;
}
.contents_sub_navi dt span{
	padding:0 30px;
}
.contents_sub_navi dt span:before,
.contents_sub_navi dt span:after {
	width:15px;
}
.contents_sub_navi dd{
	padding:0;
}
.contents_sub_navi ul{
	display:block;
	padding:0;
}
.contents_sub_navi li,
.contents_sub_navi ul.row2 li,
.contents_sub_navi ul.row3 li,
.contents_sub_navi ul.row3 li:nth-child(3n){
	width:48%;
	margin:0 0 6px;
	font-size:inherit;
}
.contents_sub_navi li a {
	padding:10px;
	font-size:12px;
	background: rgba(232, 226, 218, 0.5) url(../images/arrow_more.svg) no-repeat right 10px center;
    outline: 1px solid #CCBFB2;
}
.contents_sub_navi li a:hover {
	background:#CCBFB2 url(../images/arrow_more_w.svg) no-repeat right 20px center;
	transition-duration:0.5s;
}
.contents_sub_navi li.act a {
	background:#B8ADA2 url(../images/arrow_more_w.svg) no-repeat right 10px center;
}
.contents_sub_navi h4 {
	font-size:16px;
	margin:20px 0 15px;
}
}

/*================================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;
    filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, 0.03));
	}
.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;
    filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, 0.03));
	}
.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: 21px;
    font-weight: 500;
    color: #7f7267;
    letter-spacing: 0.05em;
	margin-bottom:10px;
}
.colbox .heading.en {
    font-family: 'Libertinus Math', serif;
	font-weight: 400;
	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: 16px;
    letter-spacing: 0.03em;
	margin-bottom:8px;
}
.colbox .heading.en {
    font-size: 17px;
}
.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: #2B3842;
	font-weight:normal;
	text-align: left;
	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;
        justify-content: space-between;
	}
	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 {
    justify-content: flex-end;
	}
	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;
    justify-content: center;
    gap: 20px;
}
ul.column_list.row2{
	gap: 40px;
}
ul.column_list li {
	width: calc((100% - 40px) / 3);
	height:auto;
    position: relative;
    margin: 0;
	padding: 18px 18px 28px;
    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: 80% auto;
	filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, 0.03));
}
ul.column_list li.link_list {
	width: auto;
	padding: 24px 16px 24px;
	background:rgba(255, 255, 255, 1.0);
	filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.05));
}
ul.column_list.row2 li:nth-child(2n) {
    margin: 0;
}
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 li .image_wrap.compact{
	height: 200px;
}
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(81, 58, 41, 0.35) 0%, rgba(184, 173, 162, 0.35) 100%);
	/*background: linear-gradient(to right, rgba(81, 58, 41, 0.3) 0%, rgba(250, 247, 244, 0.3) 100%);*/
}
#about ul.column_list.row2 li .image_wrap {
	height: 400px;
	padding:0;
}
ul.column_list li .image_wrap img{
	width: auto;
	max-width:90%;
	height:auto;
	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;
}
#about ul.column_list li .text_wrap {
	text-align:left;
}
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 h3.second,
ul.column_list li .text_wrap h3.second {
    margin: 0 0 18px;
}
ul.column_list li h3.second.small,
ul.column_list li .text_wrap h3.second.small {
    font-size: 25px;
}
ul.column_list li .text_wrap .heading {
    width: auto;
    min-width: 70px;
    font-size: 18px;
    color: #fff;
    font-weight: 500;
    background: #988D82;
    line-height: 1.6;
    letter-spacing: 0.05em;
    text-align: center;
    padding: 8px 25px;
	box-sizing:border-box;
	margin-bottom:12px;
    z-index: 10;
	position:relative;
	display: inline-block;
    filter: drop-shadow(5px 5px 0 rgba(81, 58, 41, 0.02));
}
main ul.column_list li .text_wrap .name{
    color: #2B3842;
    font-size: 27px;
    font-weight: 500;
    margin: 0 auto 15px;
    padding: 0;
    position: relative;
}
main ul.column_list li .text_wrap .name span{
    font-size: 16px;
    margin: 4px 0 0;
	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: 18px 10px 0 auto;
}
main ul.column_list li .btn a::after {
    background-color: #F5F3EF;
}
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: #F5F3EF;
}
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,
ul.column_list.row2{
    gap: 20px;
}
ul.column_list li {
	width: 100%;
    padding: 15px 15px 17px;
	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:15px 15px 17px;
    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(5px 5px 0 rgba(0, 0, 0, 0.03));
}
ul.column_list li.link_list {
	width: 100%;
	padding: 15px 15px 17px;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.1));
}
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 17px;
	aspect-ratio: 1 / 1;
	display:flex;
	justify-content: center;
    align-items: center;
}
/*@media  print, screen and (max-width: 360px) {
ul.column_list li .image_wrap {
	min-width:70%;
	max-width:70%;
}
}*/
ul.column_list li .image_wrap.compact{
    height: auto;
	aspect-ratio: 3 / 2;
}
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;
	padding:15px 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: none;
}
ul.column_list.row2 li .image_wrap img.vertical{
    max-width: 70%!important;
}
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 h3.second,
ul.column_list li .text_wrap h3.second {
    padding: 7px 0 7px 15px;
    margin: 5px 0 14px;
}
ul.column_list li h3.second.small,
ul.column_list li .text_wrap h3.second.small {
    font-size: 18px;
}
ul.column_list li .text_wrap .heading {
    min-width:inherit;
    font-size: 16px;
    line-height: 34px;
	padding: 0 20px 2px;
    margin-bottom: 8px;
    filter: drop-shadow(2px 2px 0 rgba(81, 58, 41, 0.1));
}
main ul.column_list li .text_wrap .name{
    font-size: 20px;
    margin: 0 auto 12px;
}
@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: 15px;
    margin: 2px 0 0;
}
main ul.column_list li p {
    font-size: 14px;
    padding: 0 0 0.8em;
    font-weight: 500;
}
main ul.column_list li .btn {
	margin: 15px 5px 0 auto;
}
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;
}
}

/* Fancybox拡大時のズーム、スライドショー、サムネイルボタンを非表示（閉じボタンのみ残す） */
.fancybox-button--zoom,
.fancybox-button--play,
.fancybox-button--thumbs {
    display: none !important;
}