@charset "utf-8";
/* Simple fluid media
   Note: Fluid media requires that you remove the media's height and width attributes from the HTML
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
}

/* IE 6 does not support max-width so default to width 100% */
.ie6 img {
	width:100%;
}

.fluid {
	clear: both;
	margin-left: 0;
	width: 100%;
	float: left;
	display: block;
}

.fluidList {
    list-style:none;
    list-style-image:none;
    margin:0;
    padding:0;        
}

/* Mobile Layout: 480px and below. */

.en {
/*font-family: 'Reem Kufi', sans-serif;*/
font-family: 'Francois One', sans-serif;
}

.en2 {
/*font-family: 'Libre Baskerville', serif;*/
font-family: 'Fjalla One', sans-serif;
}

/*PC*/
@media print, screen and (min-width: 768px) {
body {  min-width:1200px;}

.gridContainer {
width:100%;
min-width: 1200px;
/*padding:0;
clear: none;
float: none;
margin:0 auto;*/
}
#div1 {
}
.zeroMargin_mobile {
margin-left: 0;
}
.hide_mobile {
display: none;
}

.pcBr {
display: inline-block;
}

.spBr {
display: none;
}

.sp {
display: none;
}


/* com
--------------------------------------------*/

#contents {
width: 100%;
min-width: 1200px;
margin: auto;
overflow: hidden;
}

.contentsIn {
width: 1200px;
margin: 0 auto;
}

.fL {
float: left;
}

.fR {
float: right;
}

.w1100 {
width: 1100px;
margin-left: auto;
margin-right: auto;
}

.w1200 {
width: 1200px;
margin-left: auto;
margin-right: auto;
}

.comPd01 {
padding: 80px 0 100px;
}

.comInBox01 {
margin-bottom: 100px;
}

.comInBox01:last-child {
margin-bottom: 0px;
}

.comPd_80 {
padding: 80px 0;
}

.comPd_top80 {
padding: 80px 0 0;
}

.p_relative {
position: relative;
}

.bgGray {
background-color: #ecf0f4;
}

.bgColorSide h3 {
display: inline-block;
overflow: hidden;
position: relative;
z-index: 0;
line-height: 1em;
transform: translateX(-30%);
transition:all .3s .3s ease;
opacity: 0;
}

.active h3 {
transform: translateX(0%);
transition:all .3s .0s ease;
opacity: 1;
}

.bgColorSide h3 span {
line-height: 1em;
}

.bgColorSide h3:before {
background: #1d6dab;
background: -moz-linear-gradient(left, #1d6dab 0%, #009fe6 50%, #98e6d2 100%);
background: -webkit-linear-gradient(left, #1d6dab 0%,#009fe6 50%,#98e6d2 100%);
background: linear-gradient(to right, #1d6dab 0%,#009fe6 50%,#98e6d2 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d6dab', endColorstr='#98e6d2',GradientType=1 );
content: '';
display: block;
height: 100%;
position: absolute;
transform: translateX(-101%);
transition:all .5s .3s ease; 
width: 100%;
z-index: 1;
}

.bgColorSideIn {
display: inline-block;
opacity: 0;
transition:all .8s 0s ease;
}

.active h3:before {
transform: translateX(101%);
}

.active .bgColorSideIn {
opacity: 1;
}

.txtC {
text-align: center;
}

.comBtn03,
.comBtn04 {
width: 300px;
}

.comBtn03 a {
display: block;
padding: 10px;
text-align: center;
background-color: #333333;
color: #fff;
font-size: 1.4rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all .3s ease-out;
transition: all 0.3s ease-out;
position: relative;
}

.comBtn04 a {
display: block;
padding: 10px;
text-align: center;
background-color: #FFF;
color: #333;
font-size: 1.4rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all .3s ease-out;
transition: all 0.3s ease-out;
position: relative;
border: #333333 1px solid;
}

.comBtn03 a:hover,
.comBtn04 a:hover {
letter-spacing: 0.1em;
}

.comBtn03 a:after,
.comBtn04 a:after {
position: absolute;
top: 50%;
right: .8em;
content: '';
margin-top: -5px;
border: 7px solid transparent;
border-top-width: 5px;
border-bottom-width: 5px;
border-left-color: #fff;
opacity: 0;
}
.comBtn03 a:hover:after,
.comBtn04 a:hover:after {
animation: arrow 1.2s infinite;
}
.btnCenter {
margin-left: auto;
margin-right: auto;
}

.entry_btn {
width: 150px;
height: 90px;
position: fixed;
right: 100px;
top: 0px;
z-index: 199;
cursor: pointer;
display: table;
}
.entry_btn a {
display: table-cell;
vertical-align: middle;
text-align: center;
color: #fff;
font-weight: bold;
font-size: 2.0rem;
background-color: #e4274c;
}
.entry_btn a:hover {
background-color: #0081cf;
letter-spacing: 0.2rem;
}

.requirements_btn {
width: 150px;
height: 90px;
position: fixed;
right: 100px;
top: 0px;
z-index: 199;
cursor: pointer;
display: table;
}
.requirements_btn a {
display: table-cell;
vertical-align: middle;
text-align: center;
color: #333;
font-weight: bold;
font-size: 1.6rem;
color: #fff;
background-color: #0ECC8A;
}
.requirements_btn a:hover {
background-color: #0081cf;
letter-spacing: 0.2rem;
}

/*--パンくず---------*/
#pan_area {
position: absolute;
bottom: 0;
right: 100px;
width: 45%;
text-align: right; 
font-size: 1.3rem;
box-sizing: border-box;
}
#pan_area h3 {
font-size: 1.3rem;
font-weight: 500;
}
#pan_area #pan_area_in {
width: auto;
margin: auto 0 auto auto;
display: -webkit-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-align-items: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
justify-content: flex-end;
}
#pan_area #pan_area_in .pan_list {
padding-right: 16px;
margin-right: 10px;
position: relative;
}
#pan_area #pan_area_in .pan_list::before {
position: absolute;
content: "";
right: 0;
top: 50%;
width: 4px;
height: 4px;
margin-top: -2px;
border-top: 1px solid #303030;
border-right: 1px solid #303030;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
#pan_area #pan_area_in .pan_list:last-child {
padding-right: 0;
margin-right: 0;
}
#pan_area #pan_area_in .pan_list:last-child::before {
display: none;
}
#pan_area #pan_area_in .pan_list a {
text-decoration: underline;
/*text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}


/*--スクロールトップ---------*/
#totop {
bottom: 20px;
display: block;
position: fixed;
right: 30px;
z-index: 2000;
width: 54px;
}

#totop a {
display: block;
width: 54px;
height: 54px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}


/*-----------*/
.bgWhite {
background-color: #fff;
}

.comPd70 {
padding: 70px 0;
}

.pt80 {
padding-top: 80px;
}

.w80p {
width: 80%;
margin-left: auto;
margin-right: auto;
}

.comBtn {
width: 280px;
}

.comBtn a {
display: block;
background-color: #1b1f79;
color: #fff;
text-align: center;
font-size: 1.6rem;
padding: 10px;
position: relative;
}

