@charset "UTF-8";
/* CSS Document */

body{ font-family: 'Noto Serif', serif;
-webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; line-height: 1.6;}

a{ text-decoration: none; color: inherit;}
a.no-ef:hover img { opacity: 1;}

.sp_view{ display: none!important;}
.pc_view{ display: inherit!important;}
body.tablet .pc_view{ display: none!important;}

.pctb-br{display: block;}

.wrap{ width: 1200px; margin: 0 auto;}

/*FONT*/
.fnt-gsc{font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;}

/*KEYVISUAL*/
.main_fix{width: 100%; overflow: hidden;}
.home-block{padding: 0; overflow: hidden;}
.home-block video,.home-block img{ position: fixed; top: 0; left: 0;}
.home-block img{ display: none;}
.home-block p.logo{width: 400px; max-width: 70%;position: absolute; top: 35%; left: 50%; transform: translate(-50%,-50%);}
.home-block p.logo img{ display: block;position: inherit; height: auto; top: auto; left: auto; transform: none;}
/*.home-block img{ top: 50%; left: 50%; transform: translate(-50%,-50%); height: 100%;}*/

/*slide*/
#key-slide{
  z-index: 4;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
}
#key-slide .key-in{
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
}
#key-slide .key-in.slide01{
  background-image: url("../imgs/slide/01_entrance.jpg")
}
#key-slide .key-in.slide02{
  background-image: url("../imgs/slide/02_image.jpg")
}
#key-slide .key-in.slide03{
  background-image: url("../imgs/slide/03_image.jpg")
}
#key-slide .key-in.slide04{
  background-image: url("../imgs/slide/04_office.jpg")
}
/*
#key-slide .key-in.slide05{
  background-image: url("../imgs/slide/05_office.jpg")
}
*/
#key-slide .key-in.slide06{
  background-image: url("../imgs/slide/06_office.jpg")
}

#mainfix-bk{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: url(../imgs/index/main_wp.png); z-index: 5;}

#sp-menu { display: none;}
#sp-menu-block { display: none;}


/* デザイン用 */
#sp-menu-toggle { display: none;}
#sp-menu-block-sp { display: none;}

#container { overflow: hidden; overflow-scrolling: touch; -webkit-overflow-scrolling: touch;}

/*header*/
header {
  width: 100%; height: 60px; background: rgba(255, 255, 255, 0); z-index: 880;
  position: fixed; left: 0; top: 0;
  -webkit-transition: background ease-in-out 0.3s, height ease-in-out 0.3s;
  transition: background ease-in-out 0.3s, height ease-in-out 0.3s;}

header h1 { position: absolute; left: 1vw; top: 40px; width: auto; height: 40px; z-index: 9991;}
header h1 a { display: block;}

