@charset "UTF-8";
/* CSS Document */

@media screen and (max-width: 1200px){

  header h1 svg{ max-width: 180px;}
	.sec-foot{ width: 100%;}
   #content.c-medical .c02 .sec-in:nth-child(1) img{ height: 100%; width: auto;}


/*================================
 Page : COMPANY
==================================*/
	.com-messe{ box-sizing: border-box; padding: 5vw 1em;}
}

@media screen and (max-width: 1024px){

	html,body{height: 100%;}
	img{ max-width: 100%;}

	.sp_view{ display: inherit!important;}
	.pc_view{ display: none!important;}

	.wrap{ width: 100%; margin: 0 auto;}
	#g-nav li a { padding: 0 10px;}

/*loading*/

	#loader-img { background: url( ../loading.svg) no-repeat center 40vh/ 25%;}



/*keyvisual*/
	.home-block{ background: #000;}
	.home-block svg{ width: 50%;}
	.home-block video{position: fixed; top: 0!important; transform: translate(-50%,0); margin: auto!important; height: 100%;}
	#mainfix-bk{ height: 100vh;}
	.mainvis_in{ width: 100%;}
	.home-block img{ display: block; max-width: none; height: 100vh; top: 0; left: 50%; transform: translate(-50%,0);}
	.mainvis_in h2{ top: 40%;}

	/*FOOTAREA*/

	.foot-tel{ text-align: center; padding: 1em 0 0;}
	.foot-tel span.tel{ display: block;}
	.foot-contact .more-btn{ float: none; margin: 1em auto 0;}

	.foot-area{ display: block; padding: 8vw 0;}
	svg#foot-logo{ margin: 0 auto; display: block; width: 30%;}
  .foot-logo p.logo{ margin: 0 auto; width: 30%;}

	.foot-menu{ padding: 2em .5em; font-size: 14px; justify-content: space-around;}
	.foot-about{ padding: 0 2.5em; font-size: 14px;}

    p.pmark{ align-items: flex-start; padding-top: .88em;}
    p.pmark > span:nth-child(1){ width: 20%;}
    p.pmark span:nth-child(2){ line-height: 1.2;}
    p.pmark span:nth-child(2) a{ padding-top: .5em;}
    p.pmark span:nth-child(2) a::before{ top: 60%;}


/*SPNAV*/
#sp-menu {
    position: fixed;
    right: 0;
    top: 0;
    display: block;
    margin: 0 auto;
    width: 60px;
    height: 60px;
    cursor: pointer;
    text-align: center;
    z-index: 999;
    background: rgba(255, 255, 255, 0);
  }
  #sp-menu.fixed span {
    background: #111;
  }
  #sp-menu 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%;
  }
  #sp-menu.open span {
    background: #fff;
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  #sp-menu span:nth-child(1) {
    top: 24px;
  }
  #sp-menu span:nth-child(2) {
    top: 30px;
  }
  #sp-menu span:nth-child(3) {
    top: 36px;
  }

  #sp-menu.open span:nth-child(1) {
    top: 30px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #sp-menu.open span:nth-child(2) {
    opacity: 0;
  }
  #sp-menu.open span:nth-child(3) {
    top: 30px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #sp-menu-block {
    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;
  }
  #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*/
  #sp-menu-toggle {
      position: fixed;
      right: 0;
      top: 0;
      display: block;
      margin: 0 auto;
      width: 60px;
      height: 60px;
      cursor: pointer;
      text-align: center;
      z-index: 999;
      background: rgba(255, 255, 255, 0);
    }
    #sp-menu-toggle.fixed span {
      background: #111;
    }
    #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%;
    }
    #sp-menu-toggle.open span {
      background: #fff;
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%;
    }
    #sp-menu-toggle span:nth-child(1) {
      top: 24px;
    }
    #sp-menu-toggle span:nth-child(2) {
      top: 30px;
    }
    #sp-menu-toggle span:nth-child(3) {
      top: 36px;
    }

    #sp-menu-toggle.open span:nth-child(1) {
      top: 30px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
    }
    #sp-menu-toggle.open span:nth-child(2) {
      opacity: 0;
    }
    #sp-menu-toggle.open span:nth-child(3) {
      top: 30px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
    }
    #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;

    }
    #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%;
    }
    .sp-g-nav {
      position: absolute;
    top: 50px;
    font-family: sans-serif;
    line-height: 2.8;
    text-align: left;
    }