.comBtn a:before {
font-family: "Font Awesome 5 Free";
content: "\f105";
position: absolute;
font-weight: bold;
/*top: 50%;*/
right: 30px;
font-size: 1.6rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.comBtn a:hover {
background-color: #e00011;
}

.comBtn a:hover:before {
right: 20px;
}

.waku_fff {
border: #fff 1px solid;
}

.rightBtn {
margin-left: auto;
margin-right: 0;
}

.centerBtn {
margin-left: auto;
margin-right: auto;
}

.idxTit {
width: 100%;
margin-top: 40px;
margin-bottom: 40px;
}

.idxTit h3 {
text-align: center;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 3.5rem;
letter-spacing: 0.05em;
margin-bottom: 15px;
}

.idxTit p {
text-align: center;
font-size: 1.8rem;
}

.idxTit2 {
width: 100%;
margin-bottom: 40px;
}

.idxTit2 h3 {
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 3.5rem;
letter-spacing: 0.05em;
margin-bottom: 15px;
}

.idxTit2 p {
font-size: 1.8rem;
}

.idxTit2 h3,
.idxTit2 p {
text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}

.idxTit3 {
width: 100%;
margin-bottom: 40px;
}

.idxTit3 h3 {
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 3.5rem;
letter-spacing: 0.05em;
margin-bottom: 15px;
color: #fff;
}

.idxTit3 p {
font-size: 1.8rem;
color: #fff;
}

.c_fff {
color: #fff;
}

.comBox {
width: 100%;
padding-bottom: 100px;
}

.comBox:last-child {
padding-bottom: 0px;
}

/*中ページのヘッド*/
#main--image {
position: relative;
z-index: 2;
overflow: hidden;
min-width: 1100px;
}
#main--image:before {
content: "";
position: absolute;
left: -100%;
bottom: 0;
width: 80%;
height: 88%;
background: #2a2a2a;
z-index: 2;
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-delay: .5s;
-moz-transition-delay: .5s;
-ms-transition-delay: .5s;
-o-transition-delay: .5s;
transition-delay: .5s;
-webkit-transition-property: left;
-moz-transition-property: left;
-ms-transition-property: left;
-o-transition-property: left;
transition-property: left;
}
#main--image.active:before {
left: 0
}

#main--image.active h2 {
font-family: 'Roboto', sans-serif;
opacity: 1;
line-height: 1.2;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
transform: translateY(0px)
}
#main--image.active h2 span {
font-family: Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
transform: translateY(0px)
}
#main--image.active .main--bg:before {
left: 100%
}
#main--image.active .main--bg:after {
left: 100%
}

#main--image .main--bg {
position: absolute;
right: 0;
top: 0;
width: 60%;
height: 88%;
background: #fff;
z-index: 3;
background-repeat: no-repeat;
background-position: center;
-webkit-background-size: cover;
-o-background-size: cover;
background-size: cover
}
#main--image .main--bg:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #993333;
-webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-delay: .2s;
-moz-transition-delay: .2s;
-ms-transition-delay: .2s;
-o-transition-delay: .2s;
transition-delay: .2s
}
#main--image .main--bg:after {
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #f3f4f5;
-webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1)
}

#main--image h2 {
font-family: 'Roboto', sans-serif;
text-shadow: 0px 0px 3px rgba(0,0,0,0.6);
box-sizing: border-box;
position: relative;
width: 100%;
height: 100%;
z-index: 4;
padding-top: 20vh;
padding-bottom: 20vh;
padding-left: 8%;
padding-right: 8%;
margin-bottom: 0;
color: #FFF;
font-size: 5.2rem;
letter-spacing: 4px;
font-weight: bold;
opacity: 0;
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-ms-transform: translateY(20px);
transform: translateY(20px);
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-property: transform, opacity;
-moz-transition-property: transform, opacity;
-ms-transition-property: transform, opacity;
-o-transition-property: transform, opacity;
transition-property: transform, opacity;
-webkit-transition-delay: .5s;
-moz-transition-delay: .5s;
-ms-transition-delay: .5s;
-o-transition-delay: .5s;
transition-delay: .5s;
}
#main--image h2 span {
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
display: block;
font-size: 1.6rem;
font-weight: normal;
padding-top: 30px;
letter-spacing: 2px;
opacity: 0;
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-ms-transform: translateY(20px);
transform: translateY(20px);
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-property: transform, opacity;
-moz-transition-property: transform, opacity;
-ms-transition-property: transform, opacity;
-o-transition-property: transform, opacity;
transition-property: transform, opacity;
-webkit-transition-delay: .8s;
-moz-transition-delay: .8s;
-ms-transition-delay: .8s;
-o-transition-delay: .8s;
transition-delay: .8s
}

/*//////*/
/*.hedTitBox {
padding: 30px 0 50px;
}*/

/*-----タイトル-----*/
.comTit__obi01 {
width: 100%;
position: relative;
padding-top: 70px;
}

.comTit__obi01:before {
position: absolute;
content: "";
width: 100%;
height: 300px;
top: 0;
right: 0;
background: #f7f5f2;
z-index: -1;
}

.comTit__obi01 h3 {
text-align: center;
/*font-family: 'Slabo 13px', serif;*/
font-family: 'Slabo 27px', serif;
font-size: 3.5rem;
letter-spacing: 0.1em;
color: #ae9373;
font-weight: normal;
position: relative;
padding-bottom: 70px;
margin-bottom: 50px;
}

.comTit__obi01 h3:after {
width: 1px;
height: 40px;
background: #ae9373;
content: "";
position: absolute;
bottom: 0;
left: 50%;
}

.comTit01 {
font-size: 2.4rem;
line-height: 1.5;
margin-bottom: 25px;
letter-spacing: 0.05em;
text-align: center;
position: relative;
padding-bottom: 40px;
font-weight: 500;
}

.comTit01::after {
width: 1px;
height: 30px;
background: #222;
content: "";
position: absolute;
bottom: 0;
left: 50%;
}

.comTit01Sub {
font-size: 1.8rem;
line-height: 2;
letter-spacing: 0.1em;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
text-align: center;
}

.hedTitBox {
margin-bottom: 65px;
}

.comTit02 {
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
text-align: center;
font-size: 3.5rem;
margin-bottom: 60px;
font-weight: 500;
}
.comTit02 span {
position: relative;
display: inline-block;
padding: 0 60px;
}
.comTit02 span:before, .comTit02 span:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 32px;
height: 1px;
background-color: #303030;
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
-ms-transform: rotate(-60deg);
transform: rotate(-60deg);
}
.comTit02 span:before {left:0;}
.comTit02 span:after {right: 0;}

.comTit03 {
position: relative;
display: inline-block;
padding-left: 35px;
font-size: 2rem;
font-weight: bold;
letter-spacing: 0.01em;
margin-bottom: 20px;
}

.comTit03:before {
content: '';
position: absolute;
top: 50%;
left:0;
display: inline-block;
margin-top: -2px;
width: 20px;
height: 2px;
background-color: #e8a02b;
}

.comTit04 {
position: relative;
padding: 0.8em 0;
margin-bottom: 15px;
font-size: 1.7rem;
font-weight: 500;
text-align: center;
}
.comTit04::before,
.comTit04::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 6px;
box-sizing: border-box;
}
.comTit04::before {
top: 0;
border-top: 2px solid #1b1f79;
border-bottom: 1px solid #1b1f79;
}
.comTit04::after {
bottom: 0;
border-top: 1px solid #1b1f79;
border-bottom: 2px solid #1b1f79;
}

.comTit05 {
color: #e8a02b;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 2.5rem;
line-height: 1.5;
margin-bottom: 15px;
}

.title-sm {
font-size: 2.2rem;
line-height: 1.8;
letter-spacing: 0.35em;
margin-bottom: 55px;
text-transform: uppercase;
}

.title-sm small {
display: block;
font-size: 1rem;
color: #64b3f4;
margin-bottom: .618rem;
letter-spacing: 0.2rem;
font-family: 'Fjalla One', sans-serif;
}

.com_table {
border-top: 1px solid #dfdfdf;
width: 100%;
}

.com_table th {
/*background:#F0F0F0;*/
width:25%;
background:none;
border-bottom: 1px solid #dfdfdf;
padding: 30px;
text-align: left;
display:table-cell;
position: relative;
}


.com_table th span {
font-style: italic;
font-family: 'Osaka','Verdana';
}

.com_table td {
border-bottom: 1px solid #dfdfdf;
/*border-left: 1px solid #f1f0ee;*/
padding: 30px;
display:table-cell;
vertical-align: middle;
}

.com_table2 {
width: 100%;
}

.com_table2 th {
color: #FFF;
line-height: 1.1;
padding: 1.0em;
background: #2a2a2a;
text-align: center;
border-bottom: #fff 1px solid;
}