/*logo*/
header h1 svg { width: auto; height: 40px; fill: #fff;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;}

.header-btn{  display: none; position: absolute; right: 1vw; top: 20px; text-align: left; -webkit-transition: top ease-in-out 0.3s;
  transition: top ease-in-out 0.3s; z-index: 201;}

.header-btn a { display: block; color: #000; background: #fff; font-size: 14px;
	padding: .5em 2.5em; border-radius: 50px;}

/*header-fixed*/
header.fixed { background:#fff;}
header.fixed h1 { top: 15px;}

header.fixed h1 svg { height: 30px;}
header.fixed h1 svg .cls-1{ fill: #606060;}
header.fixed h1 svg .cls-2{ fill:#ffbc00;}
header.fixed h1 svg .cls-3{ fill:#4d822b;}
/*nav-fixed*/
header.fixed #g-nav { top: 10px;}
header.fixed #g-nav li p{cursor: pointer;}
header.fixed #g-nav li a
,header.fixed #g-nav li p{ color: #111!important;}
header.fixed #g-nav li a:hover
,header.fixed #g-nav li p:hover{ color: #fff;}
header.fixed #sp-g-nav { top: 10px;}
header.fixed #sp-g-nav li a { color: #fff;}
header.fixed .header-btn { top: 15px;}
header.fixed .header-btn a { color: #fff; background: #6aa545;}

header.is-ab { position: absolute;}

/*Footarea*/
.foot-area{font-family: serif; position: relative;}
p.pmark{ display: flex; align-items: center; padding-top: .25em;}
p.pmark > span:nth-child(1){width: 8.5%; background: rgba(255,255,255,0.90); line-height: 1; box-sizing: border-box; border-radius: 5px; padding: .25em;}
p.pmark span:nth-child(2){ padding-left: .88em;}
p.pmark span:nth-child(2) a{ display: block; position: relative; line-height: 1; padding: .25em 0 0 .88em;}
p.pmark span:nth-child(2) a::before{ content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: bold; font-size: .75em;
    position: absolute; top: 50%; left: 0; transform: translate(0,-50%);}
p.pmark span img{ width: 100%;}


.foot-contact{font-family: serif; background: #f5f5f5; box-sizing: border-box; padding: 2em 0; display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; z-index: 10;}
.foot-contact h3{ font-family: 'Noto Serif', serif; font-size: 24px; border-top: 1px solid #000; border-bottom: solid 1px #000; box-sizing: border-box; padding: 1.35em 3em; color: #40781c;}

.foot-tel::after{ content: ""; display: block; clear: both;}
.foot-tel p{ font-weight: bold;}


.foot-tel span.tel{ padding: 0 .5em; font-size: 1.5em; color: #40781c;}

.foot-area{ background: #6aa545; padding: 5% 0; display: flex; justify-content: space-around; color: #fff; line-height: 1.8; font-size:.88em; z-index: 10;}
.foot-logo svg{width: 60%; margin: 0 auto; display: block;}
.foot-logo svg .cls-1,.foot-logo svg .cls-2,.foot-logo svg .cls-3{ fill: #fff;}
.foot-menu{ display: flex; justify-content: space-between;}
.foot-menu p{ padding: 0 1em;}
.foot-menu p::before{ content: "・"; display: inline-block;}

.foot-logo p.logo{width: 60%;}
.foot-logo p.logo img{ width: 100%;}
footer{ background: #40781c; z-index: 10;}
footer p{ text-align: center; color: #fff; font-weight: normal; font-size: 14px; padding: 1em 0;}

/*Mail*/
.foot-contact .more-btn {
  width: 160px;
  height: 30px;
  margin: 1em 0 0 0;
	float: right;}

.foot-contact .more-btn a {
	font-size: 12px;
  letter-spacing: 0.1em;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-transition: color ease-in-out 0.3s;
  transition: color ease-in-out 0.3s;
  overflow: hidden;
	border: 1px solid #000;
	box-sizing: border-box;
}

.foot-contact .more-btn a:before {
      content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all ease-in-out 0.3s;
    transition: all ease-in-out 0.3s;
	    background: rgba(255, 255, 255, 0);}

.foot-contact .more-btn a:hover{
	font-weight: bold;
}
.foot-contact .more-btn a:hover:before {
  left: 0;
background: #000;}


.foot-contact .more-btn a:hover{
	font-weight: bold;
	color: #fff;
}

/*================================
 グローバルナビ
==================================*/

#g-nav {
  display: none;
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 201;
  width: 100%;
  -webkit-transition: top ease-in-out 0.3s;
  transition: top ease-in-out 0.3s;
}

#g-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: space-evenly;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  /* height: 0; */
  max-width: 70%; margin: 0 auto;
}

#g-nav li a
,#g-nav li p{
  display: block;
  font: 400 .95em/40px "Kreon", sans-serif;
  letter-spacing: 0.1em;
  color: #fff;
  white-space: nowrap;
  padding: 0 .88vw;
  -webkit-transition: color ease-in-out 0.3s;
  transition: color ease-in-out 0.3s;
}

#g-nav li a span
,#g-nav li p span{
  z-index: 2;
}

#g-nav li a::before
,#g-nav li p::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 90px;
  left: 0;
  top: -90px;
  background: transparent;
  z-index: -1;
  -webkit-transition: background ease-in-out 0.3s, top ease-in-out 0.3s;
  transition: background ease-in-out 0.3s, top ease-in-out 0.3s;
}

#g-nav li a:hover::before
,#g-nav li p:hover::before{
  top: -50px;
  background: #6aa545;}

#home #g-nav li.nav01 a {
  color: #fff;}

#home #g-nav li.nav01 a::before {
  top: -50px;
  background: #159321;}

#about #g-nav li.g2 a {
  color: #fff;}

#about #g-nav li.g2 a::before {
  top: -50px;
  background: #159321;}

#wedding #g-nav li.g3 a {
  color: #fff;}

#wedding #g-nav li.g3 a::before {
  top: -50px;
  background: #159321;}

#menu #g-nav li.g4 a {
  color: #fff;}

#menu #g-nav li.g4 a::before {
  top: -50px;
  background: #159321;}

#plan #g-nav li.g5 a {
  color: #fff;}

#plan #g-nav li.g5 a::before {
  top: -50px;
  background: #159321;}

/**/
  #g-nav li ul.g-nav-child li a:hover::before {

    background: transparent;
    width: 100%;
  }

/* gnav-child */
#g-nav ul li .g-nav-child { display: flex; flex-direction: column; }
.g-nav-child{
    width: 100%;
    display: none;
    position: absolute;
    top: 40px;
    padding: 0;

}

.g-nav-child li{
    width: 100%;
}

/*子階層以降共通*/
#g-nav li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
}
#g-nav li li a {
    border-top: 1px solid #eee;
    width: 13em;
    background: #6aa545;

}
#g-nav li:hover > ul > li {
    height: 2.5rem;
    overflow: visible;
}


/*main-logo*/
.mainvis_in{ z-index: 110; height: 100vh;}
.mainvis_in svg{ width: 20%; display: block;position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);}
.mainvis_in svg .cls-1,.mainvis_in svg .cls-2,.mainvis_in svg .cls-3 {fill: #fff;}
.mainvis_in h2{ font-family: 'Noto Serif', serif; position: absolute; top: 50%; left: 50%;color: #fff; font-size: 46px; font-weight: 500; width: 100%; text-align: center;}

/*フットナビ*/
.footnav{ padding: 145px 0 150px;}
.footnav-block .row {
  margin: -20px 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;;
	align-items: center;}

.footnav-block article {
  padding: 20px 0;
	box-sizing: border-box;}
.footnav-block article:nth-child(2){ margin: 0 10px;}

.footnav-block article a {
  display: block;}

.footnav-block article a:hover .img-block img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
	display: block;}

.footnav-block article .img-block {
  overflow: hidden;
	display: block;}

.footnav-block article .img-block img {
  -webkit-transition: -webkit-transform 1s linear 0s;
  transition: -webkit-transform 1s linear 0s;
  transition: transform 1s linear 0s;
  transition: transform 1s linear 0s, -webkit-transform 1s linear 0s;}


.footnav-block article p {
  position: absolute;
  top: 0;
  left: 0;
	font-size: 18px;
	min-width: 40%;
	padding: 0 2em;
	box-sizing: border-box;
  display: block;
  text-align: center;
  background: #fff;
	font-weight: 500;}

article img {
  max-width: 100%;
  height: auto; display: block;
}

/*================================
 index contents
==================================*/

#content{ background: #fff;margin: auto; z-index: 10;
    text-align: left;}

/*=======メインテキスト*/
.main-sec{ padding: 60px 0;}
.main-sec p{ text-align: center; line-height: 1.8; padding: 0 5em; font-feature-settings:"palt";letter-spacing: .05em;}

/*======ヘルスケア事業*/

/*#health .home-block{ background: url(../imgs/health/key.jpg);}*/

.main-section section{ margin-bottom: 80px;}
.main-section section:before {
  content: '';
  position: absolute;
  top: 80px;
  width: calc(100% - 160px);
  height: 100%;
	z-index: 0;}

.main-section section + section {
  margin-top: 240px;
}

.main-section h2 {
	font-family: 'Noto Serif', serif;
  font-size: 28px;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
	color: #fff;
	font-weight: 700;
}

.main-section p{ line-height: 2; color: #fff;font-family: 'Noto Serif', serif;}

/*ボタン*/
.main-section .more-btn {
  width: 160px;
  height: 30px;
  margin: 50px 0 0 0;
}

.main-section .more-btn a {
	font-size: 12px;
  letter-spacing: 0.1em;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-transition: color ease-in-out 0.3s;
  transition: color ease-in-out 0.3s;
  overflow: hidden;
}

.main-section .more-btn a:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: -100%;
  top: 0;
  z-index: 0;
  -webkit-transition: all ease-in-out 0.3s;
  transition: all ease-in-out 0.3s;
}

.main-section .more-btn a:hover:before {
  left: 0;}

/*画像*/
.main-section .img-block {
  width: calc(100% - 560px);
  height: 465px;}

.main-section .img-block img {
  display: none;}

/*テキスト*/
.main-section .txt-block {
  width: 545px;}

.main-section section .more-btn a:hover{
	font-weight: bold;
}

.main-section section:nth-child(odd) h2 {
  color: #fff;}

.main-section section:nth-child(odd) p {
  color: #fff;
  line-height: 2;}

.main-section section:nth-child(odd) .more-btn a {
  border: 1px solid #fff;
  color: #fff;}

.main-section section:nth-child(odd) .more-btn a:hover {
  color: #000;}

.main-section section:nth-child(odd) .more-btn a:before {
  background: rgba(255, 255, 255, 0);}

.main-section section:nth-child(odd) .more-btn a:hover:before {
  background: #fff;}

.main-section section:nth-child(odd) .img-block {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;}

.main-section section:nth-child(odd) .txt-block {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  padding: 140px 50px 0;
	box-sizing: border-box;}


.main-section section:nth-child(even) h2 {
  color: #000;}

.main-section section:nth-child(even) p {
  color: #000;}

.main-section section:nth-child(even) .more-btn a {
  border: 1px solid #000;
  color: #000;}

.main-section section:nth-child(even) .more-btn a:before {
  background: rgba(17, 17, 17, 0);}

.main-section section:nth-child(even) .more-btn a:hover {
  color: #fff;}

.main-section section:nth-child(even) .more-btn a:hover:before {
  background: #000;}

.main-section section:nth-child(even) .img-block {
 -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;}

.main-section section:nth-child(even) .txt-block {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding: 240px 50px 0;
box-sizing: border-box;}

.main-section section:nth-child(even):before {
  left: 0;
  background: #ececec;}

.sec-health .img-block {
  background: url(../imgs/index/in-lmg01.jpg) no-repeat 70% 50%;
  background-size: cover;
}

.sec-web .img-block {
  background: url(../imgs/index/in-lmg02.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.sec-medical .img-block {
  background: url(../imgs/index/in-lmg04.jpg) no-repeat 50% 50%;
  background-size: cover;
}

.sec-company .img-block {
  background: url(../imgs/index/in-lmg03.jpg) no-repeat 50% 50%;
  background-size: cover;
}
.main-section section:nth-child(odd):before{ right: 0; background: #6aa545;}
.main-section section:nth-child(even):before {right: 0; background: #efefef;}

.main-section section:nth-child(odd) .more-btn a:hover { color: #6aa545;}
.main-section section:nth-child(even) .more-btn a:hover { color: #fff;}


/*================================
 Page : ALL
==================================*/

#content.under .more-btn {
  width: 160px;
  height: 30px;
  margin: 3em 0 0 0;}

#content.under .more-btn a {
	font-size: 12px; letter-spacing: 0.1em; width: 100%; height: 100%;
	display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center;
	justify-content: center; -ms-flex-line-pack: center; align-content: center; -webkit-box-align: center; -ms-flex-align: center;
	align-items: center; text-align: center; -webkit-transition: color ease-in-out 0.3s; transition: color ease-in-out 0.3s; overflow: hidden;
	border: 1px solid #000; box-sizing: border-box;}

#content.under .more-btn a:before {
	content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all ease-in-out 0.3s;
    transition: all ease-in-out 0.3s;
	    background: rgba(255, 255, 255, 0);}

#content.under .more-btn a:hover{
	font-weight: bold;}
#content.under .more-btn a:hover:before {
  left: 0; background: #000;}


#content.under .more-btn a:hover{
	font-weight: bold; color: #fff;}

.main-sec h3{ text-align: center;}

/*================================
 Page : WEB
==================================*/

.home-block.bk_web{background: url(../imgs/web/key.jpg) no-repeat center/cover;}

#content.under .c01,#content.under .c02,#content.under .c03{ display: flex; justify-content: center;}

#content.under .sec-in{ width: 50%; display: flex; justify-content: center; align-items: center; box-sizing: border-box;  line-height: 1.8; position: relative; background: #f5f5f5;}
#content.under .c01 .sec-in:nth-child(2),#content.under .c02 .sec-in:nth-child(1),#content.under .c03 .sec-in:nth-child(2){ background: #f5f5f5;}


#content h3{ color: #307b01; font-size: 28px; padding-bottom: .5em; font-family: 'Noto Serif', serif; letter-spacing: .25em; font-weight: bold;}

#content.under .sec-in ul { margin: 2em 0;}
#content.under .sec-in ul li{ position: relative; padding-left: 1em;}
#content.under .sec-in ul li::before{ content: "・"; position: absolute; left: 0;}

.sec-in-txt > div{ max-width: 80%;}
#web .c01 {
margin-top: 100px;
}

/*================================
 Page : DESIGN
==================================*/

.home-block.bk_design{background: url(../imgs/design/key.jpg) no-repeat center/cover;}

.archive {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 0 5em;
  max-width: 1200px;
  margin: 0 auto;
}
.archive li { width: 30%; display: flex;
    flex-direction: column;
    justify-content: inherit;
}

.archive li img { width: 100%; height: auto;}
.sec-in img { width: 100%;}

#content.under .c01.design .sec-in:nth-child(1) {
    background: #f5f5f5;
}

/* #content.under .c02 .sec-in:nth-child(2) {
    background: #fff;
} */
#content.under .c02.design .sec-in:nth-child(2) {
    background: #f5f5f5;
}

.btn-pos{
  text-align: -webkit-right;
}
.c04.design{
  text-align: center;
  padding: 60px 0 0;
}


#content .c04.design h3 { padding-bottom: 1.5em;}
.archive-item { margin-bottom: 3em;}
.archive-item h4 { font-size: 18px; font-weight: 600; font-family: sans-serif; margin-bottom: 10px;}
.archive-item p { font-size: 14px; font-family: sans-serif; margin-bottom: 1em;}

#design .sec-txt span{ font-weight: 600;}

.site-btn {
    background: #333;
    color: #fff;
    font-size: 14px;
    padding: .3em;
    border-radius: 2.5em;
    width: 8em;
    margin: 0 auto;
    font-family: sans-serif;
  }

/* ナビ改修版 */
 .header-inner{
  max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}
 header h1 {
    position: absolute;
    left: 1em;
    top: 20px;
    width: auto;
}

 #g-nav {
    position: relative;
    top: 20px;
    z-index: 201;
    width: 50%;
    margin: auto;
}
 #sp-g-nav {
    position: relative;
    top: 40px;
    z-index: 201;
    width: 60%;
    margin: auto;
    color: #fff;
}
 .g-nav-inner {
  position: relative;
    right: -150px;
}

#design header li.g-nav02 > a::before,
#web header li.g-nav02 > a::before,
#health header li.g-nav02 > a::before,
#medical header li.g-nav02 > a::before {
    top: -50px;
    /* background: #6aa545; */
    background: transparent;
    color: #fff;
}

header li.g-nav02:hover li a::before  {
  background: transparent;
}

/* 表示切り替え */
.pc-view{display:block; }
.sp-view{display: none; }




/*================================
 Page : HEALTH
==================================*/

.home-block.bk_health{background: url(../imgs/health/key.jpg) no-repeat center/cover;}

#content.c-health .c01 >.sec-in-txt{ background: #f5f5f5;}
#content.c-health .c01 >.sec-in:nth-child(2){ background: #6aa545;}
#content.c-health .c02 >.sec-in:nth-child(1){ background: #e5e5e5;}

.sec-in p.in-txt{ position: absolute; right: 1em; bottom: .5em; font-size: 18px; color: #40781c;}
#content.under.c-health .more-btn{ display: flex; width: 100%; justify-content: space-around; align-items: center; align-content: center;}
#content.under.c-health .more-btn a{ width: 45%;}
/*lastSection*/

.sec-foot{ width: 1200px; margin: 10% auto 0;}
.img-list{ display: flex; justify-content: center; flex-wrap: wrap;}

.img-list .img-block {
  display: block;
  overflow: hidden;
	width: 16.66%;}

.img-list .img-block img {
  -webkit-transition: -webkit-transform 2s linear 0s;
  transition: -webkit-transform 2s linear 0s;
  transition: transform 2s linear 0s;
  transition: transform 2s linear 0s, -webkit-transform 2s linear 0s;}

.img-list .img-block:hover img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);}

img.max{ width: 100%; height: auto; display: block;}
p.list-in-txt{ font-family: 'Noto Serif', serif; font-size: 30px; background: #6aa545; padding: .5em 0; text-align: center; color: #fff;}

/*================================
 Page : MEDICAL
==================================*/

.home-block.bk_medical{background: url("../imgs/medical/key.jpg") no-repeat center/cover;}
#content.c-medical .c01 >.sec-in:nth-child(1){background: #f5f5f5; padding: 5% 0;}
#content.c-medical .c01 >.sec-in:nth-child(2){background: #004b3f; overflow: hidden;}
#content.c-medical .c01 >.sec-in:nth-child(2) img{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: auto; height: 70%;}

#content.c-medical .c02 .sec-in:nth-child(1){ overflow: hidden; background: #f5f5f5;}
#content.c-medical .c02 .sec-in:nth-child(1) img{ width: 100%;}
#content.c-medical .c02 .sec-in:nth-child(2){ background: #f5f5f5;}
#content.c-medical .c02 .sec-in:nth-child(2) .inimg{ display: flex; margin-top: 2em; justify-content: space-between;}
#content.c-medical .c02 .sec-in:nth-child(2) .inimg p { width: 32%; display: flex; flex-direction: column;}
#content.c-medical .c02 .sec-in:nth-child(2) .inimg p span{display: block; padding-top: .5em; font-size: .7em; line-height: 1.2; color: #666;}

#content.under .sec-in.sp_view img{ width: 100%;}
.medical-logo{ display: flex; justify-content: center; padding-top: 145px;}

/*================================
 Page : COMPANY
==================================*/

#company{font-family: 'Noto Serif', serif;}
#company h3{ text-align: center;}

.home-block.bk_company{background: url(../imgs/company/key.jpg) no-repeat center/cover;}

.c-company{ padding: 100px 0 0;}


/*トップメッセージ*/
.com-messe{ background: url(../imgs/company/toyoizumi.png) no-repeat 90% 100%; padding: 0 0 100px; box-sizing: border-box;}
.com-messe p{ width: 50%; word-break: break-all; text-align: justify; line-height: 2;}

/*会社沿革*/
.com01{ background: #f5f5f5; padding: 100px 0; box-sizing: border-box;}

#company dl{ width: 900px; margin: 0 auto;}
dl.com-his dd:not(:nth-child(1)){ padding-top: 1em;}

dl.com-his dd > div p.txt{ padding: .85em 0 0; text-align: justify; word-break: break-all;}
dl.com-his dd > div p.txt.pd-left{box-sizing: border-box; padding-left: 3em;}

dl.com-his dd > div:nth-child(1){ display: flex; justify-content: space-between; border-bottom: 1px solid #c8c8c8;}
dl.com-his dd > div:nth-child(1) p:nth-child(1){ font-size: 28px; color: #aaa;}
dl.com-his dd > div:nth-child(1) p:nth-child(2){ width: 62%;}

dl.com-his dd > div:nth-child(2){ display: flex; justify-content: flex-end; flex-wrap: wrap;}
dl.com-his dd > div:nth-child(2) div{ width: 62%; text-align: left;}
dl.com-his dd > div:nth-child(2) div p{border-bottom: 1px solid #c8c8c8; padding-bottom: .25em;}

/*会社概要*/
.com02{ padding: 100px 0 0;}

dl.com-about dd{ border-top: 1px solid #c8c8c8; padding: 1em; display: flex;}
dl.com-about dd > div:nth-child(1){ width: 20%;}
dl.com-about dd > div:nth-child(2){ width: 80%;}
dl.com-about dd:last-child{ border-bottom: 1px solid #c8c8c8;}

dl.com-about dd > div span.mapbtn{ font-size: .7em; background: #6aa545; color: #fff; border-radius: 3px; padding: .15em 1em; display: inline-block;}

dl.com-about dd > div p:not(:nth-child(1)),dl.com-about dd > div > div p{ padding-top: 2em;}
dl.com-about dd > div > div{ display: flex;}
dl.com-about dd > div > div p:nth-child(1){ padding-right: 1em; box-sizing: border-box;}

p.mark { display: flex;}
p.mark img{ width: 80px;}
p.mark span:nth-child(2){ padding-left: .88em;}
p.mark span:nth-child(2)> a{ padding-left: .88em; display: block;}
p.mark span:nth-child(2)> a::before{ content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: bold; font-size: .75em; position: absolute; top: 50%; left: 0; transform: translate(0,-50%);}

/*================================
 Page : RECRUIT
==================================*/

#recruit{ font-family: 'Noto Serif', serif;}
.home-block.bk_recruit{background: url(../imgs/recruit/key.jpg) no-repeat center/cover;}

.rec01,.rec02{ width: 1100px; margin: 0 auto; padding: 100px 0 0;}

#content.c-recruit h3{  padding: 0 2em .25em; border-bottom: 1px solid #c8c8c8;}

.rec-txt{ padding: 2em 4em;}

.rec-txt p{ padding-bottom: 2em; line-height: 1.8;}
.rec-txt p.ttl{font-weight: bold; font-size: 1.15em; padding-bottom: 1em;}

.rec-txt dl{ width: 90%; margin: 0 auto;}
.rec-txt dl dd{ display: flex; }
.rec-txt dl dd:not(:last-child){border-bottom: 1px solid #ececec;}

.rec-txt dl dd p{ padding: 1em 0;}
.rec-txt dl dd p:nth-child(1){ width: 18%;}
.rec-txt dl dd p:nth-child(2){ width: 82%;}
.rec-txt dl dd p span{ display: inline-block; padding-right: 1em;}

.entry-btn{
	display: flex; justify-content: flex-end;
	padding-right: 4em;
	}

.entry-btn a{
	display: block;
  text-align: center;
  -webkit-transition: color ease-in-out 0.3s;
  transition: color ease-in-out 0.3s;
  overflow: hidden;
	border: 1px solid #000;
	box-sizing: border-box;
	padding: .5em 0;
	width: 250px;}

.entry-btn a::after{ content: "＋"; position: absolute; color: #fff; padding: 0 .25em; background: #000; display: block;
	right: 0;bottom: 0; font-size: .95em;-webkit-transition: color ease-in-out .5s; transition: color ease-in-out .5s;}

.entry-btn a::before{
	content: "";
	position: absolute;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all ease-in-out 0.3s;
    transition: all ease-in-out 0.3s;
    background: rgba(255, 255, 255, 0);}

.entry-btn a:hover::before { left: 0; background: #000;}


.entry-btn a:hover{color: #fff;}
.entry-btn a:hover::after{ background: #fff; color: #000;}

.home-block.bk_contact{background: url(../imgs/contact/key.jpg) no-repeat center/cover;}

.rec01.bg_grey {padding: 100px 20px 60px; background: #f6f6f6; box-sizing: border-box;}

#recruit .promise_ttl { font-weight: 300;
    font-size: 1.2em;
  padding-bottom: 0;}


  /*================================
   Page : ENTRY
  ==================================*/

.home-block.bk_entry {background: url(../imgs/entry/key.jpg) no-repeat center/cover;}

/*2021改修*/

/*タブ切り替え*/

/*タブ実装*/
.tab_box .btn_area {
  margin: 0 auto;
  display: -webkit-box;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 1000px;
  position: relative;
    z-index: 10;
}

.tab_box .tab_btn {
	width: 24%;
	padding: 8px 0;
	color: #333;
	background: #fff;
  border: 1px solid #6aa545;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease 0s;
}

/* .tab_box .tab_btn + .tab_btn {
	margin-left: 8px;
} */

.tab_box .tab_btn:hover {
	background-color: #6aa545;
  color:#fff;
}

.tab_box .tab_btn.active {
    background:#6aa545;
    color:#fff;
    position: relative;
}

.tab_box .tab_btn.active::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #6aa545;
}

.tab_box .panel_area {
    border: solid 1px #e3ebf3;
    padding: 80px 20px;
}

.tab_box .tab_panel {
    display:none;
}

.tab_box .tab_panel.active {
    display:block;
}


#content.c-recruit .ideal {
  margin: 60px auto;
  width: 100%;
  max-width: 800px;
}

#content.c-recruit .ideal h3,
#content.c-recruit .interview h3,
#content.c-recruit .form h3 {

  font-weight: 100;
  font-size: 35px;
  border-bottom: none;
  position: relative;
  text-align: center;
  margin-bottom: 30px;
  letter-spacing: 2px;
}
#content.c-recruit .ideal h3 span,
#content.c-recruit .interview h3 span,
#content.c-recruit .form h3 span {
  font-weight: 100;
  font-size: 12px;
  display: block;
  margin-top: 20px;
  letter-spacing: 2px;

}
#content.c-recruit .ideal h3::before,
#content.c-recruit .interview h3::before,
#content.c-recruit .form h3::before {
  content: "";
  position: absolute;
  border-bottom: 1px solid #307b01;
  width: 40px;
  top: 63px;
  left: 50%;
  transform: translateX(-50%);
}

#content.c-recruit .interview.rcr_02 .intv_int h3::before{
 content: "";
   position: absolute;
   border-bottom: 1px solid #307b01;
   width: 40px;
   top: 117px;
   left: 50%;
   transform: translateX(-50%);
}

.ideal-txt p {
  text-align: center;
    line-height: 1.8;
    font-weight: 100;
  }

  .rcr_01 {
    position: relative;
    padding-bottom: 60px;
  }
  .rcr_01::before {
    content: "";
    position: absolute;
    border-bottom: 1px solid #eee;
    width: 50%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }


/*インタビュー*/

  .interview p {
    margin: 0 auto 40px;
    width: 100%;
    max-width: 800px;
    text-align: center;
  }

  .interview p.tab_btn {
    margin: 0;
}
.intv_staff {
  margin: 120px auto;
width: 100%;
max-width: 1080px;
}
.staff_box {
  position: relative;

}
.staff_image {
  position: absolute;
  top: -40px;
  width: 65%;
}

/* .staff_image_inner {
  position: relative;
  display: block;
} */
.staff_image .pos {
  background: #6aa545;
  color: #fff;
  padding: 2px 20px;
  width: auto;
  position: absolute;
  bottom: -380px;
  font-family: sans-serif;
}
.staff_image .name {
  background: #6aa545;
  color: #fff;
  padding: 2px 20px;
  width: auto;
  position: absolute;
  bottom: -440px;
  font-family: sans-serif;
}
.staff_image .name span {
  font-size: 24px;
}
.nolink {
  pointer-events: none;
  color: #ccc;
}

.staff_text {
  background: #f4f7f2;
  margin-left: 80px;
  position: relative;
  padding: 20px 40px 40px 40%;
  font-family: sans-serif;
}
#content.c-recruit .interview .staff_text .text_inner h3 {
  font-size: 20px;
    color: #333;
    font-family: sans-serif;
    text-align: left;
    margin: 0 0 20px;
    padding: 0;
    font-style: italic;
}
#content.c-recruit .interview .staff_text .text_inner h3::before {
  display: none;
}
#content.c-recruit .interview .staff_text .text_inner h3 span {
  background:linear-gradient(transparent 60%, #ff6 60%);
  font-size: 20px;
    width: fit-content;
}

.staff_text dl {
  margin-left: 20px;
}
.staff_text dl dt {
  position: relative;
  padding-left: 20px;
}
.staff_text dl dt::before {
  content: "●";
  position: absolute;
  color: #8d8d8d;
  font-size: .6em;
  top: .5em;
left: -.5em;
}

.staff_text dl dd {
  border-left: 1px solid #8d8d8d;
  padding: 10px 20px;
  font-size: 14px;
}

.staff_text dl dt.now::before {
  color: #6aa545;
}
.staff_text dl dd.now {
  border-left: 1px solid #6aa545;
}
.staff_text dl dd.no-border {
  border-left: none;
}



.entry-btn.green{
	display: flex; justify-content: flex-end;
	padding: 20px 2em 0 0;
	}

.entry-btn.green a{
	display: block;
  text-align: center;
  -webkit-transition: color ease-in-out 0.3s;
  transition: color ease-in-out 0.3s;
  overflow: hidden;
	border: 1px solid #6aa545;
	box-sizing: border-box;
	padding: .5em 0;
	width: 250px;
  background: #fff;
  color: #6aa545;
}

.entry-btn.green a::after{
   content: "＋"; position: absolute; color: #fff; padding: 0 .25em; background: #6aa545; display: block;
	right: 0;bottom: 0; font-size: .95em;-webkit-transition: color ease-in-out .5s; transition: color ease-in-out .5s;}

.entry-btn.green a::before{
	content: "";
	position: absolute;
    width: 100%;
    height: 100%;
    left: -100%;
    top: 0;
    z-index: 0;
    -webkit-transition: all ease-in-out 0.3s;
    transition: all ease-in-out 0.3s;
    background: rgba(255, 255, 255, 0);
  }

.entry-btn.green a:hover::before { left: 0; background: #6aa545;}


.entry-btn.green a:hover{color: #fff;}
.entry-btn.green a:hover::after{ background: #fff; color: #6aa545;}



/*募集要項*/
.require {
  width: 100%;
  max-width: 970px;
  margin: 40px auto ;
}

.require h4 {
  background: #6aa545;
  color: #fff;
  padding: 10px 20px;
  font-size: 24px;
  font-family: sans-serif;
  margin-bottom: 40px;
}
.require h4 span {
  font-size: 18px;
  padding-left: 5px;
}
.require table tr {
  border-top: 1px solid #ccc;
}
.require table tr:first-child {
  border-top: none;
}
.require table th,
.require table td {
  padding: 20px;
  font-family: sans-serif;
}
.require table th {
  width: 20%;
}

.interview .indentback p{
  padding: 0;
  margin: 0;
  text-indent: -1em;
  padding-left: 2em;
  text-align: left;
}

.rcr_03 {
  margin: 80px auto 0;
  width: 100%;
  max-width: 1000px;
}
.rcr_03 .tb-cell {
  padding: 0 0 40px;
}


  /*================================
   Page : WEB
  ==================================*/
  /*MVタイトル*/
  #web.web_new .mainvis_in {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #web.web_new .mainvis_in h2 {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      position: relative;
      top: 30%;
  }
  #web.web_new .mainvis_in h2 p{
      background: rgba(255,255,255,0.9);
      color: #006342;
      width: 40%;
      position: absolute;
      top: 33%;
      right: 0;
      margin: 0 auto;
      padding: 3em 0 1em;
      font-size: 40px;
  }
  #web.web_new .home-block .mainvis_in img {
      display: block;
      position: relative;
      top: 60px;
      left: 20%;
      width: 65%;
  }


  /*================================
   Page : design
  ==================================*/
  /*MVタイトル*/
  #design.des_new .mainvis_in {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #design.des_new .mainvis_in h2 {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      position: relative;
      top: 30%;
  }
  #design.des_new .mainvis_in h2 p{
      background: rgba(255,255,255,0.9);
      color: #006342;
      width: 40%;
      position: absolute;
      top: 33%;
      right: 0;
      margin: 0 auto;
      padding: 3em 0 1em;
      font-size: 40px;
  }
  #design.des_new .home-block .mainvis_in img {
      display: block;
      position: relative;
      top: 60px;
      left: 20%;
      width: 65%;
  }



  /*================================
   Page : MEDICAL
  ==================================*/
  /*MVタイトル*/
  #medical.medical_new .mainvis_in {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #medical.medical_new .mainvis_in h2 {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      position: relative;
      top: 30%;
  }
  #medical.medical_new .mainvis_in h2 p{
      background: rgba(255,255,255,0.9);
      color: #006342;
      width: 40%;
      position: absolute;
      top: 33%;
      right: 0;
      margin: 0 auto;
      padding: 3em 0 1em;
      font-size: 40px;
  }
  #medical.medical_new .home-block .mainvis_in img {
      display: block;
      position: relative;
      top: 60px;
      left: 20%;
      width: 65%;
  }


  /*================================
   Page : HEALTH
  ==================================*/
  /*MVタイトル*/
  #health.health_new .mainvis_in {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }
  #health.health_new .mainvis_in h2 {
      width: 100%;
      max-width: 1200px;
      margin: 0 auto;
      position: relative;
      top: 30%;
  }
  #health.health_new .mainvis_in h2 p{
      background: rgba(255,255,255,0.9);
      color: #006342;
      width: 40%;
      position: absolute;
      top: 33%;
      right: 0;
      margin: 0 auto;
      padding: 3em 0 1em;
      font-size: 40px;
  }
  #health.health_new .home-block .mainvis_in img {
      display: block;
      position: relative;
      top: 60px;
      left: 20%;
      width: 65%;
  }



/*================================
 Page : COMPANY
==================================*/
/*MVタイトル*/
#design.company_new .mainvis_in {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#design.company_new .mainvis_in h2 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    top: 30%;
}
#design.company_new .mainvis_in h2 p{
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 40%;
    position: absolute;
    top: 33%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 1em;
}
#design.company_new .home-block .mainvis_in img {
    display: block;
    position: relative;
    top: 60px;
    left: 20%;
    width: 65%;
}


/*================================
 Page : RECRUIT
==================================*/
/*MVタイトル*/
#recruit.recruit_new .mainvis_in {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#recruit.recruit_new .mainvis_in h2 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    top: 30%;
}
#recruit.recruit_new .mainvis_in h2 p{
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 40%;
    position: absolute;
    top: 33%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 1em;
}
#recruit.recruit_new .home-block .mainvis_in img {
    display: block;
    position: relative;
    top: 60px;
    left: 20%;
    width: 65%;
}


