html, body{
    width:100%;
    height:100%;
}
body {
    margin: 0;
    padding: 0;
}
body, td{
    font-family: "游ゴシック","メイリオ","MS Pゴシック", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro", sans-serif;
    ;
}
#wrapper{
    width:100%;
    height: 100%;
}
.contentbox {
    width: 1180px;
    margin: 0 auto;
}

ul, dl, ol, li{
    list-style: none;
}
h1,h2,h3,h4,h5, p,form,ul, ol, dl{
    margin:0;
    padding:0;
}
a {
    text-decoration: none;
    color:#017024;
}
@media (hover: hover){
    a:hover {
        color:#FFA836;
    }
}
.spmenu{
    display: none;
}
div#pcheader {
    position: fixed;
    z-index: 400;
    top: 0;
    width: 100%;
    background-color: #FFF;
}
.headerlink {
    background-color: #EFF7F0;
}
.headerlink ul {
    display: flex;
    list-style: none;
    justify-content: right;
    font-size: 13px;
    line-height: 1em;
    padding: 10px 13px;
}
.headerlink ul li {
    padding: 0 10px;
    border-right: 1px solid #000;
}
.headerlink ul li a {
    color: #000;
}
@media (hover:hover){
    .headerlink ul li a:hover {
        color: #017024;
    }
}
.headerlink ul li a.lang {
    color: #9B9B9B;
}
.headerlink ul li:last-child {
    border-right: none;
}
#pcheader .titleline{
    display: flex;
    justify-content: space-between;
    margin-top:20px;
}
#pcheader h1.title{
    display:block;
    width:309px;
    height:51px;
    background-image:url(/img/common/mainlogo.png);
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: -9999px;
    margin:0 0 0 20px;
    padding:0;
}
#pcheader h1.title a {
    display: block;
    width: 100%;
    height: 100%;
}
.btnbox{
    display:flex;
}
#pcheader .btnbox a{
    text-align: center;
    font-size:17px;
    line-height:17px;
    font-weight: bold;
    padding-top:15px;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}
#pcheader .btnbox .pamph{
    width: 152px;
    height: 51px;
    border-radius: 10px;
    background: linear-gradient(90deg, #ecffdc 0%, #fff 100%);
    border:2px solid #017024;
    color:#017024;
    margin-right:16px;
}
#pcheader .btnbox .oc{
    width: 152px;
    height: 51px;
    border-radius: 10px;
    background: linear-gradient(90deg, #ffebcf 0%, #fff 100%);
    border: 2px solid #e80;
    color:#e80;
    margin-right:23px;
}
#pcheader .btnbox .tel{
    width: 223px;
    height: 51px;
    color:#FFF;
    background-color:#017024;
    margin-right:26px;
    font-size:23px;
    line-height:23px;
    letter-spacing: 0.03em;
    transition-duration: 0.3s;
    border:2px solid #017024;
    padding-top:13px;
}
@media (hover: hover){
#pcheader .btnbox .tel:hover{
    color:#017024;
    background-color:#FFF;
}
}
#pcheader .btnbox .tel::before{
    display: inline-block;
    content:"";
    background-image:url(/img/common/icon_phone.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    height:19px;
    width:23px;
    margin-right:3px;
}
@media (hover: hover){
#pcheader .btnbox .tel:hover::before{
    background-image:url(/img/common/icon_phone_hover.png);
}
}
#pcheader .pcheadmenu ul{
    display: flex;
    justify-content: right;
    padding-top:25px;
    font-size:18px;
    line-height:18px;
    color:#000;
}
#pcheader .pcheadmenu > ul > li > a{
    padding:2px 30px;
    border-right:1px solid #000;
    display:block;
    letter-spacing: 1px;
    font-weight: bold;
    color:#000;
}


@media (hover: hover){
    #pcheader .pcheadmenu > ul > li > a:hover{
        color:#017024;
    }
}
#pcheader .pcheadmenu > ul > li:last-child > a{
    border-right: none;
}
#pcheader .pcheadmenu ul li ul{
    display: none;
}

.introduction {
    margin-top: 70px;
}