.com_table2 td {
padding: 1.0em;
border-bottom: solid 1px #E4E4E4;
vertical-align: middle;
}

/*カードデザイン*/
.com_list {
width: 100%;
margin: 0 auto;
}

.com_list li {
width: 31%;
float: left;
margin-right: 3.5%;
}

.com_list li:nth-child(n+4) {
margin-top: 30px;
}


.com_list li:nth-child(3n+3) {
margin-right: 0px;
}

.l-card {
transition: 0.5s;
overflow: hidden;
width: 100%;
padding: 0;
margin: 0 auto;
background: #fff;
box-shadow: 6px 6px rgba(0, 0, 0, 0.2);
}

.l-card:hover{
transform: translate(5px,5px);
box-shadow: 1px 1px rgba(0, 0, 0, 0.2);
}

.l-card:hover .thumbnail-wrapper::after {
 opacity: 1;
 width: 500px;
 height: 500px;
 border-width: 40px;
}

.l-card:hover .thumbnail-wrapper img {
transform: scale(1.1);
}

.l-card:hover .more-text {
 opacity: 1;
 letter-spacing: 8px;
}

.l-thumbnail {
position: relative;
overflow: hidden;
width: 100%;
height: auto;
}

.l-thumbnail .more-text {
transition: 0.5s;
z-index: 2;
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: 0;
display: block;
width: 100%;
color: #fff;
font-size: 16px;
font-weight: lighter;
letter-spacing: 1px;
text-align: center;
text-transform: uppercase;
}

.thumbnail-wrapper {
display: block;
margin: 0;
padding: 0;
}

.thumbnail-wrapper::after {
transition: opacity 0.3s, width 0.8s 0.1s, height 0.8s 0.1s, border-width 0.4s 0.1s;
content: "";
box-sizing: content-box;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 0px;
height: 0px;
border-radius: 50%;
border: 0px solid  #993333;
background:rgba(204, 76, 47, 0.7);
opacity: 0;
}

.thumbnail-wrapper img {
transition: 0.5s;
display: block;
max-width: 100%;
}

.text-content {
padding: 16px;
}

.text-content .title {
margin: 0 0 30px 0;
font-size: 20px;
}

.text-content .caption {
margin: 0 0 12px 0;
font-size: 14px;
color: #555;
font-weight: lighter;
}

.content-meta {
overflow: hidden;
width: 100%;
font-size: 14px;
text-align: right;
}

.content-meta .date {
text-align: right;
color: #aaa;
}

a:hover .content-meta .date {
color: #993333;
}


/*------*/
.pageComTit {
background-color: #F5F9FA;
padding: 70px 0;
margin-bottom: 80px;
}

.pageComTit_in {
background-color: #fff;
padding: 50px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
width: 70%;
box-sizing: border-box;
}

.pageComTit_in h4 {
font-size: 4rem;
line-height: 1.5;
font-weight: 500;
padding-bottom: 20px;
margin-bottom: 30px;
border-bottom: solid;
border-bottom-width: medium;
-o-border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#64b3f4), to(#c2e59c));
border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image-slice: 100%;
border-image-slice: 5;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 5px;
border-left-width: 0;
display: inline-block;
}

.pageComTit_in p {
position: relative;
padding-left: 40px;
overflow: hidden;
}

.pageComTit_in p::before {
position: absolute;
content: "";
bottom: 0;
left: 0;
width: 1px;
height: 100%;
background: #ccc;
-webkit-animation: sc_ani01 3s infinite;
animation: sc_ani01 3s infinite;
animation-fill-mode: none;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

.pageComImg {
position: relative;
z-index: 1;
}

.pageComTit2 {
margin-bottom: 80px;
}

.pageComTit_in2 {
text-align: center;
}

.pageComTit_in2 h4 {
font-size: 4rem;
line-height: 1.5;
font-weight: 500;
padding-bottom: 20px;
margin-bottom: 30px;
border-bottom: solid;
border-bottom-width: medium;
-o-border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#64b3f4), to(#c2e59c));
border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image-slice: 100%;
border-image-slice: 5;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 5px;
border-left-width: 0;
display: inline-block;
text-align: center;
}

.pageComTit_in2 p {
text-align: center;
}

/* header
--------------------------------------------*/
#header {
width: 100%;
min-width: 1100px;
height: 90px;
overflow: hidden;
/*position: fixed;*/
top: 0;
z-index: 100;
-webkit-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 700ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}

.logo_Hed {
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
height: 100%;
margin-left: 20px;
}

.logo_Hed img {
width: 260px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed a {
display: block;
height: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
font-size: 1.6rem;
font-weight: 700;
letter-spacing: 0.05em;
}

.logo_Hed a .en {
font-weight: 400;
font-size: 2rem;
padding-right: 5px;
}

.logo_Hed span {
padding-left: 15px;
margin-top: 15px;
font-family: 'Fjalla One', sans-serif;
font-size: 1.8rem;
font-weight: 400;
z-index: 10;
}

.mainMenuInWrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-left: 35px;
box-sizing: border-box;
}

.mainMenu {
width: 100%;
min-width: 1100px;
height: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
position: relative;
z-index: 5;
}

.inqBox {
width: 280px;
}

.sp_list {
display: none;
}

/*menu*/
.menuWrap {
padding: 30px;
position: fixed;
right: 0px;
top: 0px;
z-index: 199;
background-color: #222;
cursor : pointer;
}

.menu{
display: block;
position: relative;
width: 40px;
height: 30px;
}
.menu__line{
background: #fff;
display: block;
height: 2px;
position: absolute;
right: 0;
transition:transform .3s;
/*width: 100%;*/
}
.menu__line--top { top: 0; width: 100%;}
.menu__line--center { top: 14px; width: 80%;}
.menu__line--bottom { bottom: 0; width: 60%;}
.menu__line--top.active { top: 14px; left: 0; width: 100%; transform: rotate(45deg);}
.menu__line--center.active { transform:scaleX(0);}
.menu__line--bottom.active { bottom: 14px; left: 0; width: 100%; transform: rotate(135deg);}
/*gnav*/
.gnav{
background: rgba(0,0,0,0.9);
display: none;
height: 100%;
position: fixed;
width: 100%;
z-index: 98;
}
.gnav__wrap{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
/*align-items:center;
display: flex;*/
height: 100%;
position: absolute;
width: 100%;
}
.gnav__menu{
padding: 0 10%;
width: 500px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
/*position: absolute;
left: 50%;
transform: translateX(-50%);
width: 170px;*/
}
.gnav__menu li {
-ms-flex-preferred-size: 46%;
flex-basis: 46%;
max-width: 46%;
margin-right: 8%;
}
.gnav__menu li:nth-child(2n) {
margin-right: 0;
}
.gnav__menu li:nth-child(n+3) {
margin-top: 15px;
padding-top: 15px;
border-top: #ccc dashed 1px;
}

.gnav__menu__item{
opacity: 0;
}
.gnav__menu__item a{
color: #fff;
font-size: 2rem;
/*font-weight: bold;*/
text-decoration: none;
transition: .5s;
text-align: center;
display: block;
padding: 10px;
}
.gnav__menu__item a:hover{
color: #028ce4;
}


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: 100%;
min-width: 1100px;
padding: 70px 0 40px;
background-color: #111;
}

.footerTopIn {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
padding-bottom: 50px;
margin-bottom: 30px;
border-bottom: rgba(255,255,255,.5) 1px solid;
}

.footerCp {
-ms-flex-preferred-size: 20%;
flex-basis: 20%;
}

.footerCp__img {
width: 130px;
margin-bottom: 5px;
}

.footerCp h3 {
font-size: 1.8rem;
margin-bottom: 15px;
color: #fff;
}

.footerCp p {
font-size: 1.3rem;
line-height: 1.5;
letter-spacing: 0.05em;
color: #fff;
}

.footerMu {
-ms-flex-preferred-size: 70%;
flex-basis: 70%;
}

