@charset "utf-8";
/*
Theme Name: krf-themes-solution
Theme URI: http://www.solution-sy.com/
Author: solution.STC
Author URI: http://www.crossdesign-company.co.jp  
Description: This is a default wordpress themes
Version: 1.0
License: GNU General Public License v2 or later
License URI: LICENSE
*/

@font-face {
  font-family: 'futurapt';
  src: url('font/FuturaPTBold.otf') format('truetype');
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  background: 0 0;
  box-sizing: border-box;
}

:after, :before {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  /*font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "MS Mincho", "MS 明朝", "Meiryo", serif;*/
  font-family: "小塚ゴシック Pr6N" , "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  /*font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
  font-size: 14px;
  line-height: 1.6;
  color: #333333;
  width: 100%;
  overflow-x: hidden;
  --white:#fff;
  --lightgrey:#f5f5f5;
  --darkgrey:#757474;
  --greengrey:#919a9e;
  --grey:#3a3a3a;
  --black:#000000;
  --blue:#274975;
  --yellow:#f3cc02;
  --orange:#e8a246;
  --green:#168372;
  --red:#d40000;
  --creamyellow:#eae5e3;
  --lightgreen:#e0efed;
}

address, caption, code, figcaption, pre, th {
  font-size: 1em;
  font-weight: normal;
  font-style: normal;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: '';
  content: none;
}