.introduction .contentbox {
    background-color: #F6F6F6;
    padding: 20px 50px;
    box-sizing: border-box;
}

.introduction h1 {
    font-size: 11px;
    line-height: 15px;
    font-weight: normal;
    color: #313131;
}

.introduction p {
    font-size: 9px;
    font-weight: normal;
    line-height: 15px;
    color: #313131;
}

div#footer {
    margin-top: 30px;
    background-color: #DDFECF;
}

#fmenu .contentbox {
    display: flex;
    padding-top: 60px;
}

#fmenu .contentbox > div {
    padding: 0 20px 20px 15px;
    border-right: 1px solid #707070;
    box-sizing: border-box;
}

#fmenu .contentbox ul li {
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.2em;
}
#fmenu .contentbox ul li a{
    color:#000;
}


@media (hover: hover){
    #fmenu .contentbox ul li a:hover{
        color:#017024;
    }
}
#fmenu .contentbox ul li span{
    font-weight: bold;
}
#fmenu .contentbox ul li ul li{
    padding-left:12px;
    line-height:18px;
}
#fmenu .contentbox > div.col1{
    width:220px;
}
#fmenu .contentbox > div.col2{
    width:245px;

}
#fmenu .contentbox > div.col3{
    width:245px;

}
#fmenu .contentbox > div.col4{
    width:248px;
}
#fmenu .contentbox > div.col5{
    width:220px;
    border-right: none;
    padding-top:18px;
}

#fmenu .contentbox ul li.style{
    margin-top:45px;
}
#fmenu .contentbox ul li.career{
    margin-top:30px;
}
#fmenu .contentbox ul li.faq{
    margin-top:45px;
}
#fmenu .contentbox ul li.about{
    margin-top:15px;
}
div#flinks {
    background-color: #BFF2A9;
    padding: 20px 0;
    margin-top:24px;
}

#flinks ul {
    display: flex;
    justify-content: center;
}

#flinks ul li a {
    font-size: 13px;
    line-height: 1em;
    letter-spacing: 0.2em;
    padding: 2px 40px;
    border-right: 1px solid #017024;
}
#flinks ul li:last-child a {
    border-right:none;
}

#flinks ul.grouplink {
    display: flex;
    justify-content: center;
    padding-top:5px;
    margin-top:0;
}

#flinks ul.grouplink li span,
#flinks ul.grouplink li a {
    font-size: 13px;
    line-height: 1em;
    letter-spacing: 0.2em;
    padding: 2px 40px;
    border-right: 1px solid #017024;
}
#flinks ul.grouplink li:last-child a {
    border-right:none;
}
#footer .medialink{
    display: none;
}
.fmenusp{
    display: none;
}
div#fcopy {
    text-align: center;
    padding: 30px 0;
    font-size: 13px;
    line-height: 1em;
    letter-spacing: 0.2em;
    color: #7E7E7E;
}
#pcheader .pcheadmenu ul li ul {
    display: none;
    position: absolute;
    z-index: 100;
    background-color: #BFF2A9;
    top: 32px;
    justify-content: center;
    color: #FFF;
    margin-top: 0;
    padding-top: 0;
    padding: 25px;
}

/* 213px */
#pcheader .pcheadmenu ul li#tmenu1 ul {
    width: 200px;
    right:-18px;
}

/* 174px */
#pcheader .pcheadmenu ul li#tmenu2 ul {
    width: 160px;
    right:-18px;
}

/* 194px */
#pcheader .pcheadmenu ul li#tmenu3 ul {
    width: 165px;
    right:-10px;
}

/* 137px */
#pcheader .pcheadmenu ul li#tmenu4 ul {
    width: 170px;
    right:-42px;
}

/* 194px */
#pcheader .pcheadmenu ul li#tmenu5 ul {
    width: 394px;
    right:-125px;
}
#pcheader .pcheadmenu ul li#tmenu5 ul li{
    float:left;
    width: 170px;
}
#pcheader .pcheadmenu ul li#tmenu5 ul li:nth-child(odd){
    width:220px;
}
/* 136px */
#pcheader .pcheadmenu ul li#tmenu6 ul {
    width:190px;
    right:-52px;
}
#pcheader .pcheadmenu ul li ul::before{
    display: block;
    width: 1px;
    height: 1px;
    border: 10px solid #BFF2A9;
    border-top: none;
    border-left: 15px solid #FFF;
    border-right: 15px solid #FFF;
    position: absolute;
    content:"";
    top:-10px;
}
#pcheader .pcheadmenu ul li#tmenu1 ul::before {
    left: 110px;
}