.footerMu a {
color: #fff;
font-size: 1.3rem;
display: block;
} 

.footerMuList {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
  	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.footerMuList:first-child {
margin-bottom: 30px;
}

.footerMuList li {
margin-right: 60px;
color: #FFF;
}

.footerMuList li:last-child {
margin-right: 0px;
}

.footerMuBtnWrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}

.footerMuBtn02 {
margin-left: 50px;
}

.footerMuBtn01 a,
.footerMuBtn02 a {
padding: 8px 60px;
border: #fff 1px solid;
background-color: #222;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.footerMuBtn01 a:hover {
background-color: #e8a02b;
}

.footerMuBtn02 a:hover {
background-color: #cd4a38;
}

.footerBottomIn {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.footerBottomIn p,
.footerBottomIn p a {
font-size: 1.3rem;
color: #fff;
}

.footerBottomIn p.copy {
font-size: 1.2rem;
color: #fff;
}



/* contents
--------------------------------------------*/
.comBtnWrap {
padding-top: 50px;
}

.comBtn01,
.comBtn02 {
width: 100%;
max-width: 250px;
}

.comBtn01 a {
border: #fff 1px solid;
color: #fff;
background-color: #393939;
}

.comBtn02 a {
border: #393939 1px solid;
color: #393939 !important;
background-color: #fff;
box-shadow:3px 3px 0px 0px #393939;
}

.comBtn01 a,
.comBtn02 a {
font-size: 1.5rem;
font-weight: 500;
text-align: center;
display: block;
color: #fff;
padding: 10px;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
position: relative;
overflow: hidden;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.comBtn02 a:hover {
color: #fff !important;
box-shadow:0px 0px 0px 0px #393939;
transform: translate(3px,3px);
background-color: #028ce4;
}

.btnR {
margin-left: auto;
margin-right: 0; 
}

.btnC {
margin-left: auto;
margin-right: auto;
}

.com_LedeBox{
position: relative;
border:1px solid #E5E5E5;
margin-bottom: 80px;
}
.com_LedeBox_In{
position: relative;
padding: 65px 70px;
}
.com_LedeBox::before,
.com_LedeBox::after,
.com_LedeBox_In::before,
.com_LedeBox_In::after{
position: absolute;
display:block;
content:"";
width: 101px;
height: 101px;
pointer-events: none;		
}
.com_LedeBox::before,
.com_LedeBox::after{
top:-1px;
}
.com_LedeBox_In::before,
.com_LedeBox_In::after{
bottom:-1px;	
}
.com_LedeBox::before,
.com_LedeBox_In::before{
left:-1px;	
}
.com_LedeBox::after,
.com_LedeBox_In::after{
right:-1px;
}
.com_LedeBox::before{ background: url(../images/com/waku01.png) no-repeat; }
.com_LedeBox::after{ background:url(../images/com/waku02.png) no-repeat; }
.com_LedeBox_In::before{ background:url(../images/com/waku03.png) no-repeat; }
.com_LedeBox_In::after{ background:url(../images/com/waku04.png) no-repeat; }

.com_LedeBox_In h4 {
font-size: 3rem;
font-weight: bold;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
text-align: center;
margin-bottom: 40px;
}

.com_Lede01 {
font-size: 1.7rem;
line-height: 2em;
}

.com_Lede01 span {
font-weight: bold;
background:rgba(0, 0, 0, 0) linear-gradient(transparent 80%, #ffff7f 0%) repeat scroll 0 0;
}




/*--idxBox08----------------------*/
#idx_box08 {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
}

.entry_box,
.youkou_box {
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
max-width: 100%;
text-align: center;
}
.entry_box a {
display: block;
color: #fff;
text-align: center;
background: #e4274c;
padding: 100px 0px;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.youkou_box a {
display: block;
color: #fff;
text-align: center;
background: #028ce4;
padding: 100px 0px;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.entry_box a p.entry_box_tit,
.youkou_box a p.entry_box_tit {
font-family: 'Fjalla One', sans-serif;
font-size: 40px;
font-weight: bold;
text-align: center;
letter-spacing: 0.1em;
}
.entry_box a p.entry_box_tit span,
.youkou_box a p.entry_box_tit span {
position: relative;
}
.entry_box a p.entry_box_tit span:after,
.youkou_box a p.entry_box_tit span:after {
font-family: "Font Awesome 5 Free";
content: "\f35a";
position: absolute;
right: -60px;
top: 50%;
color: #fff;
font-weight: normal;
font-size: 0.7em;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.entry_box a:hover p.entry_box_tit span:after,
.youkou_box a:hover p.entry_box_tit span:after {
right: -80px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.entry_box a:hover,
.youkou_box a:hover {
background: #303030;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.entry_box a p.entry_box_txt,
.youkou_box a p.entry_box_txt {
font-size: 2rem;
line-height: 1.4;
text-align: center;
margin-top: 30px;
}


.ttl01 { font-size: 2.6rem; text-align: center; padding: 50px 0;}


.bottom_btns { width: 100%; display: flex; }
.bottom_btns .inner { width: 100%; text-align: center;}
.bottom_btns .inner a { display: block; color: #FFF; padding: 80px 0;}
.bottom_btns .inner a.btn01 { background: #0ECC8A;}
.bottom_btns .inner a.btn02 { background: #e4274c;}
.bottom_btns .inner a.btn01:hover { opacity: 0.6;}
.bottom_btns .inner a.btn02:hover { opacity: 0.6;}
.bottom_btns .inner a h3 { font-size: 3.0rem; margin: 0 0 10px; transition: 0.3s ease-in-out;}
.bottom_btns .inner a:hover h3 { letter-spacing: 0.5rem; transition: 0.3s ease-in-out;}
.bottom_btns .inner a p { font-size: 1.6rem;}


.imgBg01y { position: relative;}
.imgBg01y::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
width: 100%;
height: 100%;
background: -o-repeating-linear-gradient(-45deg,#0ECC8A 0,#0ECC8A 10px,transparent 10px,transparent 20px);
background: repeating-linear-gradient(-45deg, #0ECC8A 0,#0ECC8A 10px,transparent 10px,transparent 20px);
/* -45度斜めから25%、50%、75%、100%と
ボーダーが交互に色違いとなるように指定 */
/*background-image: linear-gradient(
 45deg,
 rgba(255,255,255,0) 25%,
 #0ECC8A 25%, #0ECC8A 50%,
 rgba(255,255,255,0) 50%, rgba(255,255,255,0) 75%,
 #0ECC8A 75%, #0ECC8A);
background-size: 50px 50px;*/
}

.imgBg02w { position: relative;}
.imgBg02w::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
width: 100%;
height: 100%;
background: -o-repeating-linear-gradient(-45deg,#fff 0,#fff 5%,transparent 5%,transparent 10%);
background: repeating-linear-gradient(-45deg, #fff 0,#fff 5%,transparent 5%,transparent 10%);
/* -45度斜めから25%、50%、75%、100%と
ボーダーが交互に色違いとなるように指定 */
/*background-image: linear-gradient(
 45deg,
 rgba(255,255,255,0) 25%,
 #FFF 25%, #FFF 50%,
 rgba(255,255,255,0) 50%, rgba(255,255,255,0) 75%,
 #FFF 75%, #FFF);*/
background-size: 50px 50px;
}




}




/*pcとsp共通*/
/*----------------------------*/
@-webkit-keyframes sc_ani01 {
  0% {
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    transform: translate(0, -100%);
    height: 100%; }
  50% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 100%; }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 0; } }

@keyframes sc_ani01 {
  0% {
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    transform: translate(0, -100%);
    height: 100%; }
  50% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 100%; }
  100% {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 0; } }



.gridContainer {
overflow: hidden;
}


.imgSlide {
width: 100%;
height: 100%;
overflow: hidden;
}
.imgSlide .imgSlideIn {
width: inherit;
height: inherit;
opacity: 0;
}
.isPlay {
animation-name: play;
animation-duration: .5s;
animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(.8,0,.5,1);
position: relative;
opacity: 1 !important;
}
.isPlay:before {
animation-name: maskOut;
animation-duration: .5s;
animation-delay: .5s;
animation-fill-mode: forwards;
animation-timing-function: cubic-bezier(.8,0,.5,1);
content: '';
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 100%;
height: 100%;
background-color: #993333;
}
@keyframes play {
from {
transform: translateX(-100%);
}
to {
transform: translateX(0);
}
}
@keyframes maskOut {
from {
transform: translateX(0);
}
to {
transform: translateX(100%);
}
}

@keyframes arrow {
  50% {
    right: .2em;
    opacity: 1;
  }
  100% {
    right: -.4em;
    opacity: 0;
  }
}
/*----------------------------------------------------------------------*/







/*sp*/
@media only screen and (max-width: 767px) {

.gridContainer {
width:100%;
padding:0;
clear: none;
float: none;
margin:0 auto;
}
#div1 {
}
.zeroMargin_desktop {
margin-left: 0;
}
.hide_desktop {
display: none;
}

.pcBr {
display: none;
}

.spBr {
display: inline-block;
}

.pc {
display: none;
}

.sp {
display: block;
}

.w80p {
width: 100%;
margin-left: auto;
margin-right: auto;
}

.lH2 {
line-height: 2em;
}

img {
-webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
  user-select:none;
}

/* com
--------------------------------------------*/
.btnList {
width: 100%;
}

.btnList li {
width: 46%;
float: left;
box-shadow: none;
margin-right: 8%;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

.btnList li:nth-child(2n) {
margin-right: 0;
}

.btnList li:nth-child(n+3) {
margin-top: 8%;
}

.btnList li:hover {
box-shadow: 0 0 20px #d0d0d0;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

.btnList li img {
-moz-transition: -moz-transform 0.3s linear;
-webkit-transition: -webkit-transform 0.3s linear;
-o-transition: -o-transform 0.3s linear;
-ms-transition: -ms-transform 0.3s linear;
transition: transform 0.3s linear;
}

.btnList li:hover img {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.btnListImg {
overflow: hidden;
}

.btnListImg .boxInner {
opacity: 0
}

.btnListTxt {
padding: 10px 5px;
}

.visible {
border-bottom: none;
border-right: none;
}

.btnListTxt h3 {
font-size: 1.9rem;
margin-bottom: 5px;
font-weight: 500;
}

.btnListTxt h4 {
font-size: 1.3rem;
margin-bottom: 20px;
font-weight: 500;
}

.btnListTxt p {
text-align: right;
font-size: 1.2rem;
font-weight: 500;
padding-right: 10px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
} 

.visible p {
color: #e00011!important;
padding-right: 0px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}

#pan_area {
display: none;
}

#totop {
bottom: 30px;
display: block;
position: fixed;
right: 20px;
z-index: 2000;
width: 45px;
}

#totop a {
display: block;
width: 45px;
height: 45px;
text-indent: -1000em;
overflow: hidden;
background: url(../images/com/btn_scroll_top.png) 0 0 no-repeat;
background-size: auto auto;
background-size: 100% auto;
}

#header {
z-index: 10;
}

#contents {
width: 100%;
margin: auto;
overflow: hidden;
}

.contentsIn {
width: 98%;
margin: 0 auto;
}

.fL {
float: left;
}

.fR {
float: right;
}

.w1100,
.w1200 {
width: 96%;
margin-left: auto;
margin-right: auto;
}

.comPd01 {
padding: 40px 0 40px;
}

.comInBox01 {
margin-bottom: 60px;
}

.comInBox01:last-child {
margin-bottom: 0px;
}

.comPd_80 {
padding: 40px 0;
}

.comPd_top80 {
padding: 40px 0 0;
}

.p_relative {
position: relative;
}

.bgGray {
background-color: #ecf0f4;
}

.bgColorSide h3 {
display: inline-block;
overflow: hidden;
position: relative;
z-index: 0;
line-height: 1em;
}

.bgColorSide h3 span {
line-height: 1em;
}

.bgColorSide h3:before {
background: #1d6dab; /* Old browsers */
background: -moz-linear-gradient(left, #1d6dab 0%, #009fe6 50%, #98e6d2 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #1d6dab 0%,#009fe6 50%,#98e6d2 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #1d6dab 0%,#009fe6 50%,#98e6d2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1d6dab', endColorstr='#98e6d2',GradientType=1 ); /* IE6-9 */
content: '';
display: block;
height: 100%;
position: absolute;
transform: translateX(-101%);
transition:all .5s .3s ease; 
width: 100%;
z-index: 1;		
}

.bgColorSideIn {
display: inline-block;
opacity: 0;
transition:all .8s 0s ease;
}

.active h3:before {
transform: translateX(101%);
}

.active .bgColorSideIn {
opacity: 1;
}

.txtC {
text-align: center;
}

.comBtn03,
.comBtn04 {
width: 300px;
}

.comBtn03 a {
display: block;
padding: 10px;
text-align: center;
background-color: #333333;
color: #fff;
font-size: 1.4rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all .3s ease-out;
transition: all 0.3s ease-out;
position: relative;
}

.comBtn04 a {
display: block;
padding: 10px;
text-align: center;
background-color: #FFF;
color: #333;
font-size: 1.4rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all .3s ease-out;
transition: all 0.3s ease-out;
position: relative;
border: #333333 1px solid;
}

.comBtn03 a:hover,
.comBtn04 a:hover {
letter-spacing: 0.1em;
}

.comBtn03 a:after,
.comBtn04 a:after {
position: absolute;
top: 50%;
right: .8em;
content: '';
margin-top: -5px;
border: 7px solid transparent;
border-top-width: 5px;
border-bottom-width: 5px;
border-left-color: #fff;
opacity: 0;
}
.comBtn03 a:hover:after,
.comBtn04 a:hover:after {
animation: arrow 1.2s infinite;
}
.btnCenter {
margin-left: auto;
margin-right: auto;
}

/*-----------*/
.bgWhite {
background-color: #fff;
}

.comPd70 {
padding: 40px 0;
}

.pt80 {
padding-top: 0;
}

.comBtn {
width: 280px;
margin-left: auto;
margin-right: auto;
}

.comBtn a {
display: block;
background-color: #1b1f79;
color: #fff;
text-align: center;
font-size: 1.6rem;
padding: 10px;
position: relative;
}

.comBtn a:before {
font-family: "Font Awesome 5 Free";
content: "\f105";
position: absolute;
font-weight: bold;
/*top: 50%;*/
right: 30px;
font-size: 1.6rem;
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.comBtn a:hover {
background-color: #e00011;
}

.comBtn a:hover:before {
right: 20px;
}

.waku_fff {
border: #fff 1px solid;
}

.rightBtn {
margin-left: auto;
margin-right: auto;
}

.centerBtn {
margin-left: auto;
margin-right: auto;
}

.idxTit {
width: 100%;
margin-top: 30px;
margin-bottom: 30px;
}

.idxTit h3 {
text-align: center;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 2.5rem;
letter-spacing: 0.05em;
margin-bottom: 10px;
}

.idxTit p {
text-align: center;
font-size: 1.6rem;
}

.idxTit2 {
width: 100%;
margin-bottom: 40px;
}

.idxTit2 h3 {
text-align: center;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 2.5rem;
letter-spacing: 0.05em;
margin-bottom: 10px;
}

.idxTit2 p {
text-align: center;
font-size: 1.6rem;
}

.idxTit2 h3,
.idxTit2 p {
text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}

.idxTit3 {
width: 100%;
margin-bottom: 40px;
}

.idxTit3 h3 {
text-align: center;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 2.5rem;
letter-spacing: 0.05em;
margin-bottom: 10px;
color: #fff;
}

.idxTit3 p {
text-align: center;
font-size: 1.6rem;
color: #fff;
}

.c_fff {
color: #fff;
}

.comBox {
width: 100%;
padding-bottom: 50px;
}

.comBox:last-child {
padding-bottom: 0px;
}




/*中ページのヘッド*/
#main--image {
position: relative;
z-index: 2;
overflow: hidden;
}
#main--image:before {
content: "";
position: absolute;
left: -100%;
bottom: 0;
width: 90%;
height: 88%;
background-size: cover;
background: #2a2a2a;
z-index: 2;
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-delay: .5s;
-moz-transition-delay: .5s;
-ms-transition-delay: .5s;
-o-transition-delay: .5s;
transition-delay: .5s;
-webkit-transition-property: left;
-moz-transition-property: left;
-ms-transition-property: left;
-o-transition-property: left;
transition-property: left
}
#main--image.active:before {
left: 0
}

#main--image.active h2 {
line-height: 1.2;
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
transform: translateY(0px)
}
#main--image.active h2 span {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
-ms-transform: translateY(0px);
transform: translateY(0px)
}
#main--image.active .main--bg:before {
left: 100%
}
#main--image.active .main--bg:after {
left: 100%
}

#main--image .main--bg {
position: absolute;
right: 0;
top: 0;
width: 90%;
height: 88%;
background: #303030;
z-index: 3;
background-repeat: no-repeat;
background-position: center;
-webkit-background-size: cover;
-o-background-size: cover;
background-size: cover
}
#main--image .main--bg:before {
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #303030;
-webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-delay: .2s;
-moz-transition-delay: .2s;
-ms-transition-delay: .2s;
-o-transition-delay: .2s;
transition-delay: .2s
}
#main--image .main--bg:after {
content: "";
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #f3f4f5;
-webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
-webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
-o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1)
}