/*================================
 Page : PHILOSOPHY
==================================*/
#philosophy{ font-family: 'Noto Serif', serif;}

#philosophy .mainvis_in {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
#philosophy .mainvis_in h2 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    top: 30%;
}
#philosophy .mainvis_in h2 p{
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 40%;
    position: absolute;
    top: 33%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 1em;
}

#philosophy .home-block .mainvis_in img {
    display: block;
    position: relative;
    top: 60px;
    left: 20%;
    width: 65%;
}

#philosophy .main-sec p.txt { font-size: 1.1em; text-align: center;}
#philosophy .main-sec p span{ font-size: 1.4em;}



#philosophy .home-block.bk_philosophy{ background: url(../imgs/philosophy/key.jpg) no-repeat center/cover;}

#philosophy .c01.philosophy, #philosophy .c03.philosophy { width: 100%; max-width: 100%; background: #f5f5f5; position: relative;}
#philosophy .c01.philosophy .sec-in.odd, #philosophy .c03.philosophy .sec-in.odd { width: 100%; max-width: 1200px; margin: 0 auto; display: flex; flex-direction: row-reverse; align-items: flex-start;}
#philosophy .c01.philosophy .sec-in.odd .sec-in-txt { width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    line-height: 1.8;
    position: relative;
    padding: 50px 0 100px;
    }