#pcheader .pcheadmenu ul li#tmenu2 ul::before {
    left: 90px;
}

#pcheader .pcheadmenu ul li#tmenu3 ul::before {
    left: 92px;
}

#pcheader .pcheadmenu ul li#tmenu4 ul::before {
    left: 95px;
}

#pcheader .pcheadmenu ul li#tmenu5 ul::before {
    left: 207px;
}

#pcheader .pcheadmenu ul li#tmenu6 ul::before{
    left:95px;
}
#pcheader .pcheadmenu ul li ul a {
    color: #000000;
    display:block;
    padding:12px 0;
    font-size:14px;
    line-height:22px;
    letter-spacing: 0.1em;
    font-weight:bold;
}
#pcheader .pcheadmenu ul li ul a:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(/img/index/point_tmenu.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: top;
    margin-top:2px;
    margin-right:4px;
}
@media (hover: hover){
#pcheader .pcheadmenu ul li ul a:hover{
    color:#FFF;
}
}

#pcheader .pcheadmenu > ul > li {
    position: relative;
    padding-bottom:10px;
}
div#footer {
    margin-top: 45px;
}

/* 固定ページ */
.pankuzu {
    margin-top: 161px;
    background-color: #EEEEEE;
    border-top: 1px solid #017024;
}
.pankuzu ul {
    display: flex;
    /* border-top: 2px solid #017024; */
}
.articlebox {
    background-color: #FAFFF6;
    padding-top: 43px;
}

.titlebox .contentbox {
    width: 1013px;
}
.pankuzu ul li {
    padding: 15px 0;
    font-size:13px;
    line-height:13px;
    letter-spacing:0.03em;
}
.pankuzu ul li:before {
   display:inline-block;
    content:">";
    margin-right:15px;
    margin-left:15px;
}

.pankuzu ul li:first-child:before {
    display:none;
}
.pankuzu ul li:first-child a{
    display:block;
    width:100%;
    height: 100%;
}


.titlebox h1 {
    font-size: 30px;
    line-height: 49px;
    letter-spacing: 0.2em;
    color: #017024;
    padding-bottom:24px;
}
.articlebox .sectionbox .titlebox {
    width: 1180px;
    background-color: #DDFECF;
    margin: 0 auto;
}

.articlebox .contentbox {
    width: 1013px;
}
.sectionbox .titlebox h2 {
    font-size: 20px;
    line-height: 20px;
    padding: 15px 0;
    color: #017024;
    letter-spacing: 0.2em;
}

.sectionbox {
    padding-bottom: 95px;
}

.sectionbox .maintext .contentbox {
    display: flex;
}

.sectionbox .maintext .contentbox .imagebox {
    width:343px;
}
.sectionbox .maintext .contentbox .imagebox img{
    width:343px;
    height:auto;
    border-radius: 15px;
    overflow: hidden;
}

.sectionbox .maintext .contentbox p {
    padding-right: 50px;
    flex-grow: 1;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0.05em;
    color: #000000;
}
.maintext {
    margin-top: 30px;
}
.maintext .schedulebox .contentbox {
    display: block;
}
/* ボタン装飾 */
a.btnTypeA {
    font-size:16px;
    display:inline-block;
    font-weight:bold;
    color:#017024;
    padding:0 47px 15px 0;
    margin-top:70px;
    background-image:url(/img/common/point_linkarrow.svg);
    background-repeat:no-repeat;
    background-position:right bottom;
    background-size:auto 22px;
}
@media (hover: hover){
    a.btnTypeA:hover {
        color:#FFB710;
        background-image:url(/img/common/point_linkarrow_o.svg);
        background-size:auto 22px;
    }
}
.onlysp{
    display: none;
}

/*　共通フッタリンク */