#main--image h2 {
font-family: 'Roboto', sans-serif;
text-shadow: 0px 0px 3px rgba(0,0,0,0.6);
box-sizing: border-box;
position: relative;
width: 100%;
height: 100%;
z-index: 4;
padding-top: 5vh;
padding-bottom: 8vh;
padding-left: 3%;
padding-right: 3%;
margin-bottom: 0;
color: #FFF;
font-size: 2.8rem;
letter-spacing: 4px;
font-weight: bold;
text-align: center;
opacity: 0;
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-ms-transform: translateY(20px);
transform: translateY(20px);
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-property: transform, opacity;
-moz-transition-property: transform, opacity;
-ms-transition-property: transform, opacity;
-o-transition-property: transform, opacity;
transition-property: transform, opacity;
-webkit-transition-delay: .5s;
-moz-transition-delay: .5s;
-ms-transition-delay: .5s;
-o-transition-delay: .5s;
transition-delay: .5s;
}
#main--image h2 span {
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
display: block;
font-size: 1.5rem;
padding-top: 10px;
letter-spacing: 2px;
opacity: 0;
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-ms-transform: translateY(20px);
transform: translateY(20px);
-webkit-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
transition: all 800ms cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-o-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-webkit-transition-property: transform, opacity;
-moz-transition-property: transform, opacity;
-ms-transition-property: transform, opacity;
-o-transition-property: transform, opacity;
transition-property: transform, opacity;
-webkit-transition-delay: .8s;
-moz-transition-delay: .8s;
-ms-transition-delay: .8s;
-o-transition-delay: .8s;
transition-delay: .8s
}