/* spナビdesign用 */
  #site-header h1 {
    left: 20px;
    top: 15px;
  }
  #site-header h1 svg {
    height: 30px;
    max-width: none;
  }
  #g-nav {
    display: none;
    position: relative;
    left: auto;
    top: auto;
    z-index: 201;
    width: 100%;
  }
  #g-nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
  }
  #g-nav li {
    width: 100%;
  }
  #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;
  }
  #g-nav li a span {
    z-index: 2;
  }
  #g-nav li a:before {
    display: none;
  }


/*デザイン*/
  #sp-g-nav {
    display: none;
    position: relative;
    left: auto;
    top: auto;
    z-index: 201;
    width: 100%;
    color: #fff!important;
  }
  #sp-g-nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: auto;
  }
  #sp-g-nav li {
    width: 100%;
  }
  #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;
  }
  #sp-g-nav li a span {
    z-index: 2;
  }
  #sp-g-nav li a:before {
    display: none;
  }

  #sp-g-nav{
    position: absolute;
    top: 40px;
    color: #fff;
    text-align: center;
    font-family: sans-serif;
    line-height: 3;
  }


  .header-btn {
    right: auto;
    top: 55%;
    position: absolute;
    margin-top: 40px;

  }
  .header-btn a {
    max-width: 240px;
    width: 240px;
    display: block;
    text-align: center;

  }




/*======================================
　　contents
======================================*/

.main-sec{padding: 10vw 0;}

/*==ボタン*/

.main-section{ padding: 2vw 0;}
.main-section section{ margin-bottom: 0;}

  .main-section section:before {
    display: none;}
  .main-section section + section {
    margin-top: 80px;}
  .main-section h2 {
	  font-size: 20px;
    margin-bottom: 30px;}

  .main-section  p {
    font-size: 14px;
    line-height: 2;}

  .main-section  .more-btn {
    width: 120px;
    height: 30px;
    margin: 40px auto 0;}

  .main-section  .more-btn a {
    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;
    overflow: hidden;}

  .main-section .more-btn a:before {
    display: none;}

  .main-section .img-block {
    width: 100%;
    height: 60vw;
	overflow: hidden;
    background: none !important;}

  .main-section .img-block img {
    display: block;
	  width: 150%;

	position: absolute;   top:-26px; left: 50%; transform: translate(-66%,0);
	max-width: none;}

	.main-section .img-block img.pg-r{
		right: 0;
		left: auto;
	transform: none;}

  .main-section  .txt-block {
    width: calc(100% - 40px);
    margin: -40px auto 0;
    text-align: center;
  }
  .main-section section:nth-child(odd) .more-btn a:hover {
    color: #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: 40px 20px;
    background: #111;
  }
  .main-section section:nth-child(even) .more-btn a:hover {
    color: #111;
  }
  .main-section section:nth-child(even) .img-block {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .main-section section:nth-child(even) .txt-block {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding: 40px 20px;
    background: #ececec;
  }

	.main-section section:nth-child(odd) .txt-block { background: #6aa545;}
	.main-section section:nth-child(even) .txt-block {background: #efefef;}

	.footnav{ padding: 20vw 1em;}


/*================================
 Page : ALL
==================================*/

	.mainvis_in h2{ font-size: 30px; font-weight: bold;}
	#content h3{ font-size: 22px;letter-spacing: .15em;}

	#content .main-sec h3{ letter-spacing: normal;}

	#content.under .more-btn{ margin: 3em auto 0;}

	.main-sec p {
    padding: 0px 1em;
}


/*================================
 Page : WEB
==================================*/

	#content.under .c01, #content.under .c02, #content.under .c03{ display: block;}
	#content.under .sec-in{ width: 100%;}
	.sec-in-txt{ padding: 5vh 0;}
	.sec-in.sp_view{ background: #f5f5f5;}


/*================================
 Page : DESIGN
==================================*/


/* Gなび */
/* gnav-child */
#g-nav ul li .g-nav-child { display: flex; flex-direction: column; }
.g-nav-child{
    width: 100%;
    display: block;
    position: relative;
    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;
}



.header-btn { display: none;}
.header-btn a{ display: none;}

/* 表示切り替え */
.pc-view{display:none; }
.sp-view{display: block; }


/*================================
 Page : HEALTH
==================================*/

	#health .home-block img{transform: translate(-60%,0);}
	.sec-in p.in-txt{ position: absolute; width: 100%; text-align: center; bottom: .5em; right: auto; font-size: 1em; color: #40781c;}
	#content.under.c-health .more-btn{ flex-wrap: wrap; margin-bottom: 2em;}
	#content.under.c-health .more-btn a{ width: 240px; margin-top: 2em;}



/*================================
 Page : DESIGN
==================================*/

#design .nav-contact-btn a{
  background: #fff;
    color: #000;
    border-radius: 50px;
    padding: .8em 5em;
}






/*================================
 Page : MEDICAL
==================================*/

  #medical .home-block img { transform: translate(-65%,0);}
  #content.c-medical .c02 .sec-in:nth-child(2) .inimg{ width: 116%; margin-left: -8%;}
  #content.c-medical .c02 .sec-in:nth-child(2) .inimg p span{ font-size: .75em;}

  #content.c-medical .c01 >.sec-in:nth-child(2) img{ position: inherit; padding: 8vw 0; width: 60%; top: auto; left: auto; transform: none;}

  .medical-logo{ padding-top: 15vw;}
  .medical-logo a{ display: block; width: 92%;}

/*================================
 Page : COMPANY
==================================*/
	.com-messe{ padding: 5vw 1em; background: url(../imgs/company/toyoizumi.png) no-repeat 0 100%/90%;}
	.com-messe p{ width: 100%; padding-bottom: 100vw;}

	.com01,.com02{ box-sizing: border-box; padding-left: 1em; padding-right: 1em;}

/*================================
 Page : RECRUIT
==================================*/

	.rec01, .rec02{ width: 100%;}


/*================================
 Page : CONTACT
==================================*/

	.c-form{ width: 100%; box-sizing: border-box;}

/*================================
 Page : PPT
==================================*/

	#ppt .home-block img{transform: translate(-66%,0);}

	.c-privacy{ width: 100%;}



/*================================
 Page : PHILOSOPHY
==================================*/

  #philosophy .mainvis_in h2 p {
    padding: 3em 0 0em;
}

  #philosophy .home-block .mainvis_in img {
    top: 35px;
    left: 50%;
    width: 100%;
    height: auto;
}

  #philosophy #content.under .c02{
      display: flex;
  }

  #philosophy .c01.philosophy .sec-in.odd .sec-in-txt, #philosophy .c03.philosophy .sec-in.odd .sec-in-txt  {
      padding: 50px 1em 100px 0;
  }