fieldset, iframe, img {
  border: 0;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

caption, th {
  text-align: left;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

button {
  background: 0 0;
  border: 0;
  box-sizing: content-box;
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
  overflow: visible;
  vertical-align: inherit;
}

button:disabled {
  cursor: default;
}

audio:not([controls]) {
  display: none;
}

:focus[data-focus-method=mouse]:not(input):not(textarea):not(select), :focus[data-focus-method=touch]:not(input):not(textarea):not(select) {
  outline: 0;
}

::-moz-focus-inner {
  border: 0;
  padding: 0;
}

a, a:link, a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
  text-decoration: none;
}

ul {
  list-style: none;
}

em {
  font-style: normal;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

input:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

input::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}

::-webkit-scrollbar {
  width: 10px;
  height: 15px;
  background-color: #f3f3f3;
  border-left: 1px solid #dddddd; 
}

::-webkit-scrollbar:hover {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  cursor: pointer;
  border-radius: 15px;
  background-color: var(--green);
}

::-webkit-scrollbar-thumb:hover {
  background-color: var(--blue);
}

::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment {
  display: none;
}
/*hasbg*/
.hasbg{background-repeat:no-repeat;background-size:cover;background-position:center center;}
.hasbg:after{display:block;content:"";padding-top:100%;}
.hasbg>img{display:none;}


@font-face {
  font-family: 'iconfont';
  src: url('iconfont/iconfont.woff2?t=1666238971337') format('woff2'),
       url('iconfont/iconfont.woff?t=1666238971337') format('woff'),
       url('iconfont/iconfont.ttf?t=1666238971337') format('truetype');
}

.iconfont {
  font-family: "iconfont" !important;
  font-size: 16px;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/*sp mobile-btn*/
/* sp mobile-btn and nav css */

.spscreen {
  display: none; }
.mobilebtn{display:none;}
@media screen and (max-width: 768px) {
  .logged-in .mobilebtn{
    top:60px;
  }
  .mobilebtn {
    position: fixed;
    z-index: 110;
    top: 20px;
    right: 20px;
    display: block; }

  .mobilebtn div {
    width: 30px;
    height: 20px;
    background: none;
    cursor: pointer;
    display: block;
    position: relative;
    right: 0;
    top: 0;
    transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1); }

  .mobilebtn div span {
    width: 30px;
    height: 2px;
    top: 9px;
    background: var(--green);
    display: block;
    position: absolute;
    z-index: 5;
    left: 50%;
    margin: 0 0 0 -15px;
    transform-origin: center;
    -webkit-transform-origin: center;
    -moz-transform-origin: center;
    -o-transform-origin: center;
    -ms-transform-origin: center;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -ms-transition: all 0.4s; }

  .mobilebtn div span:nth-child(1) {
    -moz-transform: translateY(-9px);
    -webkit-transform: translateY(-9px);
    -o-transform: translateY(-9px);
    -ms-transform: translateY(-9px);
    transform: translateY(-9px); }

  .mobilebtn div span:nth-child(3) {
    -moz-transform: translateY(9px);
    -webkit-transform: translateY(9px);
    -o-transform: translateY(9px);
    -ms-transform: translateY(9px);
    transform: translateY(9px); }

  .mobilebtn .active {
    transform:translateX(-200px) rotate(180deg); /* */}

  .mobilebtn .active span:nth-child(1) {
    transform: rotate3d(0, 0, 1, -45deg) !important;
    transform-origin: center center !important;/*0.71429px*/
    width: 30px !important; }

  .mobilebtn .active span:nth-child(2) {
    transform: rotate3d(0, 1, 0, -90deg) !important;
    width: 0!important;
  }

  .mobilebtn .active span:nth-child(3) {
    transform: rotate3d(0, 0, 1, 45deg) !important;
    transform-origin: center center !important;/*0.71429px */
    width: 30px !important; }

  .sp-wrapper-move {
    transform: translateX(0px) !important; }

  .spscreen {
    width: 200px;
    height: 100vh;
    position: fixed;
    z-index: 100;
    background: #333;
    right: 0;
    top: 0;
    transform: translateX(200px);
    transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
    display: block; }

  .spscreen .sp-heading {
    width: 100%;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 24px;
    text-transform: uppercase;
    color: #fff; }

  .spscreen nav ul {
    padding: 0 15px; }

  .spscreen nav ul li:first-child {
    border-top: 1px solid #5d5d5d; }

  .spscreen nav ul li {
    border-bottom: 1px solid #5d5d5d; }

  .spscreen nav ul li a {
    color: #fff;
    display: block;
    text-align: center;
    text-decoration: none;
    padding: 10px 0;
    text-transform: uppercase;
    transition: .3s; }

  .spscreen nav ul li a:hover {
    background: #f2f2f2;
    color: #000; }

  .spscreen nav ul li ul{
    display:none;
  }
  .spscreen nav ul li a.current{position:relative;}
  .spscreen nav ul li a.current:after{content:"";border-top:5px solid #fff;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;top:50%;right:0;transform:translateY(-50%);transform-origin:center;}
  .spscreen nav ul li a.current.active:after{transform:rotate(180deg);}
  .spscreen nav ul li ul{display:none;padding:0;}
  .spscreen nav ul li ul li a{font-size:12px;}
}

.spscreenmask{position:fixed;top:0;right:0;z-index:99;background:rgba(0,0,0,0.6);width:0%;height:100%;transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);}
.spscreenmask.spscreenmaskmove{width:100%;}


/*headerfixed*/
.headerfixed{position:fixed;top:0;left:0;z-index:90;width:100%;background:#fff;box-shadow: 0 0 5px 5px rgba(0,0,0,0.3);-webkit-animation: headeranimation .5s linear  0s 1;animation: headeranimation .5s linear  0s 1; }
.logged-in .headerfixed{top:32px;}
@keyframes headeranimation {
  0% {
    transform:translateY(-100%);
    opacity:0;
  }
  100% {
    transform:translateY(0);
    opacity:1;
  }
}
@-webkit-keyframes headeranimation {
  0% {
    transform:translateY(-100%);
    opacity:0;
  }
  100% {
    transform:translateY(0);
    opacity:1;
  }
}
header{position:relative;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);}


.sitelogo{width:450px;padding:15px 0px 15px 40px;}

.headmain{ display:flex;}


.mainnavigation{display:flex;}
.mainnavigation ul{display:flex;align-items:center;}
.mainnavigation ul li{position:relative;padding:0px 70px;}
.mainnavigation ul li:not(:last-child){border-right:1px solid #a0a0a0;}
.mainnavigation ul li a{width:100%;font-size:18px;line-height:100%;color:var(--black);display:flex;text-decoration:none;position:relative;z-index:1;transition:.4s ease-in-out;}
.mainnavigation ul li a:hover{color:var(--green);}
.mainnavigation ul li > a:after{content: "";position: absolute;left:0%;bottom: -5px;width: 100%;transform: scale(0) ;height: 2px;background: var(--green);opacity: 0;visibility: hidden;transition: .4s ease-in-out;}
.mainnavigation ul li > a:hover:after{opacity: 1;visibility: visible;transform:scale(1);}
.mainnavigation ul li ul{display:none;position:absolute;left:50%;transform:translateX(-50%);background:var(--grey);}
.mainnavigation ul li:hover ul{display:block;}
.mainnavigation ul li ul li a{text-align:center;padding:5px 10px;}
.mainnavigation ul li ul li a:after{display:none;}

.speciallinks{display:flex;align-items:center;}
.speciallinks a{width:100%;padding:20px 70px;font-size:18px;color:#fff;background:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center;text-decoration:none;position:relative;overflow:hidden;}
.speciallinks a i{position:relative;z-index:1;width:28px;height:28px;}
.speciallinks a span{position:relative;z-index:1;display:inline-block;margin-top:5px;}
.speciallinks a:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transform:translateY(-101%);background:var(--blue);transition:.3s;}
.speciallinks a:hover:after{transform:translateY(0);}
@media screen and (max-width: 1720px) {
	.sitelogo{width:380px;}
  .mainnavigation ul li{padding:0px 50px;}
  .speciallinks a{padding:20px 50px;}
}
@media screen and (max-width: 1520px) {
  .sitelogo{width:360px;padding:10px 0px 10px 40px;}
  .mainnavigation ul li{padding:0px 30px;}
  .mainnavigation ul li a{font-size:16px;}
  .speciallinks a{padding:15px 30px;font-size:16px;}
  .speciallinks a i{width:24px;height:24px;}
}
@media screen and (max-width: 1320px) {
	.sitelogo{width:300px;}
  .mainnavigation ul li{padding:0px 25px;}
  .speciallinks a{padding:15px 20px;}
}
@media screen and (max-width: 1080px) {
  .sitelogo{width:220px;padding:10px 10px 10px 20px;}
  .mainnavigation ul li{padding:0px 20px;}
  .mainnavigation ul li a{font-size:14px;}
  .speciallinks a{padding:10px 15px;font-size:14px;}
  .speciallinks a i{width:20px;height:20px;}
}
@media screen and (max-width: 860px) {
  .mainnavigation ul li{padding:0px 10px;}
}
@media screen and (max-width: 768px) {
  .headmain{margin-right:70px;}
  .mainnavigation{display:none;}
  .speciallinks a{padding:20px;}
  .speciallinks a span{display:none;}
}
/* /header css */
/*banner*/
.banner{position:relative;}
.banner .bannermain{}
.banner .bannermain li{overflow:hidden;}
.banner .bannermain figure{width:100%;height:70vh;position:relative;-webkit-animation: picmove1 50s linear infinite 0s;
      -moz-animation: picmove1 50s linear infinite 0s;
      -ms-animation: picmove1 50s linear infinite 0s;
      -o-animation: picmove1 50s linear infinite 0s;
      animation: picmove1 50s linear infinite 0s;}
.banner .bannermain figure:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;}
.banner .bannertext{position:absolute;left:50%;top:50%;z-index:20;width:100%;color:#fff;padding:80px 60px;transform:translate(-50%,-50%);}
.banner .bannertext .inner{width:100%;max-width:1520px;margin:0 auto;}
.banner .bannertext h1{font-size:50px;line-height:1;font-weight:lighter;padding:10px;background:rgba(145,154,158,0.7);display:inline-block;margin-bottom:30px;}
.banner .bannertext h2{font-size:50px;line-height:1;font-weight:lighter;padding:10px;background:rgba(145,154,158,0.7);display:inline-block;margin-top:50px;}


/**/
/*
.banner .bannertext h1{font-size:46px;margin-bottom:30px;}
.banner .bannertext p{font-size:24px;}*/

@keyframes picmove1 {
 0% {
 -webkit-transform:scale(1.2, 1.2);
transform:scale(1.2, 1.2);
}
 50% {
 -webkit-transform:scale(1, 1);
transform:scale(1, 1);
}
 100% {
 -webkit-transform:scale(1.2, 1.2);
transform:scale(1.2, 1.2);
}
}
@media screen and (max-width: 1520px) {
  .banner .bannermain figure{height:50vh;max-height:500px;}
  .banner .bannertext{padding:60px 40px;}
  .banner .bannertext h1{font-size:38px;margin-bottom:10px;}
  .banner .bannertext h2{font-size:38px;margin-top:30px;}
}
@media screen and (max-width: 1080px) {
  .banner .bannertext{padding:20px;}
  .banner .bannertext h1{font-size:28px;}
  .banner .bannertext h2{font-size:28px;margin-top:10px;}
}
@media screen and (max-width: 768px) {
  .banner{overflow:hidden;}
  .banner .bannermain figure{height:300px;}
  .banner .bannertext h1{font-size:24px;}
  .banner .bannertext h2{font-size:24px;}
}
@media screen and (max-width: 528px) {
  .banner .bannermain figure{height:300px;}
  .banner .bannertext{padding:10px;}
  .banner .bannertext h1{font-size:20px;line-height:1.1;margin-bottom:5px;}
  .banner .bannertext h2{font-size:20px;line-height:1.1;margin-top:5px;}
}

/*/banner*/

/* footer css */
.footer{background:var(--lightgrey);}
.footmain{padding:60px 40px;width:100%;max-width:1600px;margin:0 auto;}
.footlogo{width:400px;margin:0 auto 30px;display:block;transition:.3s;}
.footlogo:hover{opacity:0.7;}
.footlogo img{width:100%;}
.footmenu{width:100%;margin:60px auto;}
.footmenu ul{display:flex;flex-wrap:wrap;justify-content:center;}
.footmenu ul li{padding:0 60px;}
.footmenu ul li:not(:last-child){border-right:1px solid #a1a1a1;}
.footmenu ul li a{color:var(--black);text-decoration:none;display:inline-block;width:100%;font-size:18px;text-align:center; transition:.3s;}
.footmenu ul li a:hover{color:var(--green);}
.footlink{display:flex;justify-content:space-between;flex-wrap:wrap;width:100%;max-width:760px;margin:50px auto 0;}
.footlink li{width:calc(50% - 30px);}
.footlink li a{width:100%;display:block;border:1px solid var(--green);padding:20px;text-decoration:none;text-align:center;font-weight:bold;color:var(--green);text-transform:uppercase;font-size:30px;letter-spacing:1px;transition:.3s;}
.footlink li a:hover{background:var(--green);color:var(--white);}

.copyright{background:var(--green);width:100%;}
.copyright p{width:100%;max-width:1400px;margin:0 auto;padding:10px 40px;font-size:14px;text-align:center;color:#fff;}

@media screen and (max-width: 1520px) {
  .footlogo{width:350px;margin:0 auto 20px;}
  .footmenu{margin:30px auto;}
  .footmenu ul li{padding:0 35px;}
  .footmenu ul li a{font-size:16px;}
  .footlink{margin:30px auto 0;}
  .footlink li {width:calc(50% - 20px);}
  .footlink li a{font-size:24px;padding:15px;}
}
@media screen and (max-width: 1080px) {
  .footmain{padding:30px 20px;}
  .footlogo{width:300px;margin:0 auto;}
  .footmenu ul li{padding:0 20px;}
  .footmenu ul li a{font-size:14px;}
  .footlink{margin:20px auto 0;max-width:500px;}
  .footlink li {width:calc(50% - 10px);}
  .footlink li a{font-size:20px;padding:15px 10px;}
  .copyright p{padding:10px 20px;font-size:12px;}
}
@media screen and (max-width: 768px) {
  .footmenu{margin:20px auto;}
  .footmenu ul{justify-content:flex-start;}
  .footmenu ul li{width:33.333333%;padding:0 10px;margin-bottom:10px;}
  .footmenu ul li a{font-size:12px;}
  .footlink li {width:calc(50% - 5px);}
  .copyright p{padding:5px 10px;}
}
@media screen and (max-width: 568px) {
  .footmenu ul li{width:50%;}
  .footmenu ul li:not(:last-child){border-right:0}
  .footlink li{width:100%;max-width:240px;margin:10px auto 0;}
  .footlink li a{font-size:16px;padding:10px;}
}
/* /footer css */



/*public*/
.part{padding:60px 40px;}
.partfull{padding:80px 0;}
.w1520{width:100%;max-width:1520px;margin:0 auto;}
.w1320{width:100%;max-width:1320px;margin:0 auto;}
.w1200{width:100%;max-width:1200px;margin:0 auto;}
.w1100{width:100%;max-width:1100px;margin:0 auto;}
.w1000{width:100%;max-width:1000px;margin:0 auto;}
@media screen and (max-width: 1080px) {
  .part{padding:30px 20px;}
  .partfull{padding:30px 0;}
}

.flex{display:flex;}
.flexwrap{flex-wrap: wrap;}
.justifyspacebetween{justify-content:space-between;}
.justifycenter{justify-content:center;}
.aligncenter{align-items:center;}
.flexcolumn{flex-direction:column;}
.flexrowreverse{flex-direction:row-reverse;}
.flexcenter{justify-content:center;align-items:center;}

.layout{display:flex;flex-wrap: wrap;}
.avcol2{width:50%;}
.avcol3{width:33.333333%;}
.avcol4{width:25%;}
.avcol5{width:20%;}
.avcol6{width:16.666667%;}
.pcimg{display:block;}
.spimg{display:none;}
@media screen and (max-width: 768px) {
.pcimg{display:none;}
.spimg{display:block;}
}

.ftfuturapt{font-family:"futurapt"!important;}
.ftminchao{font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "MS Mincho", "MS 明朝", "Meiryo", serif;}
.ftmeiryo{font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}
.ftnotoserifjp{font-family:"Noto Serif JP","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "MS Mincho", "MS 明朝","Mincho","Noto Sans JP",serif;}


.iconmail{background:url(img/iconmail.png) no-repeat;background-position:center;background-size:contain;}
.titlegroup{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.titlegroup .t2{text-transform:uppercase;}
.t2{font-size:60px;}
.t3{font-size:30px;}
.t5{font-size:20px;}
.textcenter{text-align:center;}
@media screen and (max-width: 1520px) {
  .t2{font-size:38px;}
  .t3{font-size:20px;}
  .t5{font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .t2{font-size:30px;}
  .t3{font-size:20px;}
  .t5{font-size:16px;}
}
@media screen and (max-width: 768px) {
  .t2{font-size:24px;} 
}


.colororange{color:var(--orange);}
.colorblue{color:var(--blue);}
.colorred{color:var(--red);}
.colorgreen{color:var(--green);}
.colorgrey{color:var(--darkgrey);}

.bgcream{background:var(--creamyellow);}
.bggreen{background:var(--green);}

.button{padding:10px;text-decoration:none;text-align:center;display:inline-block;color:var(--orange);border:1px solid var(--orange);background:var(--white);transition:.3s;}
.button:hover{text-decoration:none;background-color:var(--orange);color:var(--white);border:1px solid var(--white);}
.button.greenbtn{color:var(--white);border:1px solid var(--green);background-color:var(--green);}
.button.greenbtn:hover{background-color:var(--blue);border:1px solid var(--blue);}
/*.button.themebtn{color:var(--white);background-color:var(--orange);border:1px solid var(--orange);}
.button.themebtn:hover{background-color:var(--pink);}*/
.button.bluebtn{color:var(--white);background:var(--blue);border:1px solid var(--blue);}
.button.bluebtn:hover{background:var(--green);border:1px solid var(--green);}
.button.greybtn{color:var(--white);background:var(--grey);border:1px solid var(--grey);}
.button.greybtn:hover{background:var(--blue);border:1px solid var(--blue);}
.button.whitebtn{color:var(--grey);background:var(--white);border:1px solid var(--grey);}
.button.whitebtn:hover{color:var(--white);background:var(--grey);border:1px solid var(--grey);}
.radiusbutton{border-radius:50px;}
.buttongroup{display:flex;}

.taglist{display:flex;flex-wrap:wrap;}
.tag{padding:5px 10px;display:block;text-align:center;border-radius:5px;}
.tagorange{color:var(--orange);border:1px solid var(--darkorange);}
.tagtheme{color:var(--white);background:var(--orange);}
.taggreen{color:var(--white);background:var(--green);}
.tagpink{color:var(--white);background:var(--pink);}

.card{display:block;text-decoration:none;color:var(--black);padding:5px;border-radius:10px;background:var(--white);overflow:hidden;box-shadow: inset 0px 0px 0px 5px rgba(255, 255, 255, 0.004);cursor:default;}
.card:hover{text-decoration:none;}
.cardpic{width:100%;border-radius:10px 10px 0 0;overflow:hidden;}
.cardpic figure{width:100%;transition:.3s;}
.cardpic figure:after{padding-top:70%;}
.card:hover .cardpic figure{transform:scale(1.2,1.2);}
.cardtext{padding:30px 20px;}
.cardtext>div{display:flex;justify-content:space-between;flex-wrap:wrap; font-size:20px;}
.cardtext>div span{width:100px;padding-right:10px;}
.cardtext>div p{width:100%;text-align:center;}
.cardtext .button{width:100%;max-width:180px;padding:15px;margin:0 auto;display:block;}
@media screen and (max-width: 1520px) {
  .cardtext{padding:20px;}
  .cardtext>div{font-size:16px;}
  .cardtext>div span{width:90px;}
  .cardtext .button{max-width:160px;padding:10px 15px;}
}
@media screen and (max-width: 1080px) {
  .card{padding:3px;border-radius:5px;}
  .cardpic{border-radius:5px 5px 0 0;}
  .cardtext{padding:15px 10px;}
  .cardtext>div{font-size:14px;}
  .cardtext>div span{margin-right:0.5em;}
  .cardtext>div p{width:100%;}
  .cardtext .button{max-width:120px;padding:7px 10px;}
}
@media screen and (max-width: 768px) {
  .cardtext>div span{width:100%;margin-right:0;}
}

.ban{width:100%;display:block;transition:.3s;}
.ban:hover{transform:translateY(-5px);opacity:0.7;}



.twocolumn{display:flex;justify-content:space-between;flex-wrap:wrap;}
.twocolumn .text{font-size:18px;letter-spacing:1px;line-height:1.8;}
.twocolumn .pic{}
@media screen and (max-width: 1520px) {
  .twocolumn .text{font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .twocolumn .text{font-size:14px;line-height:1.6;}
}


.newslist{}

.newsitem{width:100%;}
.newsitem:not(:last-child) a{border-bottom:1px dotted var(--black);}
.newsitem a{display:flex;justify-content:space-between;flex-wrap:wrap; font-size:20px;color:#333;padding:30px 0; transition:.3s;}
.newsitem a:hover{text-decoration:none;color:#69d1cb;}
.newsitem a span{width:120px;font-weight:bolder;}
.newsitem a p{width:calc(100% - 150px);}
@media screen and (max-width: 1520px) {
  .newsitem:not(:last-child){}
  .newsitem a{font-size:16px;padding:20px 0;}
  .newsitem a span{width:100px;}
  .newsitem a p{width:calc(100% - 120px);}
}
@media screen and (max-width: 1080px) {
  .newsitem:not(:last-child){}
  .newsitem a{font-size:14px;padding:15px 0;}
  .newsitem a span{width:80px;}
  .newsitem a p{width:calc(100% - 100px);}
}
@media screen and (max-width: 768px) {
  .newsitem a span{width:100%;}
  .newsitem a p{width:100%;}
}

.newstitle{margin-bottom:10px;}
.newsinfo{border-bottom:1px solid #d9ccb4;margin-bottom:50px;display:flex;justify-content:flex-start;}
.content{font-size:18px;line-height:2;}
@media screen and (max-width: 1520px) {
  .content{font-size:16px;line-height:1.8;}
}
@media screen and (max-width: 1080px) {
  .newstitle{margin-bottom:5px;}
  .newsinfo{margin-bottom:30px;}
  .content{font-size:14px;}
}



.tablelist{}
.tablelist dl{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px 0;font-size:20px;}
.tablelist dl dt{width:230px;}
.tablelist dl dd{width:calc(100% - 230px);}
@media screen and (max-width: 1520px) {
  .tablelist dl{font-size:16px;padding:7px 0;}
  .tablelist dl dt{width:160px;}
  .tablelist dl dd{width:calc(100% - 160px);}
}
@media screen and (max-width: 1080px) {
  .tablelist dl{font-size:14px;padding:5px 0;}
  .tablelist dl dt{width:130px;}
  .tablelist dl dd{width:calc(100% - 130px);}
}
@media screen and (max-width: 768px) {
  .tablelist dl dt{width:100%;}
  .tablelist dl dd{width:100%;}
}



.twoclumn{display:flex;justify-content:space-between;flex-wrap:wrap;}
.text{font-size:20px;}
.pic{}
@media screen and (max-width:1520px){
  .text{font-size:16px;}
}
@media screen and (max-width:1080px){
  .text{font-size:14px;}
}

/*scrolltop*/
.scrolltop{position: fixed;right: 2%;bottom:5%;z-index: 70;transition:.5s;background:var(--green);color:#fff;width: 50px;height: 50px;display: flex;justify-content: center;align-items: center;text-decoration:none;padding:15px 10px 10px 10px;border-radius:50%;}
.scrolltop:after{content:"";display:block;width:16px;height:16px;border:solid #fff;border-width:2px 2px 0 0;transform:rotate(-45deg);}
@media screen and (max-width: 1080px) {
  .scrolltop{width: 40px;height: 40px;padding:5px 0 0 0;}
}

/*googlemap*/
.googlemap{width:100%;height:450px;overflow:hidden;line-height:1;}
.googlemap iframe{width:100%;height:450px;background:url(img/googlemap.jpg) no-repeat;background-color:var(--grey);background-position:center;}
@media screen and (max-width:1080px){
  .googlemap{height:350px;}
  .googlemap iframe{height:350px;}
}
@media screen and (max-width:768px){
  .googlemap{height:300px;}
  .googlemap iframe{height:300px;}
}
@media screen and (max-width:520px){
  .googlemap{height:240px;}
  .googlemap iframe{height:240px;}
}

.tablebox{}
.tablebox dl{display:flex;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
.tablebox dl dt{width:300px;padding:20px 10px;background:var(--green);}
.tablebox dl dd{width:calc(100% - 310px);padding:20px;background:var(--lightgreen);}
@media screen and (max-width: 1520px) {
  .tablebox dl dt{width:240px;}
  .tablebox dl dd{width:calc(100% - 250px);}
}
@media screen and (max-width: 1080px) {
  .tablebox dl dt{width:200px;padding:15px 10px;}
  .tablebox dl dd{width:calc(100% - 210px);padding:15px 10px;}
}
@media screen and (max-width: 768px) {
  .tablebox dl{margin-bottom:5px;}
  .tablebox dl dt{width:100%;padding:10px;}
  .tablebox dl dd{width:100%;padding:10px;}
}


.wide{text-align:center;}
.wide h2{font-size:48px;line-height:1.6;}
.wide p{margin-bottom:50px;font-size:18px;line-height:2;}
@media screen and (max-width: 1520px) {
  .wide h2{font-size:38px;}
  .wide p{margin-bottom:30px;font-size:16px;line-height:1.8;}
}
@media screen and (max-width: 1080px) {
  .wide h2{font-size:28px;}
  .wide p{margin-bottom:20px;font-size:14px;}
}
@media screen and (max-width: 768px) {
  .wide h2{font-size:20px;}
}


.gallery{}
.gallery .gallery-top{margin-bottom:30px;}
.gallery .gallery-top li figure{}
.gallery .gallery-top li figure:after{padding-top:64%;}
.gallery .gallery-thumbs{margin-left:-10px;margin-right:-10px;}
.gallery .gallery-thumbs li{padding:0 10px;}
.gallery .gallery-thumbs li.swiper-slide-thumb-active figure:after{/*background:rgba(0,0,0,0);*/}
.gallery .gallery-thumbs li figure{overflow:hidden;}
.gallery .gallery-thumbs li figure:after{padding-top:64%;}
@media screen and (max-width: 1080px) {
  .gallery .gallery-top{margin-bottom:20px;}
  .gallery .gallery-thumbs{margin-left:-5px;margin-right:-5px;}
  .gallery .gallery-thumbs li{padding:0 5px;}
}
@media screen and (max-width: 768px) {
  .gallery .gallery-top{margin-bottom:10px;}
  .gallery .gallery-thumbs{margin-left:0;margin-right:0;}
  .gallery .gallery-thumbs li{padding:0;}
}


.form{}
.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form textarea{width:100%;padding:10px;background:var(--lightgreen);border:1px solid var(--lightgreen);border-radius:3px;}
.form input[type="text"]:focus,.form input[type="email"]:focus,.form input[type="tel"]:focus,.form textarea:focus,.form input[type="file"]{border:1px solid var(--green);}
.form dl{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:15px 0;font-size:18px;}
.form dl dt{display:flex;align-items:flex-start; width:350px;font-weight:bold;}
.form dl dt .tag{padding:3px 10px;font-size:16px;margin-left:20px;border-radius:10px;}
.form dl dd{width:calc(100% - 350px);}
.form .buttongroup{margin-top:50px;justify-content:center;width:100%;}
.form .buttongroup .button{border-radius:0px;padding:15px 100px;}
.radiobox{display:flex;flex-wrap:wrap;}
.radiobox label{display:inline-flex;margin-right:2em;}
.radiobox input{margin-right:10px;}
@media screen and (max-width: 1520px) {
  .form dl{font-size:16px;}
  .form dl dt{width:300px;}
  .form dl dd{width:calc(100% - 300px);}
  .form dl dt .tag{font-size:14px;}
  .form .buttongroup{margin-top:30px;}
  .form .buttongroup .button{padding:15px 60px;}
}
@media screen and (max-width: 1080px) {
  .form dl{font-size:14px;padding:10px 0;}
  .form dl dt{width:240px;}
  .form dl dd{width:calc(100% - 240px);}
  .form dl dt .tag{font-size:12px;padding:3px 7px;margin-left:10px;border-radius:5px;}
  .form .buttongroup{margin-top:20px;}
  .form .buttongroup .button{padding:10px 30px;}
}
@media screen and (max-width: 768px) {
  .form dl dt{width:100%;margin-bottom:10px;}
  .form dl dd{width:100%;}
  .radiobox label{width:100%;}
}

.paging{margin-top:50px;display:flex;justify-content: center;align-items:center;}
.paging .page-numbers{margin:5px;padding: 5px;text-align: center;color:var(--black);text-decoration:none;font-size:18px; }
.paging .page-numbers:hover{font-weight:bold;}
.paging .page-numbers.current{font-weight:bold;}
.paging .page-numbers.current:hover{font-weight:bold;}
@media screen and (max-width: 1080px) {
  .paging .page-numbers{margin:3px;padding: 5px 3px;font-size:14px;}
}


.pagebanner{position:relative;}
.pagebanner figure{width:100%;height:500px;}
.pagebanner figure:after{padding-top:0%;}
.pagebanner .bannertext{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;padding:50px;}
.pagebanner .bannertext h1{font-size:50px;letter-spacing:0.2em;color:var(--white);font-weight:normal;}

@media screen and (max-width: 1520px) {
  .pagebanner figure{height:350px;}
  .pagebanner .bannertext h1{font-size:38px;}
}
@media screen and (max-width: 1080px) {
  .pagebanner figure{height:300px;}
  .pagebanner .bannertext h1{font-size:28px;}  
}
@media screen and (max-width: 768px) {
  .pagebanner figure{height:240px;background-position:right 5% center;}
  .pagebanner .bannertext h1{font-size:24px;}
}
@media screen and (max-width: 568px) {
  .pagebanner figure{height:200px;background-position:right 20% center;}
}

/*/public*/


/*home*/

.homeconcept{}
.homeconcept .twocolumn{}
.homeconcept .twocolumn .text{width:700px;padding:0 30px;}
.homeconcept .twocolumn .text .titlegroup{align-items:flex-start;margin-bottom:50px;}
.homeconcept .twocolumn .text .titlegroup h2{line-height:1;margin-bottom:30px;}
.homeconcept .twocolumn .text .titlegroup h5{font-weight:lighter;}
.homeconcept .twocolumn .text .button{margin-top:50px;padding:15px 38px;}
.homeconcept .twocolumn .pic{width:calc(100% - 720px);}
.homeconcept .twocolumn .pic figure:after{padding-top:70%;}
@media screen and (max-width:1520px){
  .homeconcept .twocolumn .text{width:550px;padding:0 20px;}
  .homeconcept .twocolumn .text .titlegroup{margin-bottom:30px;}
  .homeconcept .twocolumn .text .titlegroup h2{margin-bottom:15px;}
  .homeconcept .twocolumn .text .button{margin-top:30px;padding:10px 30px;}
  .homeconcept .twocolumn .pic{width:calc(100% - 560px);}
}
@media screen and (max-width:1080px){
  .homeconcept .twocolumn .text{width:48%;padding-left:0;}
  .homeconcept .twocolumn .text .titlegroup{margin-bottom:20px;}
  .homeconcept .twocolumn .text .titlegroup h2{line-height:1.2;margin-bottom:10px;}
  .homeconcept .twocolumn .text .button{margin-top:20px;padding:10px 20px;}
  .homeconcept .twocolumn .pic{width:52%;}
}
@media screen and (max-width:768px){
  .homeconcept .twocolumn .text{width:100%;max-width:560px;padding:0;margin:0 auto 15px;}
  .homeconcept .twocolumn .pic{width:100%;max-width:560px;margin:0 auto;}
  .homeconcept .twocolumn .text .button{ padding:7px 20px;}
}

.homeitem{padding:0 40px;margin-bottom:60px;}
.homeitem .titlegroup{margin-bottom:50px;}
.homeitem .homeitemlist{margin-bottom:50px;}
.homeitem .homeitemlist ul{justify-content:center;margin-right:-25px;margin-bottom:-50px;}
.homeitem .homeitemlist ul li{padding-right:25px;margin-bottom:50px;}
.homeitem .homeitemlist ul li .card{box-shadow: 0px -10px 10px #e9e9e9;}
.homeitem .homeitemlist ul li .card .cardtext>div{text-align:center;height:3.2em;}
.homeitem .homeitemlist ul li .card .cardtext>div p{width:100%;}
.homeitem .banlist{display:flex;/*justify-content:space-between;*/flex-wrap:wrap;margin:50px auto;}
.homeitem .banlist .avcol2{width:calc(50% - 50px);}
.homeitem .itembtn{width:100%;max-width:300px;margin:0 auto;display:block;padding:20px;font-size:20px;letter-spacing:2px;}
@media screen and (max-width:1520px){
  .homeitem .homeitemlist ul{margin-right:-20px;margin-bottom:-30px;}
  .homeitem .homeitemlist ul li{padding-right:20px;margin-bottom:30px;}
  .homeitem .banlist .avcol2{width:calc(50% - 30px);}
  .homeitem .itembtn{max-width:260px;font-size:18px;padding:15px;}
}
@media screen and (max-width:1080px){
  .homeitem{padding:0 20px;margin-bottom:50px;}
  .homeitem .titlegroup{margin-bottom:30px;}
  .homeitem .homeitemlist ul{margin-right:-15px;margin-bottom:-20px;}
  .homeitem .homeitemlist ul li{padding-right:15px;margin-bottom:20px;}
  .homeitem .banlist{margin:30px auto;}
  .homeitem .banlist .avcol2{width:calc(50% - 20px);}
  .homeitem .banlist .avcol2 .ban{margin-bottom:20px;}
  .homeitem .itembtn{max-width:220px;font-size:16px;padding: 10px;}
}
@media screen and (max-width:768px){
  .homeitem .homeitemlist{width:100%;max-width:560px;margin:0 auto 30px;}
  .homeitem .homeitemlist ul{margin-right:-10px;}
  .homeitem .homeitemlist ul li{width:50%;padding-right:10px;}
  .homeitem .banlist{max-width:380px;margin:0 auto;}
  .homeitem .banlist .avcol2{width:100%;}
  .homeitem .banlist .avcol2 .ban{max-width:380px;}
  .homeitem .itembtn{max-width:200px;}

}
@media screen and (max-width:568px){
  .homeitem .homeitemlist{max-width:360px;}
  .homeitem .homeitemlist ul li{width:100%;}
  .homeitem .banlist .avcol2 .ban{max-width:360px;}
}


.homecase{}
.homecase .titlegroup{margin-bottom:50px;}
.homecase .homecaselist{margin-bottom:50px;}
.homecase .homecaselist ul{margin-right:-25px;margin-bottom:-10px;}
.homecase .homecaselist ul li{padding-right:25px;margin-bottom:10px;}
.homecase .whitebtn{display:block;width:100%;max-width:300px;margin:0 auto;padding:20px 60px;font-weight:bold;font-size:20px;letter-spacing:2px;}
@media screen and (max-width:1520px){
  .homecase .homecaselist ul{margin-right:-20px;}
  .homecase .homecaselist ul li{padding-right:20px;}
  .homecase .whitebtn{max-width:260px;font-size:16px;letter-spacing:1px;padding:15px 50px;}
}
@media screen and (max-width:1080px){
  .homecase .titlegroup{margin-bottom:30px;}
  .homecase .homecaselist{margin-bottom:30px;}
  .homecase .homecaselist ul{margin-right:-10px;}
  .homecase .homecaselist ul li{padding-right:10px;}
  .homecase .whitebtn{max-width:240px;}
}
@media screen and (max-width:768px){
  .homecase .homecaselist{width:100%;max-width:560px;margin:0 auto 30px;}
  .homecase .homecaselist ul.layout li{width:50%;}
  .homecase .homecaselist ul.layout li .card .cardtext div{text-align:center;}
  .homecase .whitebtn{max-width:200px;padding:15px;}
}
@media screen and (max-width:568px){
  .homecase .homecaselist{max-width:360px;}
  .homecase .homecaselist ul.layout li{width:100%;}
}



.homenews{}
.homenews .newlist{width:calc(100% - 32vw);padding:0 6%;}
.homenewstitle{padding:150px 80px;width:32vw;font-family:"Futura PT";}
.homenewstitle .t2{text-align:center;color:var(--white);text-transform:uppercase;font-weight:normal;width:100%;max-width:300px;margin:0 auto 30px;}
.homenewstitle .button{display:block;font-weight:bolder;text-transform:uppercase;font-size:18px;line-height:1;padding:20px 30px;width:100%;max-width:240px;margin:0 auto;}
@media screen and (max-width: 1720px) {
  /*.homenews .newlist{padding:0 3%;}*/
}
@media screen and (max-width: 1520px) {
  .homenews .newlist{width:calc(100% - 380px);padding:0 40px;}
  .homenewstitle{padding:100px 40px;width:380px;}
  .homenewstitle .button{max-width:200px;}
}
@media screen and (max-width: 1080px) {
  .homenews .newlist{width:calc(100% - 320px);padding:0 20px;}
  .homenewstitle{padding:80px 20px;width:300px;}
  .homenewstitle .t2{margin-bottom:20px;}
  .homenewstitle .button{padding:15px;font-size:14px;max-width:160px;}
}
@media screen and (max-width: 768px) {
  .homenews .newlist{width:100%;margin-top:20px; }
  .homenewstitle{width:100%;padding:20px;}
}

.homerecruit{position:relative;margin:50px auto 80px;}
.homerecruit:after{padding-top:0;}
.homerecruitbg{position:absolute;left:0;bottom:0;width:100%;}
.homerecruitbg:after{padding-top:38%;}
.homerecruitmain{position:relative;z-index:10;}
.homerecruitmain div{width:620px;padding:50px 0 0;}
.homerecruitmain div .titlegroup{align-items:flex-start;color:var(--white);margin-bottom:50px;}
.homerecruitmain div .titlegroup .t2{margin-bottom:10px;}
.homerecruitmain div .titlegroup .t5{}
.homerecruitmain div p{color:var(--white);font-size:20px;line-height:2;margin-bottom:60px;}
.homerecruitmain div .button{padding:16px 50px;width:300px;font-size:20px;}
@media screen and (max-width: 1520px) {
  .homerecruit{margin:50px auto 60px;background-position:center top;}
  .homerecruitmain div{ padding:30px 0 0;}
  .homerecruitmain div .titlegroup{margin-bottom:30px;}
  .homerecruitmain div p{margin-bottom:30px;font-size:16px;line-height:1.8;}
  .homerecruitmain div .button{padding:15px 30px;width:240px;font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .homerecruit{margin:30px auto 50px;}
  .homerecruitbg:after{padding-top:45%;}
  .homerecruitmain div{ padding:20px 0 0;}
  .homerecruitmain div .titlegroup{margin-bottom:20px;}
  .homerecruitmain div p{margin-bottom:20px;font-size:14px;}
  .homerecruitmain div .button{padding:10px;width:200px;font-size:14px;}
}
@media screen and (max-width: 768px) {
  .homerecruit{background-position:right 20% bottom;}
  /*.homerecruitbg{}*/
  /*.homerecruitbg:after{padding-top:50%;}*/
  .homerecruitmain div{width:100%;padding:30px 0 0;}
  .homerecruitmain div .titlegroup .t2{margin-bottom:0px;}
  .homerecruitmain div .button{width:180px;}
}
@media screen and (max-width: 568px) {
  .homerecruitmain div p{text-shadow:1px 1px 1px var(--black);line-height:1.6;}
  /*.homerecruitbg:after{padding-top:70%;}*/
  /*.homerecruitmain div{padding:0;}*/
}


.homeabout{}
.homeabout .twocolumn{align-items:flex-end;}
.homeabout .twocolumn .pic{width:calc(42% + 200px);margin-right:-200px;}
.homeabout .twocolumn .pic figure{}
.homeabout .twocolumn .pic figure:after{padding-top:90%;}
.homeabout .twocolumn .text{width:calc(58% + 200px);margin-left:-200px;background:linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 8%,rgba(255,255,255,1) 25%,rgba(255,255,255,1) 100%);padding:60px 130px;}
.homeabout .twocolumn .text > div{width:100%;max-width:850px;margin:0 auto;}
.homeabout .twocolumn .text .titlegroup{align-items:flex-end;padding-bottom:38px;margin-bottom:50px;border-bottom:1px solid #c9c9c9;position:relative;}
.homeabout .twocolumn .text .titlegroup h5{font-weight:normal;margin-bottom:38px;}
.homeabout .twocolumn .text .titlegroup h2{color:#757474;}
.homeabout .twocolumn .text .titlegroup:after{content:"";position:absolute;left:0;bottom:0;width:120px;border-bottom:1px solid var(--black);}
.homeabout .twocolumn .text .tablelist a{color:var(--black);}
.homeabout .twocolumn .text .btngroup{display:flex;justify-content:space-between;width:100%;max-width:670px;margin-top:30px;}
.homeabout .twocolumn .text .btngroup .button{padding:15px 30px;width:calc(50% - 30px);max-width:300px;display:flex;justify-content:space-between;align-items:center;}
.homeabout .twocolumn .text .btngroup .button i{width:20px;height:2px;display:flex;justify-content:center;align-items:center;background:#7b7a7a;margin-left:20px;transition:.3s;}
.homeabout .twocolumn .text .btngroup .button i:after{content:"";display:block;width:10px;height:10px;border:solid #7b7a7a;border-width:2px 2px 0 0;transform:translateX(6px) rotate(45deg);transition:.3s;}
.homeabout .twocolumn .text .btngroup .button:hover i{background:var(--white);}
.homeabout .twocolumn .text .btngroup .button:hover i:after{border:solid var(--white);border-width:2px 2px 0 0;}


@media screen and (max-width: 1520px) {
  .homeabout .twocolumn .pic{width:calc(50% + 150px);margin-right:-150px;}
  .homeabout .twocolumn .pic figure:after{padding-top:70%;}
  .homeabout .twocolumn .text{width:calc(50% + 150px);margin-left:-150px;padding:50px;}
  .homeabout .twocolumn .text > div{max-width:650px;}
  .homeabout .twocolumn .text .titlegroup{margin-bottom:30px;padding-bottom:30px;}
  .homeabout .twocolumn .text .titlegroup h5{margin-bottom:20px;}
  .homeabout .twocolumn .text .btngroup .button{width:calc(50% - 20px);}
}
@media screen and (max-width: 1080px) {
  .homeabout .twocolumn .pic{width:calc(45% + 60px);margin-right:-60px;}
  .homeabout .twocolumn .text{width:calc(55% + 60px);margin-left:-60px;padding:30px 20px;}
  .homeabout .twocolumn .text > div{max-width:500px;}
  .homeabout .twocolumn .text .titlegroup{margin-bottom:20px;padding-bottom:20px;}
  .homeabout .twocolumn .text .titlegroup h5{margin-bottom:10px;}
  .homeabout .twocolumn .text .btngroup .button{width:calc(50% - 10px);padding:10px 15px;margin-top:20px;}
  .homeabout .twocolumn .text .btngroup .button i{width:15px;margin-left:10px;}
  .homeabout .twocolumn .text .btngroup .button i:after{width:8px;height:8px;transform:translateX(5px) rotate(45deg);}
}
@media screen and (max-width: 768px) {
  .homeabout .twocolumn .pic{width:100%;margin-right:0;}
  .homeabout .twocolumn .pic figure:after{padding-top:50%;}
  .homeabout .twocolumn .text{width:100%;margin-left:0px;}
}
@media screen and (max-width: 568px) {
  .homeabout .twocolumn .text .titlegroup{padding-bottom:10px;}
  .homeabout .twocolumn .text .titlegroup h5{margin-bottom:0px;}
  .homeabout .twocolumn .text .btngroup{flex-wrap:wrap;}
  .homeabout .twocolumn .text .btngroup .button{width:100%;margin:20px auto 0;}
}

/*company*/
.company{}
.company .titlegroup{margin-bottom:60px;}
.company .wide h2{margin-bottom:10px;}
.company .twocolumn{}
.company .twocolumn .text{width:calc(50% - 50px);}
.company .twocolumn .text .tablelist{}
.company .twocolumn .text .tablelist dl{border-bottom:1px solid #d9ccb4;position:relative;}
.company .twocolumn .text .tablelist dl:after{content:"";position:absolute;left:0;bottom:0;border-bottom:2px solid #d9ccb4;width:130px;}
.company .twocolumn .text .tablelist dl dt{font-weight:bold;width:200px;}
.company .twocolumn .text .tablelist dl dd{width:calc(100% - 200px);}
.company .twocolumn .text .tablelist dl dd ol li{list-style-type:none;padding-left:1em;text-indent:-1em;}
.company .twocolumn .pic{width:calc(50% - 50px);}
.company .relatedlist{}
.company .relatedlist ul.layout{margin-bottom:-50px;margin-right:-50px;}
.company .relatedlist ul.layout li{margin-bottom:50px;padding-right:50px;}
.company .relatedlist ul.layout li .item .itemtext h3{margin-bottom:10px;}
.company .relatedlist ul.layout li .item .itemtext div{text-align:left;}
.company .noticelist{margin-top:30px;}
.company .noticelist li{text-indent:-1em;padding-left:1em;font-size:18px;}
@media screen and (max-width: 1520px) {
  .company .twocolumn .text{width:calc(50% - 30px);}
  .company .twocolumn .pic{width:calc(50% - 30px);}
  .company .twocolumn .text .tablelist dl dt{width:150px;}
  .company .twocolumn .text .tablelist dl dd{width:calc(100% - 150px);}
  .company .relatedlist ul.layout{margin-bottom:-30px;margin-right:-30px;}
  .company .relatedlist ul.layout li{margin-bottom:30px;padding-right:30px;}
  .company .noticelist li{font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .company .titlegroup{margin-bottom:30px;}
  .company .twocolumn .text{width:calc(50% - 15px);}
  .company .twocolumn .pic{width:calc(50% - 15px);}
  .company .twocolumn .text .tablelist dl:after{width:90px;}
  .company .twocolumn .text .tablelist dl dt{width:120px;}
  .company .twocolumn .text .tablelist dl dd{width:calc(100% - 120px);}
  .company .relatedlist ul.layout{margin-bottom:-20px;margin-right:-20px;}
  .company .relatedlist ul.layout li{margin-bottom:20px;padding-right:20px;}
  .company .noticelist li{font-size:14px;}
}
@media screen and (max-width: 768px) {
  .company .wide strong{font-size:16px;}
  .company .twocolumn{max-width:500px;margin:0 auto;}
  .company .twocolumn .text{width:100%;margin-bottom:20px;}
  .company .twocolumn .pic{width:100%;}
  .company .relatedlist ul.layout li{width:50%;}
}
@media screen and (max-width: 520px) {
  .company .twocolumn .text .tablelist dl:after{display:none;}
  .company .twocolumn .text .tablelist dl dt{width:100%;border-bottom:1px dashed #d9ccb4;padding-bottom:5px;}
  .company .twocolumn .text .tablelist dl dd{width:100%;padding-top:5px;}
  .company .relatedlist ul.layout li{width:100%;}

}

/*recruit*/
.recruit{}
.recruit .tablebox{}
.recruit .tablebox dl{font-size:18px;}
.recruit .tablebox dl dt{color:var(--white);text-align:center;display:flex;justify-content:center;align-items:center;font-weight:bold;}
.recruit .tablebox dl dd{}
.recruit .button{display:flex;justify-content:center;font-size:18px;padding:20px;width:100%;max-width:380px;margin:50px auto 0;}
@media screen and (max-width: 1520px) {
  .recruit .tablebox dl{font-size:16px;}
  .recruit .button{font-size:16px;max-width:300px;}
}
@media screen and (max-width: 1080px) {
  .recruit .tablebox dl{font-size:14px;}
  .recruit .button{font-size:14px;max-width:240px;margin:30px auto 0;padding:15px;}
}
@media screen and (max-width: 768px) {
  .recruit .tablebox dl dt{justify-content:flex-start;}
}

.business .twocolumn{margin:0 auto 80px;}
.business .twocolumn .text{width:calc(50% - 30px);}
.business .twocolumn .text .titlegroup{align-items:flex-start;margin-bottom:50px;}
.business .twocolumn .text .titlegroup h2{font-size:50px;}
.business .twocolumn .text .titlegroup .t5{text-transform:uppercase;}
.business .twocolumn .text .buttongroup{margin-top:20px;justify-content:flex-end;}
.business .twocolumn .text .button{padding:15px 20px;width:240px;font-size:18px;font-weight:bold;}
.business .twocolumn .pic{width:calc(50% - 50px);}
.business .twocolumn .pic figure{width:100%;}
.business .twocolumn .pic figure:after{padding-top:60%;}
@media screen and (max-width: 1520px) {
  .business .twocolumn{margin:0 auto 60px;}
  .business .twocolumn .text{width:calc(50% - 20px);}
  .business .twocolumn .text .titlegroup{margin-bottom:30px;}
  .business .twocolumn .text .titlegroup h2{font-size:38px;}
  .business .twocolumn .text .buttongroup{margin-top:15px;}
  .business .twocolumn .text .button{padding:15px;width:200px;font-size:16px;}
  .business .twocolumn .pic{width:calc(50% - 30px);}
}
@media screen and (max-width: 1080px) {
  .business .twocolumn{margin:0 auto 50px;}
  .business .twocolumn .text{width:calc(50% - 10px);}
  .business .twocolumn .text .titlegroup{margin-bottom:20px;}
  .business .twocolumn .text .titlegroup h2{font-size:28px;}
  .business .twocolumn .text .buttongroup{margin-top:10px;}
  .business .twocolumn .text .button{padding:10px;width:180px;font-size:14px;}
  .business .twocolumn .pic{width:calc(50% - 10px);}
}
@media screen and (max-width: 768px) {
  .business .twocolumn{max-width:560px;}
  .business .twocolumn .text{width:100%;margin-bottom:10px;}
  .business .twocolumn .text .titlegroup h2{font-size:24px;}
  .business .twocolumn .pic{width:100%;}
}


.access{}
.access .titlegroup{margin-bottom:50px;}
.access .titlegroup .t2{}
.access .titlegroup .t5{text-transform:uppercase;}
.access .twocolumn{margin-bottom:50px;align-items:center;}
.access .twocolumn .text{width:calc(50% - 30px);}
.access .twocolumn .text .tablelist{}
.access .twocolumn .text .tablelist dl{border-bottom:1px solid #d9ccb4;position:relative;}
.access .twocolumn .text .tablelist dl:after{content:"";position:absolute;left:0;bottom:0;border-bottom:2px solid #d9ccb4;width:130px;}
.access .twocolumn .text .tablelist dl dt{font-weight:bold;width:200px;}
.access .twocolumn .text .tablelist dl dd{width:calc(100% - 200px);}
.access .twocolumn .text .tablelist dl dd ol li{list-style-type:none;padding-left:1em;text-indent:-1em;}
.access .twocolumn .text .tablelist dl dd ol li img{width:200px;}
.access .twocolumn .pic{width:calc(50% - 30px);}
.access .twocolumn .pic figure{width:100%;}
.access .twocolumn .pic figure:after{padding-top:60%;}
.access .googlemap{width:100%;margin-top:35px;}
@media screen and (max-width: 1520px) {
  .access .twocolumn .text{width:calc(50% - 20px);}
  .access .twocolumn .text .tablelist dl dt{width:150px;}
  .access .twocolumn .text .tablelist dl dd{width:calc(100% - 150px);}
  .access .twocolumn .pic{width:calc(50% - 20px);}
  .access .googlemap{height:350px;}
}
@media screen and (max-width: 1080px) {
  .access .titlegroup{margin-bottom:30px;}
  .access .twocolumn{margin-bottom:30px;}
  .access .twocolumn .text{width:calc(50% - 15px);}
  .access .twocolumn .text .tablelist dl:after{width:90px;}
  .access .twocolumn .text .tablelist dl dt{width:120px;}
  .access .twocolumn .text .tablelist dl dd{width:calc(100% - 120px);}
  .access .twocolumn .pic{width:calc(50% - 15px);}
  .access .googlemap{height:300px;margin-top:30px;}
}

@media screen and (max-width: 768px) {
  .access .twocolumn{max-width:500px;margin:0 auto 30px;}
  .access .twocolumn .text{width:100%;margin-bottom:20px;}
  .access .twocolumn .pic{width:100%;}
  .access .googlemap{max-width:500px;height:240px;margin:20px auto 0;}
}
@media screen and (max-width: 520px) {
  .access .twocolumn .text .tablelist dl:after{display:none;}
  .access .twocolumn .text .tablelist dl dt{width:100%;border-bottom:1px dashed #d9ccb4;padding-bottom:5px;}
  .access .twocolumn .text .tablelist dl dd{width:100%;padding-top:5px;}

}


/*works*/
.item{text-decoration:none;display:block;color:var(--black);}
.item:hover{text-decoration:none;}
.itempic{overflow:hidden;width:100%;overflow:hidden;}
.itempic figure{width:100%;transition:.3s;}
.itempic figure:after{padding-top:70%;}
.item:hover .itempic figure{transform:scale(1.1,1.1);}
.item .itemtext{text-align:center;margin-top:20px;font-size:18px;}
@media screen and (max-width: 1520px) {
  .item .itemtext{font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .item .itemtext{font-size:14px;}
}

.worklist{}
.worklist ul{margin-bottom:-50px;margin-right:-50px;}
.worklist ul li{margin-bottom:50px;padding-right:50px;}
@media screen and (max-width: 1520px) {
  .worklist ul{margin-bottom:-30px;margin-right:-30px;}
  .worklist ul li{margin-bottom:30px;padding-right:30px;}
}
@media screen and (max-width: 1080px) {
  .worklist ul{margin-bottom:-20px;margin-right:-20px;}
  .worklist ul li{margin-bottom:20px;padding-right:20px;}
}
@media screen and (max-width: 768px) {
  .worklist ul li{width:50%;}
}
@media screen and (max-width: 520px) {
  .worklist ul li{width:100%;}
}

.worksdetails{}
.worksdetails .worksdetailsmain{}
.worksdetails .gallery{margin-bottom:50px;}
.worksdetails .gallery .gallerypic{padding-left:30px;padding-right:30px;}
.worksdetails .gallery .thumbnail{padding-left:30px;padding-right:30px;}
.worksdetails .gallery .swiper-button-next{right:0;}
.worksdetails .gallery .swiper-button-next:after{font-size:28px;color:var(--black);}
.worksdetails .gallery .swiper-button-prev{left:0;}
.worksdetails .gallery .swiper-button-prev:after{font-size:28px;color:var(--black);}
.worksdetails .content{font-size:18px;padding:0 30px;}
.worksdetails .content p{margin-bottom:20px;}
@media screen and (max-width: 1520px) {
  .worksdetails .content{font-size:16px;}
}
@media screen and (max-width: 1080px) {
  .worksdetails .gallery{margin-bottom:30px;}
  .worksdetails .gallery .gallerypic{padding-left:0px;padding-right:0px;}
  .worksdetails .gallery .thumbnail{padding-left:0px;padding-right:0px;}
.worksdetails .gallery .swiper-button-next:after{ color:var(--white);}
.worksdetails .gallery .swiper-button-prev:after{ color:var(--white);}
  .worksdetails .content{font-size:14px;padding:0;}
}

.rollingstock{}
.rollingstock .wide{margin-bottom:50px;}
.rollingstock .wide p{font-weight:bold;margin-bottom:20px;}
.rollingstock .rollingstocklist{margin-bottom:50px;}
.rollingstock .rollingstocklist ul{margin-right:-80px;margin-bottom:-60px;}
.rollingstock .rollingstocklist ul li{padding-right:80px;margin-bottom:60px;}
@media screen and (max-width: 1520px) {
  .rollingstock .rollingstocklist ul{margin-right:-50px;margin-bottom:-50px;}
  .rollingstock .rollingstocklist ul li{padding-right:50px;margin-bottom:50px;}
}
@media screen and (max-width: 1080px) {
  .rollingstock .wide{margin-bottom:30px;}
  .rollingstock .wide p{margin-bottom:10px;}
  .rollingstock .rollingstocklist{margin-bottom:30px;}
  .rollingstock .rollingstocklist ul{margin-right:-30px;margin-bottom:-30px;}
  .rollingstock .rollingstocklist ul li{padding-right:30px;margin-bottom:30px;}
}
@media screen and (max-width: 768px) {
  .rollingstock .rollingstocklist ul{margin-right:-15px;margin-bottom:-15px;}
  .rollingstock .rollingstocklist ul li{padding-right:15px;margin-bottom:15px;}
}


.dl02{display:flex;justify-content:space-between;}
.dl02>dt{width:calc(50% - 20px);}
.dl02>dd{width:calc(50% - 20px);}
.dl02>dd>iframe{width:100%;height:1000px;}
.instit{display:flex;align-items:center;justify-content:center;}
.instit>a{transition:.3s;}
.instit>a>img{margin-left:20px;width:50px;}
.instit>a:hover{opacity:.8;}
@media screen and (max-width: 1520px) {
	.dl02>dd>iframe{height:900px;}
}
@media screen and (max-width: 1080px) {
	.dl02>dd>iframe{height:800px;}
}
@media screen and (max-width: 780px) {
	.dl02{display:block;}
	.dl02>dt{width:100%;}
	.dl02>dd{margin-top:40px;width:100%;}
	.dl02>dd>iframe{height:700px;}
}


.div01{margin-top:20px;display:flex;justify-content:flex-end;}
.div01>a{width:200px;transition:.3s;}
.div01>a:hover{opacity:.7;}
.imgpic{width:120px;}
@media screen and (max-width: 1080px) {
	.div01>a{width:150px;}
	.imgpic{width:100px;}
}


@font-face{
    font-family:'NotoSansJP-Black';
    src:url('font/NotoSansJP-Black.ttf') format('truetype'),
    font-weight:normal;
    font-style:normal;
}
.GothicXBold{font-family:'NotoSansJP-Black';}

.picimg{margin:60px 0 80px;}
.ullist{display:flex;flex-flow:wrap;margin-left:-20px;}
.ullist>li{margin:20px 0 0 20px;padding:10px;display:flex;justify-content:center;align-items:center;width:calc(25% - 20px);font-weight:bold;color:#000;border:1px solid #ccc;font-family: "Noto Serif JP", serif;}
.ullist>li>img{height:40px;}
@media screen and (max-width: 1520px) {
	.picimg{margin:50px 0 70px;}
	.ullist{margin-left:-15px;}
	.ullist>li{margin:15px 0 0 15px;padding:10px;width:calc(25% - 15px);}
	.ullist>li>img{height:36px;}
}
@media screen and (max-width: 1080px) {
	.picimg{margin:40px 0 60px;}
	.ullist{margin-left:-10px;}
	.ullist>li{margin:10px 0 0 10px;padding:10px;width:calc(25% - 10px);}
	.ullist>li>img{height:32px;}
}
@media screen and (max-width: 780px) {
	.picimg{margin:30px 0 40px;}
	.ullist{margin-left:-5px;}
	.ullist>li{margin:5px 0 0 5px;padding:5px;width:calc(50% - 5px);}
	.ullist>li>img{height:28px;}
}