/*//////*/
/*.hedTitBox {
padding: 20px 0 30px;
}*/

/*-----タイトル-----*/
.comTit__obi01 {
width: 100%;
position: relative;
padding-top: 40px;
}

.comTit__obi01:before {
position: absolute;
content: "";
width: 100%;
height: 180px;
top: 0;
right: 0;
background: #f7f5f2;
z-index: -1;
}

.comTit__obi01 h3 {
text-align: center;
/*font-family: 'Slabo 13px', serif;*/
font-family: 'Slabo 27px', serif;
font-size: 3rem;
letter-spacing: 0.1em;
color: #ae9373;
font-weight: normal;
position: relative;
padding-bottom: 35px;
margin-bottom: 30px;
}

.comTit__obi01 h3:after {
width: 1px;
height: 20px;
background: #ae9373;
content: "";
position: absolute;
bottom: 0;
left: 50%;
}

.comTit01 {
font-size: 1.9rem;
line-height: 1.5;
margin-bottom: 20px;
letter-spacing: 0.05em;
text-align: center;
position: relative;
padding-bottom: 30px;
font-weight: 500;
}

.comTit01::after {
width: 1px;
height: 20px;
background: #222;
content: "";
position: absolute;
bottom: 0;
left: 50%;
}

.hedTitBox {
margin-bottom: 35px;
}

.comTit02 {
text-align: center;
font-size: 2rem;
margin-bottom: 20px;
font-weight: 500;
}
.comTit02 span {
position: relative;
display: inline-block;
padding: 0 40px;
}
.comTit02 span:before, .comTit02 span:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 32px;
height: 1px;
background-color: #303030;
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
-ms-transform: rotate(-60deg);
transform: rotate(-60deg);
}
.comTit02 span:before {left:0;}
.comTit02 span:after {right: 0;}

.comTit03 {
position: relative;
display: inline-block;
padding-left: 25px;
font-size: 1.9rem;
font-weight: 500;
letter-spacing: 0.01em;
margin-bottom: 20px;
}

.comTit03:before {
content: '';
position: absolute;
top: 50%;
left:0;
display: inline-block;
margin-top: -2px;
width: 15px;
height: 2px;
background-color: #e8a02b;
}

.comTit04 {
position: relative;
padding: 0.8em 0;
margin-bottom: 15px;
font-size: 1.7rem;
font-weight: 500;
text-align: center;
}
.comTit04::before,
.comTit04::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 6px;
box-sizing: border-box;
}
.comTit04::before {
top: 0;
border-top: 2px solid #1b1f79;
border-bottom: 1px solid #1b1f79;
}
.comTit04::after {
bottom: 0;
border-top: 1px solid #1b1f79;
border-bottom: 2px solid #1b1f79;
}

.comTit05 {
color: #e8a02b;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
font-size: 2rem;
line-height: 1.5;
margin-bottom: 15px;
}


.title-sm {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.35em;
    margin-bottom: 55px;
    text-transform: uppercase;
}

.title-sm small {
    display: block;
    font-size: 1rem;
    color: #64b3f4;
    margin-bottom: .618rem;
    letter-spacing: 0.2rem;
	font-family: 'Fjalla One', sans-serif;
}



.com_table {
border-top: 1px solid #dfdfdf;
width: 100%;
margin:0 0 40px;
}
	
.com_table th {
background:#F0F0F0;
width:96%;
background:none;
border-bottom:none;
padding: 4% 2%;
text-align: center;
display: block;
position: relative;
border-bottom: #dfdfdf dashed 1px;
}
	
.com_table th span {
font-style: italic;
font-family: 'Osaka','Verdana';
}	

.com_table td {
border-bottom: 1px solid #dfdfdf;
border-left: none;
padding: 4% 2%;
display: block;
}

.com_table2 {
width: 100%;
}

.com_table2 th {
display: block;
color: #FFF;
line-height: 1.1;
padding: 1.0em;
background: #2a2a2a;
text-align: center;
}

.com_table2 td {
display: block;
padding: 1.0em;
border-bottom: solid 1px #E4E4E4;
vertical-align: middle;
}

/*カードデザイン*/
.com_list {
width: 100%;
margin: 0 auto;
}

.com_list li {
width: 100%;
margin-bottom: 30px;
}

.com_list li:nth-child(2n+2) {
margin-right: 0px;
}

.l-card {
transition: 0.5s;
overflow: hidden;
width: 96%;
padding: 0;
margin: 24px auto;
background: #fff;
background: #fff;
box-shadow: 6px 6px rgba(0, 0, 0, 0.2);
}

.l-card:hover{
transform: translate(5px,5px);
box-shadow: 1px 1px rgba(0, 0, 0, 0.2);
}