#philosophy .c02.philosophy .sec-in.sec-in-txt {
  padding: 50px 0 100px 1em;
}

#philosophy .c02.philosophy {
    padding: 50px 0 20px;
}
#philosophy .c03.philosophy {
    margin-bottom: 0;
}




/*================================
 Page : COMPANY
==================================*/
#design.company_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}




/*================================
 Page : RECRUIT
==================================*/
#recruit.recruit_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}



/*================================
 Page : WEB
==================================*/
#web.web_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}

/*================================
 Page : DESIGN
==================================*/
#design.des_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}

/*================================
 Page : HEALTH
==================================*/
#health.health_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}

/*================================
 Page : MEDICAL
==================================*/
#medical.medical_new .home-block .mainvis_in img {
    top: 60px;
    left: 50%;
    width: 40%;
    height: auto;
}






}/* 1024 */

@media screen and (max-width: 900px){

	#company dl{ width: 100%;}



  /*================================
   Page : PHILOSOPHY
  ==================================*/

  /* ヘッダー */
  #philosophy .mainvis_in h2 p {
      background: rgba(255,255,255,0.9);
      color: #006342;
      width: 90%;
      position: relative;
      top: 0%;
      right: 0;
      margin: 0 auto;
      padding: 3em 0 0em;
  }

  #philosophy .home-block .mainvis_in img {
    display: block;
    position: relative;
    top: 30px;
    left: 50%;
    width: 80%;
    height: auto;
  }



}

@media screen and (max-width: 640px){

  /*key-slide*/
  #key-slide .key-in.slide01{
    background-image: url("../imgs/slide/01_entrance_sp.jpg")
  }
  #key-slide .key-in.slide02{
    background-image: url("../imgs/slide/02_image_sp.jpg")
  }
  #key-slide .key-in.slide03{
    background-image: url("../imgs/slide/03_image_sp.jpg")
  }
  #key-slide .key-in.slide04{
    background-image: url("../imgs/slide/04_office_sp.jpg")
  }
/*
  #key-slide .key-in.slide05{
    background-image: url("../imgs/slide/05_office_sp.jpg")
  }
*/
  #key-slide .key-in.slide06{
    background-image: url("../imgs/slide/06_office_sp.jpg")
  }
#interview .interview_main_txt,#interview .interview_list_txt{font-size: 3.8vw;}

	/*フッターナビ*/
	.footnav{ padding: 15vw 1em;}
	.footnav-block .row{ display: block; width: 85%; margin: 0 auto;}
	.footnav-block article{ width: 100%;}
	.footnav-block article .img-block img{ width: 100%;}
	.footnav-block article:nth-child(2){ margin: 0;}

	.main-section p { text-align: left;}

  .pctb-br{display: none;}