#philosophy .c01.philosophy .sec-in.odd .sec-in-img, #philosophy .c03.philosophy .sec-in.odd .sec-in-img { width: 50%; position: relative;}
#philosophy .c01.philosophy .sec-in.odd .sec-in-img img{  top: -50px; width: 90%;}
#philosophy .c03.philosophy .sec-in.odd .sec-in-img img {  top: 105px; width: 90%;}

#philosophy .c02.philosophy { width: 100%; max-width: 1200px; background: #fff; position: relative; padding: 50px 0 120px;}
#philosophy .c02.philosophy .sec-in.even { width: 100%; max-width: 1200px; margin: 0 auto; display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between;}
#philosophy .c02.philosophy .sec-in.even .sec-in-txt { width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    line-height: 1.8;
    position: relative;
    }
#philosophy #content.under .c02 .sec-in{ background: #fff; position: relative;}
#philosophy .c02.philosophy .sec-in img { width: 90%; position: absolute; top: -100px;}

#philosophy .c02.philosophy .sec-in-img img.name-img {width: 30%;
    padding-top: 0px;
    left: 56%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 60px;
    top: unset;
}

#philosophy #content.under .sec-in { justify-content: flex-end;}
#philosophy .sec-in-txt > div { max-width: 100%;}

#philosophy .c03.philosophy { margin-bottom: 120px;}
#philosophy .c03.philosophy .sec-in.odd .sec-in-txt { width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    box-sizing: border-box;
    line-height: 1.8;
    position: relative;
    padding: 100px 0;
}