.l-card:hover .thumbnail-wrapper::after {
 opacity: 1;
 width: 800px;
 height: 800px;
 border-width: 40px;
}

.l-card .thumbnail-wrapper img {
width: 100%;
height: auto;
}

.l-card:hover .thumbnail-wrapper img {
transform: scale(1.1);
}

.l-card:hover .more-text {
 opacity: 1;
 letter-spacing: 8px;
}

.l-thumbnail {
position: relative;
overflow: hidden;
width: 100%;
height: auto;
}

.l-thumbnail .more-text {
transition: 0.5s;
z-index: 2;
position: absolute;
top: 50%;
transform: translateY(-50%);
opacity: 0;
display: block;
width: 100%;
color: #fff;
font-size: 16px;
font-weight: lighter;
letter-spacing: 1px;
text-align: center;
text-transform: uppercase;
}

.thumbnail-wrapper {
display: block;
margin: 0;
padding: 0;
}

.thumbnail-wrapper::after {
transition: opacity 0.3s, width 0.8s 0.1s, height 0.8s 0.1s, border-width 0.4s 0.1s;
content: "";
box-sizing: content-box;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 0px;
height: 0px;
border-radius: 50%;
border: 0px solid  #993333;
background:rgba(204, 76, 47, 0.7);
opacity: 0;
}

.thumbnail-wrapper img {
transition: 0.5s;
display: block;
max-width: 100%;
}

.text-content {
padding: 16px;
}

.text-content .title {
margin: 0 0 12px 0;
font-size: 20px;
}

.text-content .caption {
margin: 0 0 12px 0;
font-size: 14px;
color: #555;
font-weight: lighter;
}

.content-meta {
overflow: hidden;
width: 100%;
font-size: 12px;
text-align: right;
}

.content-meta .date {
text-align: right;
color: #aaa;
}

a:hover .content-meta .date {
color: #993333;
}



/*------*/
.pageComTit {
background-color: #F5F9FA;
padding: 30px 0;
margin-bottom: 40px;
}

.pageComTit_in {
background-color: #fff;
padding: 20px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
width: 100%;
box-sizing: border-box;
}

.pageComTit_in h4 {
font-size: 2.5rem;
line-height: 1.5;
font-weight: 500;
padding-bottom: 20px;
margin-bottom: 30px;
border-bottom: solid;
border-bottom-width: medium;
-o-border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#64b3f4), to(#c2e59c));
border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image-slice: 100%;
border-image-slice: 5;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 5px;
border-left-width: 0;
display: inline-block;
}

.pageComTit_in p {
position: relative;
padding-left: 20px;
overflow: hidden;
}

.pageComTit_in p::before {
position: absolute;
content: "";
bottom: 0;
left: 0;
width: 1px;
height: 100%;
background: #ccc;
-webkit-animation: sc_ani01 3s infinite;
animation: sc_ani01 3s infinite;
animation-fill-mode: none;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}

.pageComImg {
position: relative;
z-index: 1;
}

.pageComTit2 {
margin-bottom: 40px;
}

.pageComTit_in2 {
text-align: center;
}

.pageComTit_in2 h4 {
font-size: 2.5rem;
line-height: 1.5;
font-weight: 500;
padding-bottom: 20px;
margin-bottom: 30px;
border-bottom: solid;
border-bottom-width: medium;
-o-border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image: -webkit-gradient(linear, left top, right top, from(#64b3f4), to(#c2e59c));
border-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%);
border-image-slice: 100%;
border-image-slice: 5;
border-top-width: 0;
border-right-width: 0;
border-bottom-width: 5px;
border-left-width: 0;
display: inline-block;
text-align: center;
}

.pageComTit_in2 p {
text-align: left;
}



/* header
--------------------------------------------*/
#header {
width: 100%;
display: flex;
display: -ms-flexbox;
justify-content: space-between;
-webkit-justify-content: space-between;
}

.mainMenu {
box-sizing: border-box;
width: 100%;
align-items: center;
height: 60px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}

.logo_Hed {
padding-left: 10px;
}

.logo_Hed img {
width: 120px;
margin-top: 5px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed a {
display: block;
height: 60px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
/*-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;*/
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}

.logo_Hed span {
font-family: 'Fjalla One', sans-serif;
font-size: 1.5rem;
margin-top: 2px;
display: inline-block;
font-weight: 400;
}

.mainMenuInWrap,
.mainMenuIn {
display: none;
}

.inqBox {
display: none;
}

.sp_list {
display: block;
width: 40px;
height:60px;
float: right;
margin: 0px 5px 0 0;
padding: 0;
list-style-type: none;
}

.sp_list li {
width: 40px;
height: 40px;
float: left;
margin: 0;
padding: 0px;
text-align: center;
font-weight: bold;
}

.sp_list li a {
display: block;
color: #222;
padding-top: 15px;

}

.sp_list li i {
font-size: 30px;
line-height: 30px;
}

/*menu*/
.menuWrap {
padding: 22px;
position: fixed;
right: 0px;
top: 0px;
z-index: 99;
background-color: #222;
cursor : pointer;
}

.menu{
display: block;
position: relative;
width: 20px;
height: 16px;
}
.menu__line{
background: #fff;
display: block;
height: 2px;
position: absolute;
transition:transform .3s;
width: 100%;
}
.menu__line--center{ top: 7px;}
.menu__line--bottom{ bottom: 0;}
.menu__line--top.active{ top: 7px;transform: rotate(45deg);}
.menu__line--center.active{ transform:scaleX(0);}
.menu__line--bottom.active{ bottom: 7px; transform: rotate(135deg);}

.entry_btn {
width: 64px;
height: 60px;
position: fixed;
right: 64px;
top: 0px;
z-index: 199;
cursor: pointer;
display: table;
}
.entry_btn a {
display: table-cell;
vertical-align: middle;
text-align: center;
color: #fff;
font-weight: bold;
font-size: 12px;
background-color: #e4274c;
}
.entry_btn a:hover {
background-color: #028ce4;
}
.requirements_btn {
width: 150px;
height: 90px;
position: fixed;
right: 250px;
top: 0px;
z-index: 199;
cursor: pointer;
display: table;
display: none;
}
.requirements_btn a {
display: table-cell;
vertical-align: middle;
text-align: center;
color: #333;
font-weight: bold;
font-size: 1.6rem;
color: #fff;
background-color: #0ECC8A;
}
.requirements_btn a:hover {
background-color: #0081cf;
letter-spacing: 0.2rem;
}

/*gnav*/
.gnav{
background: rgba(0,0,0,0.9);
display: none;
height: 100%;
position: fixed;
width: 100%;
z-index: 98;
}
.gnav__wrap{
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
/*align-items:center;
display: flex;*/
height: 100%;
position: absolute;
width: 100%;
}
.gnav__menu{
padding: 0 5%;
max-width:  500px;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
/*position: absolute;
left: 50%;
transform: translateX(-50%);
width: 170px;*/
}
.gnav__menu li {
-ms-flex-preferred-size: 46%;
flex-basis: 46%;
max-width: 46%;
margin-right: 8%;
}
.gnav__menu li:nth-child(2n) {
margin-right: 0;
}
.gnav__menu li:nth-child(n+3) {
margin-top: 15px;
padding-top: 15px;
border-top: #ccc dashed 1px;
}

.gnav__menu__item{
opacity: 0;
}
.gnav__menu__item a{
color: #fff;
font-size: 1.6rem;
/*font-weight: bold;*/
text-decoration: none;
transition: .5s;
text-align: center;
display: block;
padding: 10px;
}
.gnav__menu__item a:hover{
color: #028ce4;
}


/* footer
--------------------------------------------*/
#footer {
box-sizing: border-box;
width: 100%;
padding: 30px 0 20px;
background-color: #111;
}

.footerTopIn {
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom: rgba(255,255,255,.5) 1px solid;
}

.footerCp__img {
width: 120px;
margin: 0 auto 5px;
}