/*================================
 Page : ALL
==================================*/

	.main-sec p{ text-align: left;}

/*================================
 Page : HEALTH
==================================*/

	#health .home-block img{transform: translate(-65%,0);}

	.img-list .img-block{ width: 33.33%;}
	p.list-in-txt{ font-size: 24px;}

	#content h3{ letter-spacing: .1em;}



  /*================================
   Page : DESIGN
  ==================================*/
  .archive {
      display: flex;
      /* flex-direction: column; */
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 0 1em;
  }

  .archive li { width: 46%;}


/*================================
 Page : COMPANY
==================================*/

	.c-company,.com01,.com02{ padding: 10vw 0;}

	#company dl{ width: 100%;}
	dl.com-his dd:not(:last-child) {border-bottom: 1px solid #c8c8c8;}
	dl.com-his dd > div:nth-child(1){ display: block;}

	dl.com-his dd > div:nth-child(1) p:nth-child(1){ padding-left: .5em;}
	dl.com-his dd > div:nth-child(1) p:nth-child(2){ width: 100%; box-sizing: border-box; padding: 0 1em;}
	dl.com-his dd > div:nth-child(2) div{ width: 100%; }
	dl.com-his dd > div:nth-child(2) div p{ padding-right: 1em; padding-left: 1em;}

	dl.com-his dd > div p.txt.pd-left{ padding-left: 1em;}

	dl.com-his dd > div:nth-child(2) div p,dl.com-his dd > div:nth-child(1){ border: none;}

	dl.com-about dd,dl.com-about dd > div > div{ display: block;}
	dl.com-about dd > div:nth-child(1){ font-weight: bold; width: 100%; padding-bottom: .5em}
	dl.com-about dd > div:nth-child(2){ width: 100%;}
	dl.com-about dd > div p:not(:nth-child(1)), dl.com-about dd > div > div p img{ margin: -.5em auto 0; display: block;}

/*================================
 Page : RECRUIT
==================================*/
	.rec01, .rec02{ padding: 5vw 0;}

	#content.c-recruit h3{ padding: 0 1em .25em;}
	#content.c-recruit .interview h3{ padding: 0;}
	#content.c-recruit .interview p.intv_main_txt{ padding: 0 ;}

	.rec-txt{ padding: 1em 1.5em; box-sizing: border-box;}
	.entry-btn{ padding-right: 0; justify-content: center;}
	.entry-btn.green{ justify-content: center; padding: 4vw 0;}

	.rec-txt dl{ width: 100%;}
	.rec-txt dl dd{ display: block;}
	.rec-txt dl dd p:nth-child(1),.rec-txt dl dd p:nth-child(2){ width: 100%;}
	.rec-txt dl dd p:nth-child(1){ padding: .5em; background: #ececec; box-sizing: border-box;}



  /*追加*/

  #content.c-recruit .ideal {
    margin: 0px auto;
    width: 100%;
    max-width: auto;
    padding: 60px 20px;
    box-sizing: border-box;
}
.ideal-txt p {

    text-align: left;
}

.interview {
  margin-top: 40px;
}
.interview p.tab_btn {
    font-size: 12px;
}

.interview p {
    text-align: left;
    padding: 20px;
    box-sizing: border-box;
}

.staff_image {
    width: 100%;
}
.staff_image .name {
    padding: 0px 10px;
    bottom: -325px;
}
.staff_image .pos {
    padding: 0px 10px;
    bottom: -280px;
}
.staff_text {
    padding: 73vw 20px 20px;
    margin-left: 0;
}

.staff_text dl dd {
    padding: 10px 0px 10px 20px;
}

.intv_staff {
    margin: 120px auto 40px;
}

.require h4 {

    margin-bottom: 20px;
}
.require h4 span {
    display: block;
}

.require table th, .require table td {

    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 10px;
}
.require table th {
  background: #eee;
    padding: 10px 20px;
}

.require table tr {
    border-top: none;
}



#content.c-recruit .form h3 {
    font-size: 30px;
}
#content.c-recruit .form h3::before {
    top: 52px;
}

.rcr_03 {

  width: 100%;
  max-width: auto;
}


.intv_int {
  padding: 0 20px;
}

.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;
    font-size: 3.2vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