.commonlink {
    border-top: 6px solid #DDFECF;
    border-bottom: 6px solid #DDFECF;
    padding: 60px 0;
    margin: 96px 0 86px 0;
}
.commonlink .contentbox{
    
    background-image: url(/img/style/bg_commonlink.png);
    background-size: 61px auto;
    background-repeat: no-repeat;
    background-position: right 280px center;
}
.commonlink  h2 {
    text-align: center;
    margin: 0 auto;
    font-size: 19px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0.2em;
    background-image: url(/img/style/bg_commonlinktitle.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    padding-bottom: 20px;
    width:320px;
    position:relative;

}
.commonlink h2::after {
    display: block;
    content: "";
    width: 14px;
    height: 13px;
    position: absolute;
    background-image: url(/img/style/point_commonlinktitle.svg);
    background-size: contain;
    top: -5px;
    right: -7px;
}
.commonlink .contactbox {
    justify-content: center;
    padding-top: 0;
    display: flex;
}

.commonlink .contactbox li {
    border: none;
    margin: 13px 5px 0 5px;
    background: none;
    box-shadow: none;
}
.commonlink .contactbox li a {
    background-color: #017024;
    padding: 0;
    width: 220px;
    height: 40px;
    border-radius: 20px;
    display: block;
    line-height: 1em;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}
.commonlink .contactbox li a span {
    color: #FFFFFF;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.15em;
    width: 220px;
    height: 40px;
    border-radius: 20px;
    border:2px solid #017024;
    box-sizing: border-box;
    z-index:3;
    position:absolute;
    top:0;
    left:0;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding-top:10px;
}


.commonlink .contactbox li a:after {
    display: none;
}
.commonlink .contactbox li a.tel span{
    padding-top:8px;
}
.commonlink .contactbox li a.tel span:before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 23px;
    background-image: url(/img/index/icon_phone.png);
    vertical-align: middle;
    background-repeat: no-repeat;
	background-size:contain;
    margin-right: 3px;
}

.commonlink .contactbox li a.contact{
    background-color: #FFA836;
}
.commonlink .contactbox li a.contact span{
    border:2px solid #FFA836;
}
.commonlink .contactbox li a:before {
    content: '';
   /*絶対配置で位置を指定*/
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
   /*色や形状*/
    background:#FFF;/*背景色*/
    width: 100%;
   height: 100%;
   /*アニメーション*/
    transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 1);
   transform-origin: right top;
}
@media (hover: hover){
    .commonlink .contactbox li a:hover:before{
        transform-origin:left top;
        transform:scale(1, 1);
    }
    .commonlink .contactbox li a.tel:hover span{
        color:#017024;
    }
    .commonlink .contactbox li a.tel:hover span:before {
        background-image: url(/img/index/icon_phone_g.png);
    }
    .commonlink .contactbox li a.contact:hover span{
        color:#FFA836;
    }
}


@media (hover: hover){
}

.commonlink .actionbox {
    display: flex;
    justify-content: center;
}
.commonlink .actionbox li{
    margin: 12px 5px 0 5px;
}
.commonlink .actionbox a {
    text-align: center;
    font-size: 17px;
    line-height: 17px;
    font-weight: bold;
    padding-top: 13px;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    display: block;
    width: 218px;
    padding-bottom: 12px;
    border-radius: 14px;
    position:relative;
    overflow: hidden;
}
.commonlink .actionbox .oc {
    background: linear-gradient(90deg, #ffebcf 0%, #fff 100%);
    border: 2px solid #e80;
    color: #e80;
}
.commonlink .actionbox .pamph {
    background: linear-gradient(90deg, #ecffdc 0%, #fff 100%);
    border: 2px solid #017024;
    color: #017024;
}

/* animation */
@media (hover: hover){
.showarrowonhover {
    transition: all 0.2s linear 0s;
    
    &:before {
      content: "\f178";
      font-family: FontAwesome;
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      top: 0;
      left: 0px;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 30px;
      transform: scale(0,1);
      transition: all 0.2s linear 0s;
      border-none;
    }
    
    &:hover {
      text-indent: -999999px;
      
      &:before {
        transform: scale(1,1);
        text-indent: 0;
      }
    }
  }
}