.footerCp h3 {
font-size: 1.4rem;
margin-bottom: 10px;
color: #fff;
text-align: center;
}

.footerCp p {
font-size: 1.3rem;
line-height: 1.5;
letter-spacing: 0.05em;
color: #fff;
text-align: center;
}

.footerMu {
display: none;
}

.footerMu a {
color: #fff;
font-size: 1.3rem;
display: block;
} 

.footerMuList {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
margin-bottom: 45px;
}

.footerMuList li {
margin-right: 60px;
}

.footerMuList li:last-child {
margin-right: 0px;
}

.footerMuBtnWrap {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: end;
-ms-flex-pack: end;
justify-content: flex-end;
}

.footerMuBtn02 {
margin-left: 50px;
}

.footerMuBtn01 a,
.footerMuBtn02 a {
padding: 8px 60px;
border: #fff 1px solid;
background-color: #222;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.footerMuBtn01 a:hover {
background-color: #e8a02b;
}

.footerMuBtn02 a:hover {
background-color: #cd4a38;
}

.footerBottomIn {
width: 100%;
}

.footerBottomIn p:first-child {
display: none;
}

.footerBottomIn p,
.footerBottomIn p a {
font-size: 1.3rem;
color: #fff;
}

.footerBottomIn p.copy {
font-size: 1.2rem;
color: #fff;
text-align: center;
}









/* contents
--------------------------------------------*/
.comBtnWrap {
padding-top: 30px;
}

.comBtn01,
.comBtn02 {
width: 100%;
max-width: 200px;
}

.comBtn01 a {
border: #fff 1px solid;
color: #fff;
background-color: #393939;
}

.comBtn02 a {
border: #393939 1px solid;
color: #393939 !important;
background-color: #fff;
box-shadow:3px 3px 0px 0px #393939;
}

.comBtn01 a,
.comBtn02 a {
font-size: 1.5rem;
font-weight: 500;
text-align: center;
display: block;
color: #fff;
padding: 10px;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
transition: 0.5s;
position: relative;
overflow: hidden;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

.comBtn02 a:hover {
color: #fff !important;
box-shadow:0px 0px 0px 0px #393939;
transform: translate(3px,3px);
background-color: #028ce4;
}

.btnR {
margin-left: auto;
margin-right: 0; 
}

.btnC {
margin-left: auto;
margin-right: auto;
}

.com_LedeBox{
position: relative;
border:1px solid #E5E5E5;
margin-bottom: 80px;
}
.com_LedeBox_In{
position: relative;
padding: 30px 15px;
}
.com_LedeBox::before,
.com_LedeBox::after,
.com_LedeBox_In::before,
.com_LedeBox_In::after{
position: absolute;
display:block;
content:"";
width: 50px;
height: 50px;
}
.com_LedeBox::before,
.com_LedeBox::after{
top:-1px;
}
.com_LedeBox_In::before,
.com_LedeBox_In::after{
bottom:-1px;	
}
.com_LedeBox::before,
.com_LedeBox_In::before{
left:-1px;	
}
.com_LedeBox::after,
.com_LedeBox_In::after{
right:-1px;
}
.com_LedeBox::before{ background: url(../images/com/waku01.png) no-repeat;background-size:50px auto; }
.com_LedeBox::after{ background:url(../images/com/waku02.png) no-repeat;background-size:50px auto; }
.com_LedeBox_In::before{ background:url(../images/com/waku03.png) no-repeat;background-size:50px auto; }
.com_LedeBox_In::after{ background:url(../images/com/waku04.png) no-repeat;background-size:50px auto; }

.com_LedeBox_In h4 {
font-size: 2.4rem;
line-height: 1.8;
font-weight: bold;
font-family: "游明朝体","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","MS PMincho","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro",serif;
text-align: center;
margin-bottom: 30px;
}


.com_Lede01 {
font-size: 1.7rem;
line-height: 1.8em;
}

.com_Lede01 span {
font-weight: bold;
background:rgba(0, 0, 0, 0) linear-gradient(transparent 80%, #ffff7f 0%) repeat scroll 0 0;
}





/*--idxBox08----------------------*/
#idx_box08 {
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.entry_box,
.youkou_box {
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
max-width: 100%;
text-align: center;
}
.entry_box a {
display: block;
color: #fff;
text-align: center;
background: #e4274c;
padding: 20px 0px;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.youkou_box a {
display: block;
color: #fff;
text-align: center;
background: #028ce4;
padding: 20px 0px;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.entry_box a p.entry_box_tit,
.youkou_box a p.entry_box_tit {
font-family: 'Fjalla One', sans-serif;
font-size: 18px;
font-weight: bold;
text-align: center;
letter-spacing: 0.1em;
}
.entry_box a p.entry_box_tit span,
.youkou_box a p.entry_box_tit span {
position: relative;
}
.entry_box a p.entry_box_tit span:after,
.youkou_box a p.entry_box_tit span:after {
font-family: "Font Awesome 5 Free";
content: "\f35a";
position: absolute;
right: -60px;
top: 50%;
color: #fff;
font-weight: normal;
font-size: 0.7em;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.entry_box a:hover p.entry_box_tit span:after,
.youkou_box a:hover p.entry_box_tit span:after {
right: -80px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.entry_box a:hover,
.youkou_box a:hover {
background: #303030;
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.entry_box a p.entry_box_txt,
.youkou_box a p.entry_box_txt {
font-size: 1.6rem;
line-height: 1.4;
text-align: center;
margin-top: 10px;
}


.ttl01 { font-size: 2rem; text-align: center; padding: 50px 0;}


.bottom_btns {
  width: 100%;
  display: flex;
   	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
}
.bottom_btns .inner { width: 100%; text-align: center;}
.bottom_btns .inner a { display: block; color: #FFF; padding: 40px 0;}
.bottom_btns .inner a.btn01 { background: #0ECC8A;}
.bottom_btns .inner a.btn02 { background: #e4274c;}
.bottom_btns .inner a.btn01:hover { opacity: 0.6;}
.bottom_btns .inner a.btn02:hover { opacity: 0.6;}
.bottom_btns .inner a h3 { font-size: 2.0rem; margin: 0 0 0px; transition: 0.3s ease-in-out;}
.bottom_btns .inner a:hover h3 { letter-spacing: 0.5rem; transition: 0.3s ease-in-out;}
.bottom_btns .inner a p { font-size: 1.5rem;display: none;}


.imgBg01y { position: relative;}
.imgBg01y::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
width: 100%;
height: 100%;
background: -o-repeating-linear-gradient(-45deg,#0ECC8A 0,#0ECC8A 10px,transparent 10px,transparent 20px);
background: repeating-linear-gradient(-45deg, #0ECC8A 0,#0ECC8A 10px,transparent 10px,transparent 20px);
/* -45度斜めから25%、50%、75%、100%と
ボーダーが交互に色違いとなるように指定 */
/*background-image: linear-gradient(
 45deg,
 rgba(255,255,255,0) 25%,
 #0ECC8A 25%, #0ECC8A 50%,
 rgba(255,255,255,0) 50%, rgba(255,255,255,0) 75%,
 #0ECC8A 75%, #0ECC8A);
background-size: 50px 50px;*/
}

.imgBg02w { position: relative;}
.imgBg02w::before {
content: "";
position: absolute;
top: 10px;
left: 10px;
width: 100%;
height: 100%;
background: -o-repeating-linear-gradient(-45deg,#fff 0,#fff 5%,transparent 5%,transparent 10%);
background: repeating-linear-gradient(-45deg, #fff 0,#fff 5%,transparent 5%,transparent 10%);
/* -45度斜めから25%、50%、75%、100%と
ボーダーが交互に色違いとなるように指定 */
/*background-image: linear-gradient(
 45deg,
 rgba(255,255,255,0) 25%,
 #FFF 25%, #FFF 50%,
 rgba(255,255,255,0) 50%, rgba(255,255,255,0) 75%,
 #FFF 75%, #FFF);*/
background-size: 50px 50px;
}


}