.promise_ttl {
  font-weight: 900;
  font-size: 1.4em;
  padding-bottom: 10px;
}
.promise_sub {
  margin: 1em 0 0;
}
.promise_txt {
  font-size: .9em;
  padding-bottom: 2em;
  padding-left: 1em;
  margin-top: 0;
}
.promise_txt span{
  font-weight: 900;
}
.child_ttl_sub { display: block; font-size: 16px; font-weight: 900; letter-spacing: 1px; color: #000;}

#philosophy .promise_ttl label i { display: none;}





/*================================
 Page : PRIVACYPOLISY
==================================*/

.c-privacy{ width: 1100px; padding: 100px 0 0; margin: 0 auto;}

#content .c-privacy h3{ border-bottom: 1px solid #c8c8c8; padding: 5% 1em .25em;}
.c-privacy .ppt-box p,.c-privacy .ppt-box > div{ font-size: 16px; padding: 1em 1.5em 2em;}
.c-privacy .ppt-box ul{ margin-left: 1em; font-size: 16px;}

/*================================
 Page : CONTACT
==================================*/

#contact{font-family: 'Noto Serif', serif;}
.c-form{ width: 1100px; margin: 0 auto; border: 30px solid #f2f2f2;}
.tb-cell{ width:85%; margin: 0 auto; padding: 75px 0;}

#form > .row:not(:last-child){ border-bottom: 1px solid #f2f2f2;}
#form > .row:not(:nth-child(n+8)){ align-items: center;}
#form > .row:nth-child(n+8){ border: none;}

#form > .row:last-child{flex-wrap: wrap;}
.form-item,.send{ width: 100%; text-align: center;}

.cell{ padding: .75em 0;}
.cell:nth-child(odd){ width: 25%; text-align: right; box-sizing: border-box; padding-right: 4em; font-weight: bold;}
.cell:nth-child(even){ width: 75%;}

.send{margin: 0 auto; padding: 4em 0 0;}

.must{ position: relative; }
.must::after{content: "必須"; font-size: 10px; color: #fff; background: #4d822b; border-radius: 10px; padding: .2em .75em .15em;
	position: absolute; right: -5em; top: 50%; transform: translate(0,-50%) ; box-sizing: border-box;}


input,textarea{ background: #f2f2f2; border: 1px solid #ededed; box-shadow: none; font-size: 16px; padding: .5em; box-sizing: border-box;}
input[type="text"]{ width: 100%;}
input[type="email"],input[type="tel"],input.form-min{ width: 50%;}
input[type="submit"]{ -webkit-appearance: none; background: #4d822b; color: #fff;font-family: 'Noto Serif', serif; margin: 0 auto; padding: 1em 4em; display: block; border: none; opacity: 1;}
textarea{ width: 100%; min-height: 300px;}

input[type="submit"]:disabled{ opacity: .5;}

/*生年月日*/
.cell.birthday{
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}
.cell.birthday > * + *{
  margin-left: 10px;
}
.cell.birthday .select-warp{
  background: #f2f2f2; border: 1px solid #ededed; box-shadow: none; font-size: 16px; ;width: 6em;
}

.cell.birthday input{
  width: 6em;
}
/*書類添付*/
.cell.sheet p.att{
  font-size: .85em;
}
.cell.sheet input{
  background: none;
  font-size: 14px;
  border: none;
  padding: 0;
  margin-top: 15px;
}

/*ラジオボタン+チェックボックス*/
input[type="checkbox"],
input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"] + span::before {
  border-color: #00acc1;
}
input[type="checkbox"]:checked + span::before {
  background-color: #00acc1;
}
input[type="checkbox"] + span::before {
  border-color: #ec407a;
}
input[type="checkbox"]:checked + span::before {
  background-color: #ec407a;
}
label span { display: inline-block; padding-left: 1.75em;}
label input[type="checkbox"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: '';
  box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
  z-index: 0;
  background-color: transparent;
  width: 22px;
  height: 22px;
  border: 2px #ededed solid;
  border-radius: 5px;
}
label input[type="checkbox"] + span::after {
  z-index: 1;
  margin: 5px 8px;
  width: 6px;
  height: 9px;
}
label input[type="checkbox"]:checked + span::before {
  background-color: #f2f2f2;
}
label input[type="checkbox"]:checked + span::after {
  border: 2px solid #4d822b;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
/*ラジオボタン*/
label input[type="radio"] + span::before {
  border-color: #c2c2c2;}

label input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
label input[type="radio"] + span::before {
  position: absolute;
  display: inline-block;
  content: '';
  box-sizing: border-box;
  border-radius: 20px;
}
label input[type="radio"] + span::before {
  z-index: 0;
  top: 0;
  left: 0;
  background-color: transparent;
  width: 20px;
  height: 20px;
  border: 1.5px #c2c2c2 solid;
}
label input[type="radio"]:checked + span::before {
  border-width: 6px;
}

/*プライバシーポリシー*/

.home-block.bk_ppt{background: url(../imgs/contact/ppt-key.jpg) no-repeat center/cover;}
.c-ppt{ border: 1px solid #f2f2f2; box-sizing: border-box; height: 300px; overflow-y: scroll; margin-bottom: 5vw; margin-top: 2.5vw;}
.ppt-box{ padding: 2em 5%; font-size: 14px;}

.ppt-box ul{ margin-bottom: 1em;}
.ppt-box ul li{ padding-left: 1em; position: relative;}
.ppt-box ul li::before{ content: "・"; position: absolute; left: 0;}

.ppt-box table{ margin: 1em 0;}
.ppt-box table th{ font-weight: bold;}
.ppt-box table td,.ppt-box table th{ border: 1px solid; padding: .5em;}

.ppt-box p{ padding-bottom: 1em;}
.ppt-box p span{ font-weight: bold;}
.ppt-box p a{ text-decoration: underline;}
.ppt-box p a:hover{ color: #4d822b;}

.ppt-box p.bd_box { display: inline-block; box-sizing: border-box; padding: 1em; border: 1px solid #000;}

p.ppt-ttl{ font-size: 1.15em; font-weight: bold;}
p.ppt-ttl span{border-left: 5px solid #4d822b; padding-left: 1em;}


@keyframes fadeIn {
    0% {opacity: 0;}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@keyframes loadiing {
      0% { opacity: 0;}
    100% { opacity: 1;}
}



/* デバイス判定 */

body.tablet #g-nav { display: none!important;}
body.tablet .header-btn { display: none!important;}
body.tablet#design .header-inner {
    max-width: 100%;
    position: relative;
}

body.tablet #sp-menu-block-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

/*SPNAV-design*/
body.sp #sp-menu-toggle,
body.tablet #sp-menu-toggle {
    position: fixed;
    right: 0;
    top: 0;
    display: block!important;
    margin: 0 auto;
    width: 60px;
    height: 60px;
    cursor: pointer;
    text-align: center;
    z-index: 999;
    background: rgba(255, 255, 255, 0);
  }
  body.sp #sp-menu-toggle.fixed span,
  body.tablet #sp-menu-toggle.fixed span {
    background: #111;
  }
  body.sp #sp-menu-toggle span,
  body.tablet #sp-menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 18px;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  body.sp #sp-menu-toggle.open span,
  body.tablet #sp-menu-toggle.open span {
    background: #fff;
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  body.sp #sp-menu-toggle span:nth-child(1),
  body.tablet #sp-menu-toggle span:nth-child(1) {
    top: 24px;
  }
  body.sp #sp-menu-toggle span:nth-child(2),
  body.tablet #sp-menu-toggle span:nth-child(2) {
    top: 30px;,

  }
  body.sp #sp-menu-toggle span:nth-child(3),
  body.tablet #sp-menu-toggle span:nth-child(3) {
    top: 36px;
  }

  body.sp #sp-menu-toggle.open span:nth-child(1),
  body.tablet #sp-menu-toggle.open span:nth-child(1) {
    top: 30px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  body.sp #sp-menu-toggle.open span:nth-child(2),
  body.tablet #sp-menu-toggle.open span:nth-child(2) {
    opacity: 0;
  }
  body.sp #sp-menu-toggle.open span:nth-child(3),
  body.tablet #sp-menu-toggle.open span:nth-child(3) {
    top: 30px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  body.sp #sp-menu-block-sp,
  body.tablet #sp-menu-block-sp  {
    position: fixed !important;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    left: 0;
    top: 0;
    display: none;
    overflow: auto;
    z-index: 980;
    color: #fff;
    text-align: center;

  }
  body.sp #sp-menu-block-inner-sp,
  body.tablet #sp-menu-block-inner-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100%;
  }
  body.sp .sp-g-nav,
  body.tablet .sp-g-nav {
    position: absolute;
  top: 16%;
  font-family: sans-serif;
  line-height: 2.8;
  text-align: left;
  }

  /*デザイン*/
    body.sp #sp-g-nav,
    body.tablet #sp-g-nav {
      display: none;
      position: relative;
      left: auto;
      top: auto;
      z-index: 201;
      width: 100%;
      color: #fff!important;
    }
    body.sp #sp-g-nav ul,
    body.tablet #sp-g-nav ul {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      height: auto;
    }
    body.sp #sp-g-nav li,
    body.tablet #sp-g-nav li {
      width: 100%;
    }
    body.sp #sp-g-nav li a,
    body.tablet #sp-g-nav li a {
      display: block;
      font: 400 16px/48px "Kreon", sans-serif;
      letter-spacing: 0.1em;
      color: #fff;
      white-space: nowrap;
      padding: 0 20px;
      -webkit-transition: color ease-in-out 0.3s;
      transition: color ease-in-out 0.3s;
    }
    body.sp #sp-g-nav li a span,
    body.tablet #sp-g-nav li a span {
      z-index: 2;
    }
    body.sp #sp-g-nav li a:before,
    body.tablet #sp-g-nav li a:before {
      display: none;
    }

    body.sp #sp-g-nav,
    body.tablet #sp-g-nav {
      position: absolute;
      top: 40px;
      color: #fff;
      text-align: center;
      font-family: sans-serif;
      line-height: 3;
    }

    body.sp .nav-contact-btn a,
    body.tablet .nav-contact-btn a {
    background: #fff;
    color: #000;
    border-radius: 50px;
    padding: .8em 5em;
}