/*================================
 Page : CONTACT
==================================*/

	#form > .row{ display: block;}
	.cell:nth-child(odd){ width: 100%; text-align: left;}
	.cell:nth-child(even),input[type="email"], input[type="tel"], input.form-min{ width: 100%;}
	.tb-cell{ width: 90%; padding: 5vw 0;}

	.c-form{border: 10px solid #f2f2f2;}
	.ppt-box{ font-size: 12px;}

  .cell.birthday input{
    width: 5em;
  }
  .cell.birthday span{
    font-size: .88em;
  }

/*================================
 Page : PHILOSOPHY
==================================*/

#philosophy .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#philosophy .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 50%;
  width: 90%;
  height: auto;
}


#philosophy .main-sec p.txt { font-size: 1.1em; text-align: center;}
#philosophy .main-sec p span{ font-size: 1.2em; font-weight: 600;}
#philosophy .c01.philosophy .sec-in.odd .sec-in-img img.name-img { width: 40%; }


#philosophy .c01.philosophy .sec-in.odd, #philosophy .c03.philosophy .sec-in.odd {
    flex-direction: column;
    padding: 1em;
}


.promise_ttl {
    line-height: 1.4;
    font-size: 1.1em;
    position: relative;
}

#philosophy .c01.philosophy .sec-in.odd .sec-in-txt {
  width: 100%;
  padding: 1em 0;
}
#philosophy .c01.philosophy .sec-in.odd .sec-in-img, #philosophy .c03.philosophy .sec-in.odd .sec-in-img {
    width: 100%;
    position: relative;
}
#philosophy .c01.philosophy .sec-in.odd .sec-in-img img, #philosophy .c03.philosophy .sec-in.odd .sec-in-img img {
    position: relative;
    top: 0;
    width: 100%;
}
#philosophy .c02.philosophy {
    width: 100%;
    /* max-width: 1200px; */
    background: #fff;
    position: relative;
    padding: 0 1em;
    box-sizing: border-box;
    flex-direction: column;
}

#philosophy .c02.philosophy .sec-in img {
    width: 100%;
    position: relative;
    top: 0;
}
#philosophy #content.under .c02 .sec-in {
    padding: 2em 0 0;
}

#philosophy #content.under .c02 .sec-in-img.sec-in {
  padding: 2em 0 80px;
}

#philosophy .c03.philosophy .sec-in.odd .sec-in-txt {
    width: 100%;
    padding: 40px 0;
}

#philosophy .sec-in-txt > div {
    max-width: 100%;
    margin: 0 auto;
}


#philosophy .c02.philosophy .sec-in-img img.name-img {width: 30%;
    padding-top: 0px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 30px;
    top: unset;
}



/* PROMISE 開閉 */
#philosophy .promise_ttl label i { display: initial;}
.promise_txt { margin-top: 0; padding-bottom: 0;}
/*全体*/
.hidden_box {
    margin: 2em 0;/*前後の余白*/
    padding: 0;
}

/*ボタン装飾*/
.hidden_box label {
    padding: 0;
    font-weight: bold;

    cursor :pointer;
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #efefef;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}



/*================================
 Page : COMPANY
==================================*/
#design.company_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#design.company_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 50%;
  width: 90%;
  height: auto;
}


/*================================
 Page : RECRUIT
==================================*/
#recruit.recruit_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#recruit.recruit_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 50%;
  width: 90%;
  height: auto;
}


/*================================
 Page : web
==================================*/
#web.web_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#web.web_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 50%;
  width: 90%;
  height: auto;
}


/*================================
 Page : DESIGN
==================================*/
#design.des_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#design.des_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 50%;
  width: 90%;
  height: auto;
}



/*================================
 Page : HEALTH
==================================*/
#health.health_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#health.health_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 60%;
  width: 90%;
  height: auto;
}



/*================================
 Page : MEDICAL
==================================*/
#medical.medical_new .mainvis_in h2 p {
    background: rgba(255,255,255,0.9);
    color: #006342;
    width: 90%;
    position: relative;
    top: 0%;
    right: 0;
    margin: 0 auto;
    padding: 3em 0 0em;
}

#medical.medical_new .home-block .mainvis_in img {
  display: block;
  position: relative;
  top: 25px;
  left: 63%;
  width: 90%;
  height: auto;
}



/*================================
 Page : PPT
==================================*/

	.c-privacy{ padding: 5vw 0;}
	.c-privacy .ppt-box{ padding: 1em 0;}
	.c-privacy .ppt-box ul{ margin: 0 1em;}
	.c-privacy .ppt-box p.bd_box{ display: block;width: 90%; margin: 0 auto; font-size: 14px;}

}

@media screen and (max-width: 320px){
	#content h3{ font-size: 20px; letter-spacing: normal;}

}