/* 20220120 */

.tab,
.tab_sub {
  margin: 0 auto;
    display: -webkit-box;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1000px;
    position: relative;
    z-index: 10;

}

.list { padding: 0 20px;}
.list .inner,
.list .inner .tab_sub_det { display: none;}

.list .inner.active,
.list .inner .tab_sub_det.active {
  display: block;
}

.tab li.active::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #6aa545;
}

.tab_sub li.ng.active::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #3fbfa3;
}
.tab_sub li.mw.active::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #488170;
}

.tab li {
  width: 24%;
	padding: 8px 0;
	color: #333;
	background: #fff;
  border: 1px solid #6aa545;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease 0s;
}

.tab_sub li {
  width: 48%;
	padding: 8px 0;
	color: #333;
	background: #fff;
  border: 1px solid #3fbfa3;
	text-align: center;
	cursor: pointer;
	transition: all 0.2s ease 0s;
}
.tab li.active {
  color: #fff;
	background: #6aa545;
  border: 1px solid #6aa545;
}

.tab_sub li.ng.active {
	color: #fff;
	background: #3fbfa3;
  border: 1px solid #3fbfa3;

}

.tab_sub li.mw.active {
	color: #fff;
	background: #488170;
  border: 1px solid #488170;

}



#content .list .more-btn.rec_btn {
  margin: 40px auto;
  width: 40%;
  height: auto;
}
#content .list .more-btn.rec_btn a {
  padding: 20px;
    font-size: 1.2em;
}

h4.ng {
  background: #3fbfa3;
}
h4.mw {
  background: #488170;
}

.entry_banner {
  text-align: center;
  margin: 40px;
}

/*＝＝＝＝＝＝221111バナー＝＝＝＝＝＝＝＝*/
.main-sec .bn{
    max-width: 600px;
    margin: 0 auto;
    /* width: 100%; */
    padding: 0 20px;
    display: block;
    box-sizing: border-box;
}
.main-sec .bn img{
    width: 100%;
}

/*FORM*/
.grecaptcha-badge{
	z-index: 10;
}
