/*
Theme Name: service_renewal_2509
*/
@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('assets/fonts/icomoon/style.css');
@import url('assets/fonts/fontawesome/css/fontawesome.min.css');
@import url('assets/fonts/fontawesome/css/brands.css');
@import url('assets/fonts/fontawesome/css/solid.css');

@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}


@-webkit-keyframes blink_and_move{
  0% {opacity:0;transform:translateY(0.6em);}
  100% {opacity:1;transform:translateY(0);}
}
@-moz-keyframes blink_and_move{
  0% {opacity:0;transform:translateY(0.6em);}
  100% {opacity:1;transform:translateY(0);}
}
@keyframes blink_and_move{
  0% {opacity:0;transform:translateY(0.6em);}
  100% {opacity:1;transform:translateY(0);}
}

@-webkit-keyframes jouge{
    0% {transform: translate(0,-0.2em);}
    10% {transform: translate(0,0);}
    20% {transform: translate(0,-0.2em);}
    100% {transform: translate(0,-0.2em);}
}
@-moz-keyframes jouge{
    0% {transform: translate(0,-0.2em);}
    10% {transform: translate(0,0);}
    20% {transform: translate(0,-0.2em);}
    100% {transform: translate(0,-0.2em);}
}
@keyframes jouge{
    0% {transform: translate(0,-0.2em);}
    10% {transform: translate(0,0);}
    20% {transform: translate(0,-0.2em);}
    100% {transform: translate(0,-0.2em);}
}


@-webkit-keyframes fadeup{
  0% {opacity:0;transform: translate(0,1rem);}
  100% {transform: translate(0,0);}
}
@-moz-keyframes fadeup{
  0% {opacity:0;transform: translate(0,1rem);}
  100% {transform: translate(0,0);}
}
@keyframes fadeup{
  0% {opacity:0;transform: translate(0,1rem);}
  100% {transform: translate(0,0);}
}
.fadeupAnime {
  -webkit-animation-fill-mode:both;
  -ms-animation-fill-mode:both;
  animation-fill-mode:both;
  -webkit-animation-duration:1.5s;
  -ms-animation-duration:1.5s;
  animation-duration:1.5s;
  -webkit-animation-name: fadeup;
  -ms-animation-name: fadeup;
  animation-name: fadeup;
  visibility: visible !important;
 }


@-webkit-keyframes fadeleft{
  0% {opacity:0;transform: translate(-3em,0);}
  100% {transform: translate(0,0);}
}
@-moz-keyframes fadeleft{
  0% {opacity:0;transform: translate(-3em,0);}
  100% {transform: translate(0,0);}
}
@keyframes fadeleft{
  0% {opacity:0;transform: translate(-3em,0);}
  100% {transform: translate(0,0);}
}
.fadeleftAnime {
  -webkit-animation-fill-mode:both;
  -ms-animation-fill-mode:both;
  animation-fill-mode:both;
  -webkit-animation-duration:1.5s;
  -ms-animation-duration:1.5s;
  animation-duration:1.5s;
  -webkit-animation-name: fadeleft;
  -ms-animation-name: fadeleft;
  animation-name: fadeleft;
  visibility: visible !important;
 }

 
@-webkit-keyframes faderight{
  0% {opacity:0;transform: translate(3em,0);}
  100% {transform: translate(0,0);}
}
@-moz-keyframes faderight{
  0% {opacity:0;transform: translate(3em,0);}
  100% {transform: translate(0,0);}
}
@keyframes faderight{
  0% {opacity:0;transform: translate(3em,0);}
  100% {transform: translate(0,0);}
}
.faderightAnime {
  -webkit-animation-fill-mode:both;
  -ms-animation-fill-mode:both;
  animation-fill-mode:both;
  -webkit-animation-duration:1.5s;
  -ms-animation-duration:1.5s;
  animation-duration:1.5s;
  -webkit-animation-name: faderight;
  -ms-animation-name: faderight;
  animation-name: faderight;
  visibility: visible !important;
 }


.noto{
    font-family: 'Noto Sans JP', "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.lato{
    font-family: 'Lato', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.roboto{
    font-family: 'Roboto', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.yugo{
    font-family: "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.yumin{
    font-family: "Yu Mincho", "游明朝体", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}


[class^="icon-"], [class*=" icon-"]{
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
  
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
  }
  

/*Reset CSS*/
html,body{
    width:100%;
    height:100%;
    -webkit-text-size-adjust: 100%;
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
    color:#000;
    font-style: inherit;
    /*font-weight: inherit;*/
    font-weight:400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
    /*scroll-behavior: smooth;*/
    text-rendering: optimizeSpeed;
    font-family: 'Noto Sans JP', "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

*{
    font-family: inherit;
    box-sizing:border-box;
}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,i,
dl, dt, dd, ol, ul, li, li li,
fieldset, form, label, legend,
header,footer,main,menu,aside,
table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
:focus {/* emember to define focus styles! */
  outline: 0;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
table {/* tables still need 'cellspacing="0"' in the markup */
  border-collapse: collapse;
  border-spacing: 0;
}
caption, th, td {
  font-weight: inherit;
  text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: "" "";
}
a,
button,
input[type="submit"],
label,
a::before,
button::before,
label::before{
    -webkit-transition-property:opacity,border,color,left,right,text-decoration,background,box-shadow,transform;
    -webkit-transition-duration:0.2s;
    -webkit-transition-timing-function:ease;
    -moz-transition-property:opacity,border,color,left,right,text-decoration,background,box-shadow,transform;
    -moz-transition-duration:0.2s;
    -moz-transition-timing-function:ease;
    -o-transition-property:opacity,border,color,left,right,text-decoration,background,box-shadow,transform;
    -o-transition-duration:0.2s;
    -o-transition-timing-function:ease;
    transition-property:opacity,border,color,left,right,text-decoration,background,box-shadow,transform;
    transition-duration:0.2s;
    transition-timing-function:ease;
}
img{
  image-rendering: -webkit-optimize-contrast;
}
a img {
  border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

.floatleft{
  float:left!important;
}
.floatright{
  float:right!important;
}
.textcenter,
.aligncenter{
  text-align:center!important;
}

.aligncenter{
    display:block;
    margin-left:auto;
    margin-right:auto;
}

.hide{
  display:none;
}

.alignright{
  text-align:right!important;
}
.alignleft{
  text-align:left!important;
}


.yellow_bk{
    background:linear-gradient(transparent 50%, #fffcbb 50%);
}
.hidden{
    visibility: hidden!important;
}
.visible{
    visibility: visible!important;
}
.black{
  font-weight:900!important;
}
.bold{
  font-weight:700!important;
}
.lighter{
  font-weight:300!important;
}
.lightbox{
  display:none;
}
.block{
  display:block;
}
.inline{
  display:inline;
}

.keikou{
    background: linear-gradient(transparent 60%, rgba(0, 141, 223, 0.2) 0%);
}

.ruby{
    display:inline-block;
    font-style:normal;
    font-size:0.5em;
    width:1em;
    height:1em;
    line-height:1em;
    position:relative;
    top:-1em;
}
.dots > span{
  display:inline-block;
  position:relative;
}
.dots > span::before{
  content:"";
  width:1em;
  height:1em;
  border-radius:100%;
  transform:scale(0.22);
  background:var(--green1);
  position:absolute;
  left:0;
  right:0;
  top:-0.4em;
  margin:auto;
}

.underline{
    text-decoration:underline;
}
.center{
  text-align:center;
}

.clearfix:after{
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix{display: inline-table;}

/* Hides from IE-mac \*/
* html .clearfix{height: 1%;}
.clearfix{display: block;}
/* End hide from IE-mac */




.pc_inline{
    display:inline!important;
}
.pc_block{
    display:block!important;
}
.pc_inlineblock{
    display:inline-block!important;
}
.pc_listitem{
    display:list-item!important;
}
.pc_flex{
    display:flex!important;
}
.smp_inline{
  display:none!important;
}
.smp_block{
  display:none!important;
}
.smp_inlineblock{
  display:none!important;
}
.smp_listitem{
  display:none!important;
}
.smp_flex{
  display:none!important;
}

input[type="text"],
input[type="search"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    box-sizing: border-box;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}
input[type="checkbox"],
input[type="radio"]{
  font: inherit;
  width:1em;
  height:1em;
}
textarea,
select{
  font: inherit;
}

input:placeholder-shown {
    color: #bbb;
}
input::-webkit-input-placeholder {
    color: #bbb;
}
input:-moz-placeholder {
    color: #bbb; opacity: 1;
}
input::-moz-placeholder {
    color: #bbb; opacity: 1;
}
input:-ms-input-placeholder {
    color: #bbb;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
button{
  font-size:inherit;
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/*iPad, iPhone6s, iPhone6*/
@media screen and (max-width: 768px){
    .smp_inline{
        display:inline!important;
    }
    .smp_block{
        display:block!important;
    }
    .smp_inlineblock{
        display:inline-block!important;
    }
    .smp_listitem{
        display:list-item!important;
    }
    .smp_flex{
        display:flex!important;
    }
    .pc_inline{
        display:none!important;
    }
    .pc_block{
        display:none!important;
    }
    .pc_inlineblock{
        display:none!important;
    }
    .pc_listitem{
        display:none!important;
    }
    .pc_flex{
        display:none!important;
    }
}

/*カスタマイズスタート*/

:root {
  --black:#363535;
  --green1:#76B2B7;
  --green2:#8DC3C7;
  --green3:#A0D3D6;
  --green4: #5BAC87;
  --blue1: #77A2B8;
  --red1:#D55D71;
  --red2:#EE7E90;
  --red3:#DF8A98;
  --gray1:#F6F3ED;
  --gray2:#F9F7F4;
  --gray3:#F6F6F6;
  --link:#64a2bf;

  --maincolor:var(--green1);
  --subcolor:var(--red1);
  
  --main-width: 1200px;
  --sub-width: 1100px;
  --narrow-width: 1000px;
  --modal-width: 800px;
  --main-font-weight: 400;
  --sub-font-weight:300;
}

.green,.maincolor{
    color:var(--green1);
}
.red,.subcolor,.accent{
    color:var(--red1);
}
.white{
    color:#fff;
}

.green_back{
  background:var(--green1);
}
.cream_back{
  background:var(--gray1);
}
.beige_back{
  background:var(--gray2);
}
.gray_back{
  background:var(--gray3);
}
.white_back{
  background:#fff;
}

.has-black-color{
  color: var(--black);
}
.has-white-color{
  color:#fff;
}
.has-green-color{
  color:var(--green1);
}
.has-red-color{
  color:var(--red1);
}
.has-beige-color{
  color:var(--gray1);
}
.has-cream-color{
  color:var(--gray2);
}
.has-gray-color{
  color:var(--gray3);
}
.has-link_blue-color{
  color: var(--link);
}

img{
  -webkit-transition-property:transform;
  -webkit-transition-duration:0.4s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:transform;
  -moz-transition-duration:0.4s;
  -moz-transition-timing-function:ease;
  -o-transition-property:transform;
  -o-transition-duration:0.4s;
  -o-transition-timing-function:ease;
  transition-property:transform;
  transition-duration:0.4s;
  transition-timing-function:ease;
  image-rendering: -webkit-optimize-contrast;
}

a{
  color:inherit;
  text-decoration:none;
}
a:hover{
  opacity:0.7;
}

html,body{
	font-size:16px;
	color:var(--black);
  font-weight:var(--main-font-weight);
	letter-spacing:0.03em;
  background:var(--main-background);
}
html.smooth_off,
html.smooth_off body
html.lity-active,
html.lity-active body{
  scroll-behavior: unset;
}

.button_m{
  display: inline-flex;
  line-height:3em;
  padding:0 2.5em;
  border-radius:3em;
  color:var(--green1);
  border:0.2em solid var(--green1);
  font-weight:700;
  cursor:pointer;
}
.button_m.hide{
  display:none;
}
.button_m.button_red{
  color:#fff;
  border-color:var(--red3);
  background:var(--red1);
}
.button_m.button_white{
  background:#fff;
  border:0.2em solid var(--green1);
}
.button_m.button_white2{
  background:#fff;
  border:0.2em solid var(--green2);
}
.button_m.button_green{
  color:#fff;
  border-color:var(--green3);
  background:var(--green1);
}

.button_m.medium{
  font-size:1.2em;
}
.button_m.large{
  font-size:1.4em;
}
.button_m:hover{
  opacity:0.8;
}

header{
  background:#fff;
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0.8em;
  position:fixed;
  left:0;
  top:0;
  -webkit-transition-property:background;
  -webkit-transition-duration:0.3s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:background;
  -moz-transition-duration:0.3s;
  -moz-transition-timing-function:ease;
  -o-transition-property:background;
  -o-transition-duration:0.3s;
  -o-transition-timing-function:ease;
  transition-property:background;
  transition-duration:0.3s;
  transition-timing-function:ease;
  z-index:100;
}
header .logo{
  width:12em;
}
header .logo a,
header .logo a img{
  width:100%;
  height:auto;
}

header menu{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:0.6em;
}
header menu .page_menu{
  display:flex;
  align-items:center;
  font-size:0.92em;
}
header menu .page_menu li:not(:last-child){
  border-right:1px solid #ddd;
}
header menu .page_menu li a{
  display:inline-block;
  padding:0 1.4em;
  font-weight:600;
}
header menu .inquiry_menu{
  display:flex;  
  align-items:center;
  gap:0.6em;
}

header menu .inquiry_menu .button_m{
  line-height:2.2em;
  border-radius:2.2em;
  padding:0 1.5em;
}

header menu .inquiry_menu .login_button,
header menu .inquiry_menu .logout_button{
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:0.3em;
  color:var(--green1);
  margin:0 0.6em;
}

header menu .inquiry_menu .login_button::before{
  content:"\e914";
  font-family:icomoon;
  font-size:1.2em;
  font-weight:200;
}
header menu .inquiry_menu .logout_button::before{
  content:"\e915";
  font-family:icomoon;
  font-size:1.2em;
  font-weight:200;
}
header menu .inquiry_menu .login_button:hover,
header menu .inquiry_menu .logout_button:hover{
  opacity:0.8;
}

header menu .page_menu li a,
header menu .inquiry_menu .login_button,
header menu .inquiry_menu .logout_button{
  -webkit-transition-property:color,text-shadow;
  -webkit-transition-duration:0.2s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:color,text-shadow;
  -moz-transition-duration:0.2s;
  -moz-transition-timing-function:ease;
  -o-transition-property:color,text-shadow;
  -o-transition-duration:0.2s;
  -o-transition-timing-function:ease;
  transition-property:color,text-shadow;
  transition-duration:0.2s;
  transition-timing-function:ease;
}

header.oneyecatch{
  background:transparent;
}
header.oneyecatch .page_menu li a,
header.oneyecatch menu .inquiry_menu .login_button,
header.oneyecatch menu .inquiry_menu .logout_button{
  color:#fff;
  text-shadow:0 0 0.4em rgba(0,0,0,0.1);
}

header > .login_button,
header > .logout_button{
  display:none;
}

body:not(.home) main{
  padding-top:4.5em;
}

#eyecatch{
  background-image:url(assets/images/eyecatch_back5.jpg);
  background-position:50% 50%;
  background-size:cover;
  color:#fff;
  position:relative;
  animation: 1s ease 0s 1 normal none running background_move;
  padding-bottom:3em;
}



@-webkit-keyframes background_move{
  0% {background-position:50% calc(50% - 0.4em);}
  100% {background-position:50% 50%;}
}
@-moz-keyframes background_move{
  0% {background-position:50% calc(50% - 0.4em);}
  100% {background-position:50% 50%;}
}
@keyframes background_move{
  0% {background-position:50% calc(50% - 0.4em);}
  100% {background-position:50% 50%;}
}
#eyecatch::before{
  content:"";
  width:100%;
  height:50%;
  position:absolute;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2d2b28+0,2d2b28+100&0+0,1+100 */
  background: linear-gradient(to bottom,  rgba(45,43,40,0) 0%,rgba(45,43,40,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  left:0;
  bottom:0;
  opacity:0.5;
}
#eyecatch > .inner{
  /*background:rgba(0,0,0,0.03);*/
  background:rgba(40,69,78,0);
  animation: 2s ease 0s 1 normal none running background_fade;
  position:relative;
  z-index:1;
}
@-webkit-keyframes background_fade{
  0% {background:rgba(255,255,255,0.7)}
  /*100% {background:rgba(40,69,78,0.1)}*/
  100% {background:rgba(40,69,78,0)}
}
@-moz-keyframes background_fade{
  0% {background:rgba(255,255,255,0.7)}
  /*100% {background:rgba(40,69,78,0.1)}*/
  100% {background:rgba(40,69,78,0)}
}
@keyframes background_fade{
  0% {background:rgba(255,255,255,0.7)}
  /*100% {background:rgba(40,69,78,0.1)}*/
  100% {background:rgba(40,69,78,0)}
}
#eyecatch .catchcopy{
  display:flex;
  flex-direction: column;
  align-items:center;
  padding:16em 0 8em;
  gap:3em;
  opacity:1;
  position:relative;
}
@-webkit-keyframes fadein{
  0% {opacity:0;}
  30% {opacity:0;}
  100% {opacity:1}
}
@-moz-keyframes fadein{
  0% {opacity:0;}
  30% {opacity:0;}
  100% {opacity:1}
}
@keyframes fadein{
  0% {opacity:0;}
  30% {opacity:0;}
  100% {opacity:1}
}
@-webkit-keyframes fadein2{
  0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1}
}
@-moz-keyframes fadein2{
  0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1}
}
@keyframes fadein2{
  0% {opacity:0;}
  50% {opacity:0;}
  100% {opacity:1}
}


#eyecatch big{
  font-size:2.7em;
  line-height:1.6em;
  font-weight:700;
  text-align:center;
  letter-spacing:0.075em;
  text-shadow:0 0 0.3em rgba(0,0,0,0.15);
  animation: 2s ease 0s 1 normal none running fadein;
}
#eyecatch .catchcopy big .tb_inline{
  display:none;
}

#eyecatch small{
  display:block;
  letter-spacing:0.2em;
  font-size:1em;
  font-weight:600;
  margin-bottom:1.4em;
  text-shadow:0 0 0.3em rgba(0,0,0,0.15);
  animation: 2s ease 0s 1 normal none running fadein;
}

#eyecatch .inquiry_menu{
  display:flex;
  align-items:center;
  gap:1em;
  animation: 1.8s ease 0s 1 normal none running fadein;
}
#eyecatch .inquiry_menu .button_m,
.inquiry_box .inner .inquiry_menu .button_m{
  font-size:1.3em;
  min-width: 17.5em;
  justify-content: center;
  padding: 0 1.5em;
}
#eyecatch .v_catch{
  height:90%;
  width:auto;
  position:absolute;
  right:5em;
  top:7em;
  filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));
  animation: 1.5s ease 0s 1 normal none running v_catch_move;
}
#eyecatch .v_catch_smp{
  display:none;
}

@-webkit-keyframes v_catch_move{
  0% {opacity:0.5;top:6em;filter: unset;}
  100% {opacity:1;top:7em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
}
@-moz-keyframes v_catch_move{
  0% {opacity:0.5;top:6em;filter: unset;}
  100% {opacity:1;top:7em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
}
@keyframes v_catch_move{
  0% {opacity:0.5;top:6em;filter: unset;}
  100% {opacity:1;top:7em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
}

main section:not(#eyecatch,#aboutus){
  padding:5.5em 0;
}
main section:not(#eyecatch) > .inner{
  max-width:92%;
  margin:0 auto;
  position:relative;
  z-index:1;
}
main #sidebar section{
  padding:0;
}
#sidebar_wrapper{
  width:23.375em;
}



#aboutus .trouble{
  padding:4em 0;
  position:relative;
  text-align:center;
}
#aboutus .trouble::after{
  content:"";
  font-size:3em;
  border-top:1em solid var(--green1);
  border-left:1.4em solid transparent;
  border-right:1.4em solid transparent;
  width:0;
  height:0;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(-1em + 1px);
}

#aboutus .trouble h2{
  font-size:2.6em;
  line-height:1.7em;
  font-weight:600;
  letter-spacing:0.1em;
  margin-bottom:0.2em;
}
#aboutus .trouble h2 span{
  display:inline-block;
  border-bottom:2px solid #fff;
  padding-bottom:0.2em;
}
#aboutus .trouble h3{
  font-size:1.9em;
  line-height:1.7em;
  font-weight:600;
  letter-spacing:0.1em;
  margin-bottom:1em;
}
#aboutus .trouble ul{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width: var(--main-width);
  max-width:92%;
  margin:0 auto;
}
#aboutus .trouble ul > li{
  width:23.5%;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction: column;
  padding:1em;
  border-radius:1em;
  border-bottom-left-radius: 0;
}
#aboutus .trouble ul > li .fukidashi{
  width:4.4em;
  margin:0 auto;
}
#aboutus .trouble ul > li .image{
  width:50%;
  margin:0 auto 0.3em;
}
#aboutus .trouble ul > li span{
  display:block;
  font-weight:700;
  font-size:1.2em;
  line-height:1.4em;
}

#aboutus .solution{
  padding:4em 0 0;
  text-align:center;
}
#aboutus .solution .inner{
  width:var(--main-width);
  max-width:92%;
  padding:2em 1em 3em;
  border-radius:3em;
  background:#fff;
  margin:0 auto;
}
#aboutus .solution h2{
  font-size:2.6em;
  line-height:1.85em;
  font-weight:700;
  letter-spacing:0.1em;
  margin-bottom:0.5em;
  text-align:center;
}

#aboutus .solution h2 .lightbulb{
  display:block;
  width:1.4em;
  margin:0 auto 0.2em;
}


#aboutus .solution .fukidashi{
  display:block;
  width:30em;
  margin:0 auto 0.3em;
  -webkit-animation: jouge 1s linear infinite alternate;
  -moz-animation: jouge 1s linear infinite alternate;
  animation: jouge 1s linear infinite alternate;
}
#aboutus .solution .button_m{
  font-size:1.6em;
}

.heading_main{
  text-align:center;
  font-size:2.5em;
  font-weight:700;
  margin:0 auto 1.4em;
}
.heading_main span{
  display:block;
  line-height:1.4em;
}
.heading_main small{
  display:inline-block;
  font-size:0.45em;
  position:relative;
  line-height:1.4em;
  padding:0.8em 0.5em 0;
  margin-top:0.6em;
}
.heading_main small::before{
  content:"";
  width:100%;
  height:0.3em;
  border-radius:0.3em;
  background:var(--green1);
  position:absolute;
  left:0;
  top:0;
}

.heading{
  text-align:center;
  font-size:2.2em;
  font-weight:700;
  margin:0 auto 2em;
}
.heading span{
  display:block;
  line-height:1.4em;
  position:relative;
}
.heading span::after{
  content:"";
  display:block;
  width:5em;
  font-size:0.45em;
  height:0.3em;
  border-radius:0.3em;
  background:var(--green1);
  margin:1em auto 0;
}

.heading_small{
  text-align:center;
  font-size:1.85em;
  font-weight:700;
  margin:0 auto 1.2em;
}


.heading_desc{
  font-size:1.3em;
  font-weight:700;
  margin-top:-1.2em;
  margin-bottom:2em;
  line-height:1.7em;
}

#reason .inner{
  width: var(--sub-width);
  margin:0 auto;
  max-width:100%!important;
}

#reason .flex{
  display:flex;
  flex-direction:column;
  gap:6em;
  max-width:92%;
  margin:0 auto;
}
#reason .flex .box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
}
#reason .flex .box .text{
  width:56%;
  position:relative;
  z-index:1;
}

#reason .flex .box .text > .image{
  display:none;
}

#reason .flex .box > .image{
  width:calc(44% - 4em);
  position:relative;
  z-index:1;
}
#reason .flex .box > .image img{
  width:100%;
}
#reason .flex .box:nth-child(even) .text{
  order:2;
}
#reason .flex .box:nth-child(even) .image{
  order:1;
}

#reason .flex .box .text > *{
  position:relative;
  z-index:1;
}

#reason .flex .box .text h3::before{
  content:attr(data-num);
  font-family: 'Roboto', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  display:block;
  font-size:1.6em;
  line-height:1em;
  font-weight:700;
  color:var(--green1);
}
#reason .flex .box .text h3{
  font-weight:700;
  font-size:2.2em;
  line-height:1.4em;
  margin-bottom:0.6em;
}
#reason .flex .box .text h3 big{
  display:block;
  font-weight:800;
  font-size:2em;
  line-height:1.1em;
  margin-bottom:0.15em;
}
#reason .flex .box .text p{
  font-size:1.1em;
  line-height:1.7em;
  font-weight:500;
}

#reason .flex .box .text::before,
#reason .flex .box .text::after{
  content:"";
  position:absolute;
  z-index:0;
  border-radius:100%;
  width:30em;
  height:30em;
}

#reason .flex .box .text::before{
  background: var(--green3);
  opacity:0.3;
}
#reason .flex .box .text::after{
  background:#E8E8E8;
  opacity:0.4;
}


#reason .flex .box:nth-child(1) .text::before{
  font-size:0.7em;
  left:-16em;
  top:-14em;
}
#reason .flex .box:nth-child(1) .text::after{
  font-size:1em;
  left:0em;
  top:-7em;
}
#reason .flex .box:nth-child(2) .text::before{
  font-size:0.85em;
  left:-1em;
  top:-2em;
}
#reason .flex .box:nth-child(2) .text::after{
  font-size:0.6em;
  left:32em;
  top:-10em;
}
#reason .flex .box:nth-child(3) .text::before{
  font-size:0.7em;
  left:80em;
  top:14em;
}
#reason .flex .box:nth-child(3) .text::after{
  font-size:1em;
  left:-8em;
  top:-5em;
}

#reason .flex .box:nth-child(1) .image img{
  transform:scale(1.1);
}


.inquiry_box{
  padding:4.5em 0;
  text-align:center;
  position:relative;
  z-index:1;
}
.inquiry_box .inner{
  width: var(--main-width);
  max-width:92%;
  margin:0 auto;
}
.inquiry_box .inner p{
  font-weight:700;
  font-size:1.4em;
  letter-spacing:0.12em;
  margin-bottom:1.5em;
  color:#fff;
}
.inquiry_box .inner .inquiry_menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1em;
}

#page_inquiry .satori_wrapeer{
  width:var(--narrow-width);
  background:#fff;
  margin:0 auto;
  padding:3em;
  border-radius:1.5em;
}


#footer_desc{
  background-image:url(assets/images/eyecatch_back5.jpg);
  background-position:50% calc(50% + 6em);
  background-size:cover;
  background-repeat:no-repeat;
  color:#fff;
  position:relative;
  padding:4em 0;
  text-align:center;
}
#footer_desc .inner{
  position:relative;
  z-index:1;
  width:var(--main-width);
  max-width:92%;
  margin:0 auto;
}
#footer_desc::before,
#footer_desc::after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
}

#footer_desc::before{
  background:rgba(104, 104, 104,0.3);
  mix-blend-mode:color;
}
#footer_desc::after{
  background:rgba(75, 104, 102, 0.6);
  mix-blend-mode: multiply;
}

#footer_desc .logo{
  display:inline-block;
  width:14em;
  margin-bottom:1em;
}
#footer_desc .logo img{
  width:100%;
}
#footer_desc div{
  font-size:1.1em;
  line-height:1.8em;
  font-weight:500;
}
#footer_desc div small{
  display:block;
  font-size:0.7em;
  font-weight:400;
  margin-top:0.3em;
}

#footer_index{
  background:#2A2A2A;
  color:#fff;
  position:relative;
  padding:3em 0 0;
  text-align:center;
}
#footer_index .inner{
  position:relative;
  z-index:1;
  width:var(--main-width);
  max-width:92%;
  margin:0 auto;
}

#footer_index .inner .flex{
  display:flex;
  justify-content:space-between;
  gap:1em;
  align-items:flex-start;
  padding:0 0 3em;
}

#footer_index .inner .flex dl{
  text-align:left;
}
#footer_index .inner .flex dl dt{
  font-weight:700;
  margin-bottom:1em;
  font-size:1.1em;
}
#footer_index .inner .flex dl dd ul{
  display:flex;
  flex-direction: column;
  font-size:0.9em;
  gap:0.9em;
}
#footer_index .inner .flex dl dd ul li{
  line-height:1.5em;
}
#footer_index .inner .flex dl dd ul li a{
  color:#fff;
  position:relative;
  padding-left:1.3em;
  display:inline-block;
}
#footer_index .inner .flex dl dd ul li a:hover{
  text-decoration:underline;
}
#footer_index .inner .flex dl dd ul li a::before{
  content:"";
  display:inline-block;
  border-top:1px solid #fff;
  width:1.1em;
  height:0;
  position:absolute;
  left:0;
  top:0.7em;
}

#footer_index .copyright{
  padding:0.4em 0.8em;
  color:var(--green2);
  text-align:right;
  font-size:0.8em;
}

.swiper-outer{
  width:100%;
  position:relative;
  margin:0 auto 3em;
}

.swiper-outer .swiper_prev,
.swiper-outer .swiper_next{
  height:100%;
  width:7em;
  position:absolute;
  top:0;
  overflow:hidden;
}
.swiper-outer .swiper_prev::before,
.swiper-outer .swiper_next::before{
  content:"\e904";
  font-family:icomoon;
  color:var(--green1);
  transform:scale(8);
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
}
.swiper-outer .swiper_prev::before{
  transform:scale(-8,8);
}
.swiper-outer .swiper_prev{
  left:0;
}
.swiper-outer .swiper_next{
  right:0;
}
.swiper-outer .swiper_prev:hover,
.swiper-outer .swiper_next:hover{
  opacity:0.7;
}

.swiper-container{
  width:calc(100% - 16em);
  margin:0 auto;
  
}

.list_wrapper{
  width:calc(100% - 16em);
  margin:0 auto;
  display:flex;
}

.casestudy_list li{
  padding:0 1em;
}
.casestudy_list li .inner{
  display:block;
  overflow:hidden;
  border-radius:0.8em;
  background:#fff;
  height:100%;
  display:flex;
  flex-direction: column;
}
.casestudy_list li .thumb{
  display:block;
  width:100%;
  height:0;
  padding-top:66.6666%;
  position:relative;
  overflow:hidden;
}
.casestudy_list li .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit: cover;
  z-index:0;
}

.casestudy_list li .meta{
  position:absolute;
  left:0;
  bottom:0;
  z-index:1;
  padding:0.5em;
  display:flex;
  font-size:0.8em;
  gap:0.5em;
}

.casestudy_list li .meta .area{
  background:#5E5D59;
  border:1px solid #5E5D59;
  color:#fff;
  border-radius:0.3em;
  line-height:1.6em;
  padding:0 0.4em;
}
.casestudy_list li .meta .staffNum{
  background:#fff;
  border:1px solid #5E5D59;
  color:#5E5D59;
  border-radius:0.3em;
  line-height:1.6em;
  padding:0 0.4em;
  font-weight:500;
}
.casestudy_list li .info{
  margin:0 auto;
  padding:0.6em 0.85em 1.2em;
  color:var(--black);
  display:flex;
  flex-direction: column;
  height:100%;
}
.casestudy_list li .info em{
  display:block;
  font-size:0.85em;
  margin-bottom:0.3em;
  font-weight:500;
  line-height:1.4em;
}
.casestudy_list li .info strong{
  display:block;
  font-weight:800;
  line-height:1.4em;
  margin-bottom:0.5em;
}
.casestudy_list li .info .media_wrapper{
  border-top:1px solid #ddd;
  padding-top:0.5em;
  margin-bottom:0.6em;
  display:flex;
  flex-wrap:wrap;
  gap:0.6em;
}
.casestudy_list li .info .media_wrapper .media{
  color:var(--green1);
  font-size:0.8em;
}

.casestudy_list li .info .to_single{
  display:block;
  font-size:0.9em;
  font-weight:700;
  text-align:right;
  margin-top:auto;
}
.casestudy_list li .info .to_single::before{
  content:"\e90a";
  font-family:icomoon;
  display:inline-block;
  vertical-align:middle;
  font-size:1.15em;
  margin-right:0.05em;
  color:var(--green1);
  font-weight:200;
}
#eyecatch #casestudy{
  position:relative;
  bottom:0;
  animation: 1s ease 0s 1 normal none running casestudy_move;
}
@-webkit-keyframes casestudy_move{
  0% {opacity:0;bottom:-1em;}
  100% {opacity:1;bottom:0;}
}
@-moz-keyframes casestudy_move{
  0% {opacity:0;bottom:-1em;}
  100% {opacity:1;bottom:0;}
}
@keyframes casestudy_move{
  0% {opacity:0;bottom:-1em;}
  100% {opacity:1;bottom:0;}
}


#eyecatch .casestudy_list li{
  padding:0 0.6em;
}
#eyecatch .casestudy_list li .inner{
  display:flex;
  flex-direction: row;
  border-radius: 1.2em;
  border-end-start-radius: 0;
}
#eyecatch .casestudy_list li .inner:hover{
  opacity:0.9;
  transform:scale(1.03);
  transform-origin: center top;
}
#eyecatch .casestudy_list li .thumb{
  width:50%;
  padding-top:33.3333%;
}
#eyecatch .casestudy_list li .info{
  width:50%;
  padding:0.8em 0.85em 0.8em;
  display:flex;
  flex-direction: column;
}
#eyecatch .casestudy_list li .info em {
  font-size: 0.8em;
  font-weight: 400;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
#eyecatch .casestudy_list li .info strong{
  font-size: 0.94em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
#eyecatch .casestudy_list li .info .media_wrapper{
  display:block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: var(--green1);
  padding-top: 0.35em;
}
#eyecatch .casestudy_list li .info .media_wrapper > .media:not(last-child){
  margin-right:0.3em;
}

#eyecatch .casestudy_list li .info .to_single{
  font-size:0.84em;
  margin-top:auto;
}



.swiper_pagination{
  margin-top:3em;
}
.swiper_pagination.swiper-pagination-bullets{
  display:flex;
  font-size:0.9em;
  gap:1.2em;
  justify-content:center;
}

.swiper_pagination.swiper-pagination-bullets .swiper-pagination-bullet{
  margin:0;
}
.swiper-pagination-bullet {
  width:1em;
  height:1em;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--green1);
}

#eyecatch .swiper_pagination{
  margin-top:2.5em;
}
#eyecatch .swiper_pagination.swiper-pagination-bullets{
  font-size:0.85em;
  gap:1.2em;
}
#eyecatch .swiper-pagination-bullet{
  background: #fff;
  opacity: .5;
}
#eyecatch .swiper-pagination-bullet-active {
  opacity: 1;
  background:var(--green1);
}

.home #columns #eyecatch .swiper_pagination{
  margin-top:2.5em;
}
.home #columns .swiper_pagination.swiper-pagination-bullets{
  font-size:0.85em;
  gap:1.2em;
}


.readmore{
  display:inline-flex;
  justify-content:center;
  gap:0.3em;
  font-weight:700;
  font-size:1.1em;
  padding:2em 1.4em 0 1em;
  position:relative;
}
.readmore::before{
  content:"\e90a";
  font-family:icomoon;
  display:inline-block;
  vertical-align:middle;
  font-size:1.15em;
  color:var(--green1);
  font-weight:200;

}
.readmore::after{
  display:block;
  content:"MORE!";
  text-align:left;
  color:var(--green1);
  font-size:0.8em;
  height:1.6em;
  font-weight:700;
  font-family: 'Lato', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  width:100%;
  background-image:url(assets/images/more_parts.svg);
  background-size:cover;
  background-position:right bottom;
  background-repeat:no-repeat;
  position:absolute;
  left:0;
  top:0;
}
.readmore_small{
  display:inline-flex;
  justify-content:center;
  gap:0.3em;
  font-weight:700;
  font-size:1.1em;
  position:relative;
}
.readmore_small.white{
  color:#fff;
}
.readmore_small::after{
  content:"\e90a";
  font-family:icomoon;
  display:inline-block;
  vertical-align:middle;
  font-size:1.15em;
  color:var(--green1);
  font-weight:200;
}
.readmore_small.white::after{
  color:#fff;
}

.section_desc{
  text-align:center;
  font-size:1.1em;
  line-height:1.8em;
  margin-bottom:2em;
  font-weight:500;
}

.ornament{
  position:relative;
  overflow:hidden;
}
.ornament::before,
.ornament::after{
  content:"";
  font-size:20em;
  background-image:url(assets/images/heading_icon.svg);
  background-size:contain;
  background-position:center center;
  background-repeat:no-repeat;
  width:1em;
  height:1em;
  position:absolute;
  opacity:0.3;
  z-index:0;
}
.ornament::before{
  right:-0.2em;
  top:0.1em;
}
.ornament::after{
  left:-0.2em;
  bottom:0.1em;
}



#plans figure{
  margin: 0 auto 1em;
}
#plans figure img{
  display:block;
  width:24em;
  max-width:100%;
  margin: 0 auto 0.6em;
}

#plans figcaption{
  font-size:1.1em;
  line-height:1.4em;
  text-align:center;
  font-weight:700;
}
#plans .price{
  color: var(--green1);
  font-weight:700;
  text-align:center;
  font-size:1.6em;
  margin-bottom:1.3em;
}
#plans .price big{
  font-size:2.4em;
  vertical-align:bottom;
  position:relative;
  bottom:-0.15em;
}


#whatwecando .media_list{
  display:flex;
  justify-content:center;
  gap:1.2em;
  flex-wrap:wrap;
  margin-bottom:3em;
}
#whatwecando .media_list li{
  background:#fff;
  color: var(--green1);
  font-weight:600;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  width:11em;
  height:11em;
  border-radius:100%;
}
#whatwecando .media_list li::after{
  content:"";
  font-family:icomoon;
  font-size:5em;
  display:block;
  font-weight:200;
}
#whatwecando .media_list li.book::after{
  content:"\e906";
}
#whatwecando .media_list li.jobposting::after{
  content:"\e903";
}
#whatwecando .media_list li.web::after{
  content:"\e90c";
}
#whatwecando .media_list li.camsta::after{
  content:"\e910";
}
#whatwecando .media_list li.event::after{
  content:"\e90d";
}
#whatwecando .media_list li.interview::after{
  content:"\e90f";
}
#whatwecando .media_list li.dummy{
  display:none;
}
#whatwecando .media_list li span{
  font-size:1em;
  line-height:1.4em;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  text-align:center;
}



.post_list li{
  padding:0 0.6em;
}
.post_list li .inner{
  display:flex;
  overflow:hidden;
  background:#fff;
  height:100%;
  flex-wrap:wrap;
  padding:1em;
  border-radius:1.2em;
  border-bottom-left-radius: 0;
}
.post_list li .thumb{
  display:block;
  width:35%;
  height:0;
  padding-top:23.3333%;
  position:relative;
  overflow:hidden;
}
.post_list li .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit: cover;
  z-index:0;
}

.post_list li .info{
  width:65%;
  margin:0 auto;
  padding:0 0 0 0.6em;
}


#archive_column .post_list li .thumb{
  width:7.4em;
  padding-top:4.9333em;
}
#archive_column .post_list li .info{
  width:calc(100% - 7.4em);
}


.post_list li .info time{
  font-size:0.84em;
  display:block;
  margin-bottom:0.2em;
}
.post_list li .info strong{
  display:block;
  font-size:0.96em;
  font-weight:700;
  line-height:1.4em;
  margin-bottom:0.5em;
  color: var(--green1);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.post_list li .detail{
  width:100%;
  display:flex;
  flex-direction: column;
}
.post_list li .detail > p{
  font-size:0.8em;
  line-height:1.6em;
  font-weight:400;
  margin:0.2em 0 0.8em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.post_list li .detail .category_wrapper{
  border-top:1px solid #ddd;
  padding-top:0.5em;
  margin-bottom:0.4em;
  display:flex;
  flex-wrap:wrap;
  gap:0.6em;
}
.post_list li .detail .category_wrapper .category{
  color:var(--green1);
  font-size:0.8em;
}

.post_list li .detail .to_single{
  display:block;
  font-size:0.9em;
  font-weight:700;
  text-align:right;
  margin-top:auto;
}
.post_list li .detail .to_single::before{
  content:"\e90a";
  font-family:icomoon;
  display:inline-block;
  vertical-align:middle;
  font-size:1.15em;
  margin-right:0.05em;
  color:var(--green1);
  font-weight:200;
}



.document_list,.casestudy_list,.post_list{
  align-items:stretch;
}
.document_list > li,.casestudy_list > li,.post_list > li{
  height:unset;
}


#archive_document .document_list{
  display:flex;
  gap:2em 0;
  flex-wrap:wrap;
  justify-content:left;
  width: calc(100% - 16em);
  margin: 0 auto 3em;
}

#archive_document .document_list li{
  width:20%;
}

#archive_document .finished{
  padding-top:4em;
  border-top:0.6em solid #eee;
}
.document_list li{
  padding:0 1em;
  position:relative;
}
.document_list li .limit{
  font-size:1.1em;
  line-height:2em;
  font-weight:600;
  background: #d54a7c;
  color:#fff;
  position:absolute;
  display:block;
  text-align:center;
  width:9em;
  left:0;
  right:0;
  margin:auto;
  top:-2.2em;
  z-index:1;
  animation: jouge 1s linear infinite alternate;
}
.document_list li .limit::after{
  content:"";
  font-size:0.8em;
  border-top:1em solid #d54a7c;
  border-left:1em solid transparent;
  border-right:1em solid transparent;
  width:0;
  height:0;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(-1em + 2px);
}
.document_list li .inner{
  overflow:hidden;
  background:#fff;
  border-radius:1em;
  border-bottom-left-radius: 0;
  position:relative;
  z-index:0;
  height:100%;
  display:flex;
  flex-direction: column;
}
.document_list li .thumb{
  display:block;
  width:100%;
  height:0;
  padding-top:66.6666%;
  position:relative;
  overflow:hidden;
}
.document_list li .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit: cover;
  z-index:0;
}

.document_list li .info{
  margin:0 auto;
  padding:0.6em 0.85em 1.2em;
  display:flex;
  flex-direction: column;
  width:100%;
  height:100%;
}

.document_list li .info .title{
  display:block;
  font-weight:800;
  line-height:1.4em;
  margin-bottom:0.1em;
}
.document_list li .info .category{
  font-size:0.85em;
  line-height:1.5em;
  color:#999;
  font-weight:400;
  margin-bottom:0.5em;
}

.document_list li .info .content{
  font-size:0.85em;
  line-height:1.4em;
  margin-bottom:1em;
}

.document_list li .info .to_single{
  display:block;
  font-size:0.9em;
  font-weight:700;
  text-align:center;
  line-height:2.6em;
  border-radius:2.6em;
  color:var(--green1);
  border:2px solid var(--green1);
  margin-top:auto;
}
.document_list li .info .to_single.finish{
  background:#ddd;
  border:2px solid #eee;
  color:#5E5D59;
}

.faq_list{
  width: var(--modal-width);
  margin:0 auto;
  display:flex;
  flex-direction: column;
  gap: 1em;
  margin-bottom:3em;
}
.faq_list li{
}
.faq_list li .title{
  display:block;
  font-size:1.2em;
  padding:1.2em 3.5em;
  font-weight:700;
  position:relative;
  cursor:pointer;
  border-radius:0.8em;
  background:#fff;
  border:0.2em solid #fff;
  -webkit-transition-property:background;
  -webkit-transition-duration:0.4s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:background;
  -moz-transition-duration:0.4s;
  -moz-transition-timing-function:ease;
  -o-transition-property:background;
  -o-transition-duration:0.4s;
  -o-transition-timing-function:ease;
  transition-property:background;
  transition-duration:0.4s;
  transition-timing-function:ease;
  image-rendering: -webkit-optimize-contrast;
}
.faq_list li .title:hover,
.faq_list li .title.active{
  /*background:#e6f3ed;*/
  border:0.2em solid var(--green1);
}
.faq_list li .title::before{
  content:"Q.";
  color: var(--green1);
  font-family: 'Lato', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size:1.4em;
  position:absolute;
  left:1em;
  top:0.6em;
}
.faq_list li .title::after{
  content:"\e90a";
  font-family:icomoon;
  display:inline-block;
  vertical-align:middle;
  font-size:1em;
  color:var(--green1);
  font-weight:200;
  position:absolute;
  right:1.4em;
  top:1.25em;
  transform:rotate(90deg);
}
.faq_list li .title.active::after{
  transform:rotate(270deg);
}


.faq_list li .content{
  display:none;
  font-size:1.2em;
  padding:1.4em 3.5em;
  position:relative;
}
.faq_list li .content::before{
  content:"A.";
  color: var(--red1);
  font-family: 'Lato', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size:1.4em;
  font-weight:700;
  position:absolute;
  left:1em;
  top:1em;
}
.faq_list li .content .inner{
  font-size:0.85em;
}
.faq_list li .content .inner p{
  line-height:1.7em;
}
.faq_list li .content .inner > p:not(:last-child){
  margin-bottom:1em;
}
.faq_list li .content .inner strong{
  font-weight:700; 
}
.faq_list li .content .inner a{
  color:var(--link);
  text-decoration:underline;
}
.faq_list li .content .inner a:hover{
  opacity:0.7;
}

#breadcrumb{
  width:var(--main-width);
  max-width:94%;
  margin:0 auto;
  font-size:0.8em;
  padding:0.5em 0;
  height:2em;
  display:flex;
  gap:0.6em;
  overflow: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}
#breadcrumb::-webkit-scrollbar{
  display:none;
}

#breadcrumb a{
  color:var(--green1);
}

#title{
  position:relative;
  color:#fff;
  z-index:0;
  text-align:center;
  padding: 5em 1em 6em;
  min-height: 18em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#title::before{
  content:"";
  width:calc(100% - 1.3em);
  height:calc(100% - 1.3em);
  background: var(--green2);
  opacity:0.90;
  position:absolute;
  left:0;
  top:0;
  z-index:1;
}
#title .back{
  content:"";
  width:calc(100% - 1.3em);
  height:calc(100% - 1.3em);
  background-image:url(assets/images/eyecatch_back5.jpg);
  background-position:center calc(50% + 6em);
  background-size:cover;
  position:absolute;
  right:0;
  bottom:0;
  z-index:0;
}
#title .back::before{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  z-index:0;
  background:#fff;
  mix-blend-mode:color;
  opacity:0.1;
}
#title .back::after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  z-index:0;
  background:#fff;
  opacity:0;
}
#title h1{
  font-size:2.9em;
  letter-spacing:0.05em;
  line-height:1.5em;
  position:relative;
  font-weight:700;
  z-index:2;
}
#title p{
  font-size:1em;
  font-weight:500;
  line-height:1.7em;
  margin-top:1em;
  position:relative;
  z-index:1;
  color:#fff;
}
#title p small{
  display:block;
  font-weight:400;
  font-size:0.8em;
  line-height:1.6em;
  margin-top:0.6em;
}
#title p > small:first-child{
  margin-top:0;
}

main#page_about section.realization:not(#eyecatch) > .inner{
  max-width:unset;
  overflow:visible;
}
main section.realization{
  padding-bottom:0!important;
}

#page_about .realization .trouble {
  background:var(--gray3);
  width: var(--sub-width);
  max-width:92%;
  margin:0 auto 5em;
  padding:0 0 3em;
  position:relative;
  z-index:1;
  border-top-left-radius: 2em;
  border-top-right-radius: 2em;
}
#page_about .realization .trouble::after{
  content:"";
  width:5em;
  height:5em;
  background-image:url(assets/images/dot_arrow.svg);
  background-position:center top;
  background-size:contain;
  background-repeat:no-repeat;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:-3em;
}


#page_about .realization .trouble h3{
  font-size:1.6em;
  line-height:1.7em;
  font-weight:600;
  letter-spacing:0.1em;
  padding:0.1em 0;
  background: var(--green1);
  color:#fff;
  text-align:center;
  border-top-left-radius: 1em;
  border-top-right-radius: 1em;
  margin-bottom:1.5em;
}
#page_about .realization .trouble ul{
  display:flex;
  justify-content:space-between;
  align-items:center;
  width: 92%;
  margin:0 auto;
}
#page_about .realization .trouble ul > li{
  width:23.5%;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-direction: column;
  padding:1em;
  border-radius:1em;
  border-bottom-left-radius: 0;
}
#page_about .realization .trouble ul > li .fukidashi{
  width:4.4em;
  margin:0 auto;
}
#page_about .realization .trouble ul > li .image{
  width:50%;
  margin:0 auto 0.3em;
}
#page_about .realization .trouble ul > li span{
  display:block;
  font-weight:700;
  font-size:1.2em;
  line-height:1.4em;
}

#page_about .realization .resolution{
  width:100%;
  background-image:url(assets/images/ndh_image_back.jpg);
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
  margin-top:-13em;
  padding: 13em 0 5em;
  position:relative;
  z-index:0;
}
#page_about .realization .resolution > *{
  position:relative;
  z-index:1;
}
#page_about .realization .resolution::before{
  content:"";
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0.25+19,0.25+100 */
  background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0.25) 19%,rgba(255,255,255,0.25) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  position:absolute;
  width:100%;
  height:100%;
  left:0;
  top:0;
  z-index:0;
}

#page_about .realization .resolution h3{
  font-size:2.4em;
  line-height:1.7em;
  font-weight:700;
  margin-bottom:0.8em;
  text-align:center;
}
#page_about .realization .resolution h3 strong{
  color:var(--red2);
  font-size:1.3em;
  display:inline-block;
  position:relative;
}
#page_about .realization .resolution h3 strong::after{
  content:"";
  display:inline-block;
  width:100%;
  height:0;
  border-bottom:0.05em solid var(--red2);
  position:absolute;
  left:0;
  bottom:-0.1em;
}

#page_about .realization .resolution ol{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.8em;
  text-align:center;
  font-size:1.1em;
}
#page_about .realization .resolution ol li{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction: column;
  width:22em;
  height:22em;
  background:#fff;
  border-radius:100%;
  border:0.3em solid var(--red3);
  padding-bottom:0.5em;
  position:relative;
}
#page_about .realization .resolution ol li img{
  width:3.6em;
  height:auto;
  display:block;
  margin-bottom:1em;
}
#page_about .realization .resolution ol li p{
  font-weight:700;
  font-size:1.4em;
  line-height:1.5em;
  margin-bottom:0.5em;
}
#page_about .realization .resolution ol li strong{
  font-size:2.2em;
  color: var(--red2);
  font-weight:700;
  display:block;
}

.items_wrapper{
  display:flex;
  flex-direction: column;
  gap:5em;
  width: var(--narrow-width);
  max-width:92%;
  margin:0 auto;
  text-align:left;
}
.items_wrapper .item{
  background:#fff;
  padding:2.5em 4em;
  border-radius:1.5em;
  border:0.4em solid var(--green1);
  position:relative;
}
.items_wrapper .item .circle{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  width:8em;
  height:8em;
  background: var(--green1);
  color:#fff;
  border-radius:100%;
  position:absolute;
  left:-3.8em;
  top:-2.6em;
  gap:0.1em;
}
.items_wrapper .item .circle .text{
  font-size:0.7em;
  font-weight:600;
  line-height:1.1em;
}
.items_wrapper .item .circle .num{
  font-size:2.6em;
  font-weight:700;
  line-height:1.1em;
}
.items_wrapper .item .circle .icon{
  font-size:4em;
  font-weight:200;
}
.items_wrapper .item .circle .icon::before{
  font-family:icomoon;
}
.items_wrapper .item .circle .icon.web::before{
  content:"\e90c";
}
.items_wrapper .item .circle .icon.sheet::before{
  content:"\e903";
}
.items_wrapper .item .circle .icon.book::before{
  content:"\e906";
}
.items_wrapper .item .circle .icon.camsta::before{
  content:"\e910";
}
.items_wrapper .item .circle .icon.interview::before{
  content:"\e90f";
}
.items_wrapper .item .circle .icon.fes::before{
  content:"\e90d";
}

.items_wrapper .item .title{
  font-size:1.6em;
  font-weight:700;
  line-height:1.6em;
  padding-right:8em;
  margin-bottom:2em;
}
.items_wrapper .item .title .small{
  font-size:0.7em;
  display:block;
  line-height:1.4em;
  margin-bottom:0.3em;
}
.items_wrapper .item .title big{
  font-weight:700;
  font-size:3em;
  display:block;
  line-height:1.1em;
  margin-bottom:0.15em;
}
.items_wrapper .item .title strong{
  font-weight:700;
  font-size:1.3em;
  display:block;
  line-height:1.4em;
  margin-bottom:0.15em;
}

.items_wrapper .item .desc{
  margin-top:-2em;
  padding-right:15em;
  margin-bottom:1.5em;
}
.items_wrapper .item .desc .aside{
  font-weight:600;
  margin-bottom:1em;
  display:flex;
  align-items:center;
  gap:1.2em;
}
.items_wrapper .item .desc .aside .caption{
  display:flex;
  line-height:1.6em;
  height:1.6em;
  padding:0 0.5em;
  background: var(--red1);
  color:#fff;
  position:relative;
}
.items_wrapper .item .desc .aside .caption::after{
  content:"";
  width:0;
  height:0;
  border-left: 0.8em solid var(--red1);
  border-top: 0.8em solid transparent;
  border-bottom: 0.8em solid transparent;
  position:absolute;
  right:calc(-0.8em + 1px);
  top:0;
  bottom:0;
  margin:auto;
}

.items_wrapper .item .desc p{
  line-height:1.6em;
}

.items_wrapper .item .thumb{
  height:24em;
  width:24em;
  position:absolute;
  right:-5em;
  top:-6em;
}
.items_wrapper .item .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.items_wrapper.service .item .thumb{
  width:20em;
  height:20em;
  right:-3em;
  top:0;
}


.items_wrapper .item .info{
  background: var(--gray3);
  border-radius:1em;
  padding:0.75em 2em;
  position:relative;
}
.items_wrapper .item .info .fukidashi{
  display:inline-block;
  line-height:2.2em;
  padding:0 1.5em;
  background: var(--red1);
  color:#fff;
  font-family: 'Lato', 'Noto Sans JP',"游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight:700;
  position:absolute;
  left:0.5em;
  top:-1.5em;
}
.items_wrapper .item .info .fukidashi::after{
  content:"";
  font-size:0.5em;
  border-top:1em solid var(--red1);
  border-left:1em solid transparent;
  border-right:1em solid transparent;
  width:0;
  height:0;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(-1em + 1px);
}
.items_wrapper .item .info p{
  width:calc(100% + 1em);
  position:relative;
  left:-0.5em;
  font-size:0.92em;
  line-height:1.7em;
  font-weight:600;
}

.items_wrapper .item .info ul {
  font-size:1.2em;
  font-weight:600;
}

.items_wrapper .item .info ul li{
  padding:1em 1em 1em 2.2em;
  line-height:1.5em;
  position:relative;
}
.items_wrapper .item .info ul li:not(:last-child){
  border-bottom:1px dashed #ddd;
}
.items_wrapper .item .info ul li::before{
  content:"\ea10";
  font-family:icomoon;
  font-size:inherit;
  font-weight:200;
  position:absolute;
  left:0;
  top:1em;
  color: var(--red1);
  transform:scale(1.8);
  transform-origin: left center;
}

.items_wrapper.service .item .info ul{
  font-size:1.1em;
}
.items_wrapper.service .item .info ul li p{
  margin-top:0.4em;
  font-size:0.84em;
  line-height:1.6em;
  font-weight:500;
  width:calc(100% + 5em);
  position:relative;
  left:-2.5em;
}

.sercive_menu{
  width:var(--main-width);
  max-width:100%;
  margin:0 auto;
}
.sercive_menu ul{
  width:100%;
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.sercive_menu ul li{
  width:25%;
  padding:1em 0;
}

.sercive_menu ul li a{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction: column;
  gap:0.4em;
  padding:1em 0 1.5em;
  position:relative;
  text-align:center;
}
.sercive_menu ul li:not(:last-child) a{
  border-right:1px solid #ccc;
}
.sercive_menu ul li a span{
  font-size:0.85em;
  font-weight:600;
}
.sercive_menu ul li a strong{
  font-size:1.1em;
  font-weight:700;
}
.sercive_menu ul li a i{
  position:absolute;
  width:1em;
  height:1em;
  color:var(--green1);
  left:0;
  right:0;
  bottom:0;
  margin:auto;
}


#page_plans .desc{
  text-align:center;
}

#page_plans .desc .medias{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:2em;
  margin-bottom:2em;
}
#page_plans .desc .medias img{
  height:11em;
  width:auto;
}

#page_plans .desc p{
  font-weight:500;
  font-size:1.3em;
  line-height:1.6em;
}
#page_plans .desc p strong{
  display:block;
  font-size:1.3em;
  line-height:1.6em;
  font-weight:700;
  margin-bottom:0.3em;
}


#page_plans .single_plan .plan_box{
  width:30em;
  margin:0 auto;
  border-radius:2em;
  border:0.4em solid var(--green1);
  padding:2.5em 1.5em;
  margin-bottom:2em;
  background:#fff;
}
#page_plans .single_plan .plan_box figure{
  margin: 0 auto 0.6em;
}
#page_plans .single_plan .plan_box figure img{
  display:block;
  width:60%;
  max-width:100%;
  margin: 0 auto 1em;
}

#page_plans .single_plan .plan_box figcaption{
  font-size:1.1em;
  line-height:1.4em;
  text-align:center;
  font-weight:700;
}
#page_plans .single_plan .plan_box .price{
  color: var(--green1);
  font-weight:700;
  text-align:center;
  font-size:1.6em;
}
#page_plans .single_plan .plan_box .price big{
  font-size:2.4em;
  vertical-align:bottom;
  position:relative;
  bottom:-0.15em;
}

#page_plans .package_plan .plans_table{
  width: var(--main-width);
  max-width:100%;
  margin:0 auto;
  table-layout:fixed;
  border-collapse:collapse;
}
#page_plans .package_plan .plans_table table colgroup col:nth-child(1){
  width:24%;
}
#page_plans .package_plan .plans_table table colgroup col:nth-child(2){
  width:24%;
}
#page_plans .package_plan .plans_table table colgroup col:nth-child(3){
  width:28%;
}
#page_plans .package_plan .plans_table table colgroup col:nth-child(4){
  width:24%;
}

#page_plans .package_plan .plans_table table{
  width:100%;
  margin-top:6em;
  border-collapse: separate;
}

#page_plans .package_plan .plans_table table thead th{
  padding:1em;
  vertical-align:middle;
  text-align:center;
  line-height:1.4em;
  position:relative;
}
#page_plans .package_plan .plans_table table thead th strong{
  font-weight:800;
  display:block;
  font-size:1.5em;
  line-height:1.3em;
  margin-bottom:0.2em;
}
#page_plans .package_plan .plans_table table thead th span{
  font-weight:600;
  font-size:0.9em;
  display:block;
  line-height:1.5em;
}

#page_plans .package_plan .plans_table table thead tr th:not(:first-child){
  background:var(--green1);
  color:#fff;
}
#page_plans .package_plan .plans_table table thead tr th:nth-child(2){
  border-left:0.4rem solid var(--green1);
  border-top-left-radius: 1.5em;
}
#page_plans .package_plan .plans_table table thead tr th:nth-child(4){
  border-right:0.4rem solid var(--green1);
  border-top-right-radius: 1.5em;
}
#page_plans .package_plan .plans_table table thead tr th:nth-child(3){
  border-left:0.4rem solid var(--red1);
  border-right:0.4rem solid var(--red1);
  background: var(--red1);
}

#page_plans .package_plan .plans_table table thead tr th .adjust{
  position:absolute;
  left:-5px;
  top:-1.5em;
  height:100%;
  width:calc(100% + 10px);
  border-left:5px solid var(--red1);
  border-right:5px solid var(--red1);
  background: var(--red1);
  border-top-left-radius: 1.5em;
  border-top-right-radius: 1.5em;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  padding:1.5em 0 0;
}
#page_plans .package_plan .plans_table table thead tr th .adjust::before{
  content:"";
  background-image:url(assets/images/fukidashi_osusume.svg);
  background-position:center top;
  background-repeat:no-repeat;
  background-size:contain;
  width:12em;
  height:4em;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  top:-2.5em;
  animation: jouge 1s linear infinite alternate;
}



#page_plans .package_plan .plans_table table tbody tr th,
#page_plans .package_plan .plans_table table tbody tr td{
  vertical-align:middle;
  text-align:center;
  line-height:1.4em;
}

#page_plans .package_plan .plans_table table tbody tr th{
  background: var(--gray2);
  font-weight:500;
  font-size:0.9em;
  border-top:0.4em solid #fff;
  border-bottom:0.4em solid #fff;
  border-right:0.4em solid #fff;
}
#page_plans .package_plan .plans_table table tbody tr th div{
  padding:1.5em 1em;
}
#page_plans .package_plan .plans_table table tbody tr:first-child th{
  border-top:0;
  border-top-left-radius: 1.5em;
}
#page_plans .package_plan .plans_table table tbody tr:last-child th{
  border-bottom:0;
  border-bottom-left-radius: 1.5em;
}

#page_plans .package_plan .plans_table table tbody tr th .media{
  display:flex;
  align-items:center;
  gap:0.75em;
}
#page_plans .package_plan .plans_table table tbody tr th .media img{
  width:3.4em;
  height:auto;
}
#page_plans .package_plan .plans_table table tbody tr th .media span{
  display:block;
  text-align:left;
}
#page_plans .package_plan .plans_table table tbody tr th .media span small{
  display:block;
  font-size:0.8em;
  font-weight:500;
  margin-top:0.1em;
  line-height:1.3em;
}


#page_plans .package_plan .plans_table table tbody tr td{
  padding:1.5em 1em;
  box-sizing:border-box;
  position:relative;
}
#page_plans .package_plan .plans_table table tbody tr td:nth-child(3){
  background:#FFFCF2;
  border-left:0.4rem solid var(--red1);
  border-right:0.4rem solid var(--red1);
}

#page_plans .package_plan .icon{
  display:inline-block;
  font-weight:200;
  font-size:2em;
  width:1em;
  height:1em;
  line-height:1em;
  position:relative;
}
#page_plans .package_plan .icon::after{
  font-family:icomoon;
  background:#fff;
  position:absolute;
  width:100%;
  height:100%;
  line-height:1em;
  left:0;
  top:0;
}
#page_plans .package_plan .icon.maru::after{
  content:"\e909";
}
#page_plans .package_plan .icon.dash::after{
  content:"\e916";
}

#page_plans .package_plan .icon.maru{
  color: var(--green1);
}

#page_plans .package_plan .icon.dash{
  color:#ddd;
}


#page_plans .package_plan .plans_table table tbody tr td:nth-child(2){
  border-left:0.4rem solid var(--green1);
}
#page_plans .package_plan .plans_table table tbody tr td:nth-child(4){
  border-right:0.4rem solid var(--green1);
}
#page_plans .package_plan .plans_table table tbody tr:last-child td:nth-child(2){
  border-bottom:0.4rem solid var(--green1);
  border-bottom-left-radius: 1.5em;
}
#page_plans .package_plan .plans_table table tbody tr:last-child td:nth-child(4){
  border-bottom:0.4rem solid var(--green1);
  border-bottom-right-radius: 1.5em;
}
#page_plans .package_plan .plans_table table tbody tr td .adjust{
  position:absolute;
  left:-5px;
  bottom:-1.5em;
  height:calc(100% + 0.5em);
  width:calc(100% + 10px);
  border-left:5px solid var(--red1);
  border-right:5px solid var(--red1);
  border-bottom:5px solid var(--red1);
  background: #FFFCF2;
  border-bottom-left-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  padding:0 0 0.5em;
}

#page_plans .package_plan .plans_table table tbody tr td .price{
  color: var(--green1);
  font-weight:700;
  text-align:center;
  font-size:1.1em;
  line-height:1em;
}
#page_plans .package_plan .plans_table table tbody tr td .price big{
  font-size:2.4em;
  vertical-align:bottom;
  position:relative;
  bottom:-0.15em;
  line-height:1em;
}
#page_plans .package_plan .plans_table table tbody tr td:nth-child(3) .price{
  color: var(--red1);
}

#page_plans .package_plan .plans_table table tbody tr td:nth-child(3) .maru{
  color: var(--red1);
}
#page_plans .package_plan .plans_table table tbody tr td:nth-child(3) .icon::after{
  background:#FFFCF2;
}

#page_plans .package_plan .plans_table table tbody tr:not(:last-child) td{
  border-bottom:1px dashed var(--green1)
}
#page_plans .package_plan .plans_table table tbody tr:not(:last-child) td:nth-child(3){
  border-bottom:1px dashed var(--red1)
}

#page_plans .package_plan .plans_table table tbody tr td .keisai{
  color: var(--green1);
  font-weight:700;
  line-height:1.4em;
  font-size:1.1em;
}
#page_plans .package_plan .plans_table table tbody tr td:nth-child(3) .keisai{
  color: var(--red1);
}

#page_plans .package_plan .plans_list{
  display:none;
}

#page_plans .other_service .flex{
  display:flex;
  justify-content:center;
  gap:2.5em;
  margin-bottom:2.5em;
}
#page_plans .other_service .flex .box{
  width:24em;
  border-radius:1em;
  background:#fff;
  text-align:left;
  overflow:hidden;
}
#page_plans .other_service .flex .box .thumb{
  display:block;
  width:100%;
  height:0;
  padding-top:50%;
  position:relative;
}
#page_plans .other_service .flex .box .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  margin:auto;
  object-fit:cover;
}

#page_plans .other_service .flex .box .text{
  padding:1em;
}
#page_plans .other_service .flex .box h3{
  color:var(--green1);
  font-size:1.3em;
  line-height:1.4em;
  font-weight:700;
  margin-bottom:0.5em;
}
#page_plans .other_service .flex .box p{
  line-height:1.5em;
}

#page_service .flowchart_wrapper{
  width:var(--main-width);
  max-width:100%;
  margin:5em auto 0;
}
#page_service .flowchart{
  display:flex;
  gap:0.6em;
  width:100%;
}
#page_service .flowchart li{
  background:#fff;
  flex:1;
  padding:1.5em 1em;
  display:flex;
  flex-direction: column;
  gap:1em;
  position:relative;
}
#page_service .flowchart li:not(:first-child)::before{
  content:"";
  width:3.5em;
  height:4.5em;
  background-image:url(assets/images/flow_arrow.svg);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:contain;
  position:absolute;
  top:5em;
  left:-0.6em;
}

#page_service .flowchart li span{
  display:block;
  font-weight:600;
}

#page_service .flowchart li p{
  font-size:0.9em;
  line-height:1.5em;
  font-weight:500;
}
#page_service .flowchart li p small{
  display:block;
  font-size:0.8em;
  line-height:1.5em;
  margin-top:0.4em;
}

#page_service .flowchart li .thumb{
  font-size:7em;
}

#page_service .flowchart li .thumb::before{
  display:block;
  font-family:icomoon;
  font-weight:200;
  line-height:1em;
  width:1em;
  margin:0 auto;
}

#page_service .flowchart li:nth-child(1) .thumb::before{
  content:"\e907";
}
#page_service .flowchart li:nth-child(2) .thumb::before{
  content:"\e90e";
}
#page_service .flowchart li:nth-child(3) .thumb::before{
  content:"\e901";
}
#page_service .flowchart li:nth-child(4) .thumb::before{
  content:"\e900";
}
#page_service .flowchart li:nth-child(5) .thumb::before{
  content:"\e90c";
}

#page_service .flowchart li .fukidashi{
  font-size:0.8em;
  line-height:1.4em;
  font-weight:500;
  display:flex;
  justify-content:center;
  align-items:center;
  width:9.5em;
  height:3.5em;
  background: var(--red2);
  color:#fff;
  border-radius:0.8em;
  position:absolute;
  right:-5em;
  top:-4.5em;
}
#page_service .flowchart li .fukidashi::after{
  content:"";
  font-size:0.8em;
  border-top:1em solid var(--red2);
  border-left:1em solid transparent;
  border-right:1em solid transparent;
  width:0;
  height:0;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(-1em + 1px);
}
#page_service .flowchart_wrapper .saitan{
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  margin-top:2em;
}
#page_service .flowchart_wrapper .saitan .start{
  width:1.5em;
  height:1.5em;
  background: var(--green1);
  border-radius:100%;
  position:relative;
  z-index:1;
}
#page_service .flowchart_wrapper .saitan .end{
  width:0;
  height:0;
  border-left:1em solid var(--green1);
  border-top:1em solid transparent;
  border-bottom:1em solid transparent;
  position:relative;
  z-index:1;
}
#page_service .flowchart_wrapper .saitan::before{
  content:"";
  width:calc(100% - 1em);
  border-bottom:0.2em solid var(--green1);
  height:0;
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
  z-index:0;
}
#page_service .flowchart_wrapper .saitan span{
  display:inline-flex;
  font-size:1.05em;
  line-height:2.4em;
  padding:0 1em;
  font-weight:500;
  border-radius:0.4em;
  background: var(--green1);
  color:#fff;
  position:relative;
  z-index:1;
}

.single article{
  width:var(--main-width);
  max-width:92%;
  margin:-15em auto 3em;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  position: relative;
  z-index:1;
}

.single article #column{
  width:50em;
  padding:2.5em 3em;
  border-radius:1.6em;
  background:#fff;
}
.single article #sidebar{
  width:23.375em;
  padding:2em 1.4em;
  border-radius:1.6em;
  background:#fff;
}

#single_document #column .limit{
  margin-bottom:1em;
  background: #fff5f8;
}
#single_document #column .limit span{
  background:#d54a7c;
  color:#fff;
  display:inline-flex;
  vertical-align:middle;
  padding:0 0.6em;
  margin-right:0.3em;
  font-weight:600;
  line-height:2.2em;
}
#single_document #column .limit strong{
  line-height:2.2em;
  font-weight:400;
  display:inline-block;
  vertical-align:middle;
  color:#d54a7c;
}
#single_document #column h1{
  font-weight:700;
  font-size:1.6em;
  line-height:1.5em;
  margin-bottom:0.5em;
}
#single_document #column .category{
  margin-bottom:1.5em;
  font-size:0.9em;
  color:#999;
  font-weight:400;
}
#single_document #column .eyecatch{
  display:block;
  width:100%;
  height:0;
  padding-top:66.6666%;
  position:relative;
  margin-bottom:1em;
}
#single_document #column .eyecatch img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}

.single article .content p{
  line-height:1.7em;
  margin-bottom:1.5em;
}


.single article .content h2.heading,
.single article .content h3.heading,
.single article .content h4.heading{
  font-weight:700;
  line-height:1.5em;
  text-align:left;
  margin:0 auto 1.5em;
}
.single article .content h2.heading{
  font-size:1.6em;
}
.single article .content h3.heading{
  font-size:1.4em;
}
.single article .content h4.heading{
  font-size:1.2em;
}

.single article .content .heading.type1{
  position:relative;
  padding-left:1.6em;
}
.single article .content .heading.type1::before{
  content:"";
  width:1.2em;
  height:1.2em;
  background-image:url(assets/images/heading_icon.svg);
  background-position:left center;
  background-repeat:no-repeat;
  background-size:contain;
  position:absolute;
  top:0.2em;
  left:0;
}
.single article .content .heading.type2{
  position:relative;
  padding-left:0.7em;
  border-left:0.3em solid var(--green1);
}
.single article .content .heading.type3{
  padding:0.3em 0.8em;
  background: var(--gray3);
}

.single article .content .list{
  margin-bottom:2.5em;
  font-size:0.94em;
  counter-reset: number 0; 
}
.single article .content .list li{
  padding:0 0 0 1.3em;
  position:relative;
  line-height:1.6em;
}
.single article .content .list li:not(:last-child){
  margin-bottom:1em;
}
.single article .content ul.list li::before{
  content:"";
  display:inline-flex;
  width:1em;
  height:1em;
  border-radius:100%;
  transform:scale(0.6);
  background:var(--green1);
  position:absolute;
  left:0;
  top:0.35em;
}
.single article .content ol.list li{
  padding:0 0 0 1.9em;
}

.single article .content ol.list li::before{
  counter-increment: number 1; 
  content: counter(number);
  display:inline-flex;
  width:1.8em;
  height:1.8em;
  border-radius:100%;
  background:var(--green1);
  position:absolute;
  left:0;
  top:0.1em;
  font-size:0.8em;
  white-space:nowrap;
  position:absolute;
  justify-content:center;
  align-items:center;
  color:#fff;
  transform:scale(0.9);
}



.docdata_table{
  width:100%;
  border:3px solid #e1e1e1;
  font-size:0.9em;
  border-collapse: separate;
  margin-bottom:2em;
}
.docdata_table tbody tr th,
.docdata_table tbody tr td{
  padding:0.5em;
  vertical-align:top;
  line-height:1.6em;
}
.docdata_table tbody tr th{
  font-weight:700;
  padding-left:1em;
  white-space:nowrap;
}
.docdata_table tbody tr td{
  padding-right:1em;
}
.docdata_table tbody tr td > div{
  padding-left:1em;
  border-left:1px solid #777;
}
.docdata_table tbody tr:first-child th,
.docdata_table tbody tr:first-child td{
  padding-top:1em;
}
.docdata_table tbody tr:last-child th,
.docdata_table tbody tr:last-child td{
  padding-bottom:1em;
}

.download_box{
  margin-bottom:2.5em;
}

html.login .download_box .not_logged_in{
  display:none;
}
html:not(.login) .download_box .logged_in{
  display:none;
}

.download_box .not_logged_in{
  display:flex;
  flex-direction: column;
  gap:0.6em;
}

.download_box .logged_in{
  display:flex;
  flex-direction: column;
  align-items:center;
  background: var(--gray2);
  padding:1.5em 1em;
  /*display:none;*/
}

.download_box .not_logged_in div{
  display:flex;
  justify-content:center;
  align-items:center;
  background: var(--gray2);
  padding:1em
}
.download_box .not_logged_in div span{
  display:block;
  width:19em;
  font-weight:700;
  font-size:0.9em;
  line-height:1.5em;
  text-align:left;
  position:relative;
  margin-right:4em;
}
.download_box .not_logged_in div span::after{
  content:"";
  font-size:2em;
  width:1em;
  height:1em;
  background-image:url(assets/images/green_arrow_double.svg);
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
  right:-1.3em;
}


.heading_aside{
  font-size:1.4em;
  line-height:1.4em;
  font-weight:700;
  margin:0 auto 1em;
}
.heading_aside span{
  display:inline-block;
  position:relative;
  padding:0 0 0.6em;
}
.heading_aside span::before{
  content:"";
  width:100%;
  height:0.2em;
  border-radius:0.2em;
  background:var(--green1);
  position:absolute;
  left:0;
  bottom:0;
}

main #sidebar section{
  padding-top:0;
}

.relate_doc_list{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
}
.relate_doc_list li{
  padding:0.8em 0;
  width:100%;
}
.relate_doc_list li:not(:last-child){
  border-bottom:1px solid #ddd;
}
.relate_doc_list li a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
}

.relate_doc_list li a .thumb{
  width:5em;
  height:0;
  padding-top:5em;
  position:relative;
}
.relate_doc_list li a .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}
.relate_doc_list li a .title{
  width:calc(100% - 5.6em);
  font-weight:700;
  line-height:1.5em;
}
.relate_doc_list li a .title .limit{
  display:block;
}
.relate_doc_list li a .title .limit span{
  background:#d54a7c;
  color:#fff;
  display:inline-flex;
  vertical-align:middle;
  padding:0 0.6em;
  font-weight:600;
  line-height:1.8em;
  font-size:0.8em;
}
.relate_doc_list li a .title .category{
  font-size:0.8em;
  margin-top:0.1em;
  line-height:1.5em;
  color:#999;
  font-weight:400;
}



#archive_casestudy .casestudy_list,
.popular_casestudy .casestudy_list{
  display:flex;
  gap:2em 0;
  flex-wrap:wrap;
  justify-content:left;
  width: calc(100% - 16em);
  margin: 0 auto 3em;
}

#archive_casestudy .casestudy_list li,
.popular_casestudy .casestudy_list li{
  width:20%;
}
#archive_casestudy .casestudy_list li a{
  box-shadow:0 0 1em rgba(0,0,0,0.1);
}

.nav-links{
  display:flex;
  gap:1em;
  justify-content:center;
  text-align:center;
}
.nav-links .page-numbers:not(.next,.prev){
  display:inline-flex;
  justify-content:center;
  text-align:center;
  width:2.5em;
  height:2.5em;
  line-height:2.5em;
  font-weight:600;
  background:var(--gray3);
  color: var(--green1);
}
.nav-links .page-numbers:not(.next,.prev).current{
  color:var(--gray3);
  background: var(--green1);
}
.nav-links .page-numbers.next,
.nav-links .page-numbers.prev{
  display:inline-flex;
  justify-content:center;
  text-align:center;
  font-size:1.5em;
  width:0.6em;
  height:1.5em;
  line-height:1.5em;
  font-weight:600;
  color: var(--green1);
}


#archive_casestudy .search{
  width: var(--narrow-width);
  max-width:92%;
  margin:-2em auto 5em;
  background: var(--gray3);
  border-radius:1.2em;
  padding:1.4em 1.6em;
  text-align:center;
}

#archive_casestudy .search h3{
  font-weight:700;
  font-size:1.4em;
  margin-bottom:1em;
}
#archive_casestudy .search .selected{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:1.6em;
}
#archive_casestudy .search .selected > span{
  width:8em;
  font-weight:700;
}
#archive_casestudy .search .selected > div{
  width:calc(100% - 8em);
  text-align:left;
  background:#fff;
  padding:1em;
  border-radius:0.3em;
  gap:0.5em;
  display:flex;
  flex-wrap:wrap;
}
#archive_casestudy .search .selected > div span{
  display:inline-block;
  background:#edfaf8;
  border:1px solid #d6e9e6;
  color: var(--green1);
  padding:0 0.6em;
  line-height:2em;
  justify-content:center;
  align-items:center;
  border-radius:0.4em;
  font-size:0.92em;
}


#archive_casestudy .search button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background: var(--green1);
  color:#fff;
  font-weight:700;
  font-size:1.3em;
  line-height:2.7em;
  padding:0 1.5em;
  border-radius:0.4em;
  gap:0.2em;
}
#archive_casestudy .search button::before{
  content:"\e917";
  font-family:icomoon;
  font-size:1.2em;
  display:inline-flex;
  font-weight:200;
}
#archive_casestudy .search button:hover{
  opacity:0.7;
}

.lity-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}

.lity-content{
  background:#fff;
  border-radius:1em;
  padding:3em 2.5em;
  width:var(--modal-width);
  max-width:100%;
  margin:0 auto;
  max-height:95vh!important;
  overflow:hidden;
}

.lity-content > div{
  max-height:calc(95vh - 6em)!important;
  overflow:auto;
}

#casestudy_search form table{
  width:100%;
  table-layout: fixed;
}
#casestudy_search form table tbody tr th,
#casestudy_search form table tbody tr td{
  padding:1.5em 1em;
  vertical-align:middle;
  text-align:left;
  position:relative;
  font-size:0.92em;
}
#casestudy_search form table tbody tr:not(:last-child) th,
#casestudy_search form table tbody tr:not(:last-child) td{
  border-bottom:1px dashed #ccc;
}
#casestudy_search form table tbody tr th{
  font-weight:700;
}

#casestudy_search form table colgroup .th{
  width:9em;
}
#casestudy_search form table colgroup .td{
  width:calc(100% - 9em);
}

#casestudy_search form table tbody tr td .check_wrapper{
  display:flex;
  flex-wrap:wrap;
  gap:0.5em;
}

#casestudy_search form table tbody tr td .num_wrapper{
  display:flex;
  gap:0.5em;
  justify-content:left;
  align-items:center;
}
#casestudy_search form table tbody tr td input[type="number"]{
  width:5em;
  border:1px solid #ccc;
  padding:0.6em;
}

#casestudy_search form table tbody tr td::before{
  content:"";
  width:0;
  height:calc(100% - 2em);
  border-right:2px solid #eee;
  position:absolute;
  left: 0;
  top:0;
  bottom:0;
  margin:auto;
}

#casestudy_search form table tbody tr td label{
  display:inline-flex;
  padding:0.8em 1em;
  border-radius:0.4em;
  background:var(--gray3);
  justify-content:center;
  align-items:center;
}
#casestudy_search form table tbody tr td label:hover{
  background: #e1f3f0;
  cursor:pointer;
}

#casestudy_search form table tbody tr td,
#casestudy_search form table tbody tr td optgroup,
#casestudy_search form table tbody tr td option{
  font-size:1em;
  appearance: none;
  color:#000;
}
#casestudy_search form table tbody tr td select{
  padding:0.5em 2em 0.5em 0.5em;
  box-sizing:border-box;
  max-width:100%;
  border:1px solid #ccc;
  margin-right:0.4em;
  /*background-image: url('./assets/images/angle_down.png');*/
  background-size:0.7em;
  background-position:right 0.5em center;
  background-repeat:no-repeat;
  cursor:pointer;
}

#casestudy_search form table tbody tr td  input[type="checkbox"],
#casestudy_search form table tbody tr td  input[type="radio"]{
  margin: 0;
  width: 0;
  opacity: 0;
  display:none;
}
#casestudy_search form table tbody tr td  input[type="checkbox"] + label .checkbox,
#casestudy_search form table tbody tr td  input[type="radio"] + label .radio{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-right:0.3em;
  position:relative;
  top:0.05em;
}
#casestudy_search form table tbody tr td  input[type="checkbox"] + label .checkbox::before{
  content:"\ea53";
  font-family:icomoon;
  color:#bbb;
  font-weight:200;
}

#casestudy_search form table tbody tr td  input[type="checkbox"]:checked + label .checkbox::before{
  content:"\ea52";
  color:var(--green1);
}
#casestudy_search form table tbody tr td  input[type="radio"] + label .radio::before{
  content:"\ea56";
  font-family:icomoon;
  color:#bbb;
  font-weight:200;
}
#casestudy_search form table tbody tr td  input[type="radio"]:checked + label .radio::before{
  content:"\ea54";
  color:var(--green1);
}

#casestudy_search form table tbody tr td  input[type="checkbox"]:checked + label,
#casestudy_search form table tbody tr td  input[type="radio"]:checked + label{
  background: #e1f3f0;
}
#casestudy_search form .submit{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background: var(--green1);
  color:#fff;
  font-weight:700;
  font-size:1.3em;
  line-height:2.6em;
  padding:0 1.5em;
  border-radius:0.4em;
  gap:0.2em;
}
#casestudy_search form .submit:hover{
  opacity:0.7;
}

.lity-close {
  width:1em;
  height:1em;
  font-size:2.4em;
  line-height:1em;
  position:absolute;
  right:0.3em;
  top:0.3em;
  background:var(--black);
  color:#fff;
  border-radius:100%;
}
.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
  width:1em;
  height:1em;
  font-size:2.4em;
  line-height:1em;
  background:var(--black);
  right:0.3em;
  top:0.3em;
  transform:unset;
}
.lity-close:hover{
  opacity:0.7;
}

.notfound{
  text-align:center;
}

.single #single_casestudy article #column{
  background: #fff;
  padding:0;
  overflow:hidden;
}
.single #single_casestudy article #column > .eyecatch{
  display:block;
  width:100%;
  height:0;
  padding-top:66.6666%;
  position:relative;
  margin-bottom:1em;
}
.single #single_casestudy article #column > .eyecatch img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}

.single #single_casestudy article #column > .inner{
  max-width:100%;
  padding:0.5em 1em 2.5em;
}

#single_casestudy #column h1{
  font-weight:700;
  font-size:1.6em;
  line-height:1.5em;
  margin-bottom:1em;
}
#single_casestudy #column .content{
  font-size:0.94em;
}

.resolution_flow{
  background:var(--gray3);
  padding:0.6em 1.2em;
  display:flex;
  flex-direction: column;
  margin-bottom:3em;
}
.resolution_flow li{
  display:flex;
  justify-content:space-between;
  padding:0.6em 0 1.4em;
  border-bottom:1px dashed #ccc;
}
.resolution_flow li:last-child{
  border-bottom:0;
}
.resolution_flow li .rf_heading{
  margin:0;
  padding:0;
  width:7em;
  min-height:5em;
  position:relative;
}
.resolution_flow li:nth-child(1) .rf_heading{
  background: var(--green3);
}
.resolution_flow li:nth-child(2) .rf_heading{
  background: var(--green2);
}
.resolution_flow li:nth-child(3) .rf_heading{
  background: var(--green1);
}
.resolution_flow li .rf_heading::after{
  content:"";
  position:absolute;
  left:0;
  bottom:calc(-1em + 0.5px);
  width:0;
  height:0;
  border-left:3.5em solid transparent;
  border-right:3.5em solid transparent;
}
.resolution_flow li:nth-child(1) .rf_heading::after{
  border-top:1em solid var(--green3);
}
.resolution_flow li:nth-child(2) .rf_heading::after{
  border-top:1em solid var(--green2);
}
.resolution_flow li:nth-child(3) .rf_heading::after{
  border-top:1em solid var(--green1);
}
.resolution_flow li .rf_heading span{
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  width:100%;
  height:100%;
  font-weight:700;
  font-size:1.3em;
  padding:1em 0.3em;
  color:#fff;
  text-align:center;
}

.resolution_flow li .rf_content{
  width:calc(100% - 8em);
  display:flex;
  flex-direction: column;
  justify-content:center;
  gap:0.5em;
}
.resolution_flow li.no_heading{
  padding:0.6em 0;
}
.resolution_flow li.no_heading .rf_content{
  width:100%;
  padding:1em;
}

.resolution_flow li .rf_content span{
  font-size:0.94em;
  padding-left:1.2em;
  position:relative;
  display:block;
  line-height:1.5em;
  color:#222;
}
.resolution_flow li .rf_content span::before{
  content:"";
  display:inline-flex;
  width:1em;
  height:1em;
  border-radius:100%;
  transform:scale(0.6);
  background:var(--black);
  opacity:0.4;
  position:absolute;
  left:0;
  top:0.35em;
}


#column .content .interview{
  margin-bottom:3em;
}

#column .content .interview h4{
  color:#777;
  margin:3em auto 1.2em;
  line-height:1.5em;
  position:relative;
  padding-left:2.3em;
}
#column .content .interview h4::before{
  content:"";
  width:2em;
  height:0;
  border-top:1px solid #888;
  position:absolute;
  left:0;
  top:0.7em;
}

#column .content .interview p{
  line-height:1.7em;
}

#column .content .interview.thumb_type > div,
#column .content .interview .thumb_type{
  display:flex;
}

#column .content .interview.thumb_type > div .interviewee_block,
#column .content .interview .thumb_type .interviewee_block{
  width:6em;
  margin-bottom: 1.5em;
}
#column .content .interview.thumb_type > div .answer_block,
#column .content .interview .thumb_type > p{
  width:calc(100% - 7.5em);
}

#column .content .interview.thumb_type > div .interviewee_block .interviewee_thumb,
#column .content .interview .thumb_type .interviewee_block .interviewee_thumb{
  display:block;
  width:100%;
  height:0;
  padding-top:100%;
  position:relative;
  overflow:hidden;
  border-radius:100%;
  margin-bottom:0.6em;
}
#column .content .interview.thumb_type > div .interviewee_block .interviewee_thumb img,
#column .content .interview .thumb_type .interviewee_block .interviewee_thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}
#column .content .interview.thumb_type > div .interviewee_block .interviewee_name,
#column .content .interview .thumb_type .interviewee_block .interviewee_name{
  display:block;
  text-align:center;
  font-size:0.85em;
  font-weight:600;
}

#column .content .interview.name_type > div .answer_block .interviewee_name,
#column .content .interview .name_type .interviewee_name{
  font-weight:700;
}

#column .content .media_wrapper{
  width:85%;
  margin:3em auto;
}
#column .content .media_wrapper:not(.image) .media{
  width:100%;
  height:0;
  position:relative;
  padding-top:56.25%;
  overflow:hidden;
}
#column .content .media_wrapper .media.image{
  width:100%;
}
#column .content .media_wrapper .media iframe,
#column .content .media_wrapper .media video{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}

#column .content .media_wrapper .media img{
  width:100%;
  height:auto;
}
#column .content .media_wrapper .caption{
  color:#777;
  font-size:0.92em;
  text-align:center;
  margin-top:0.75em;
}

#column .content .frame{
  display:block;
  margin:2em auto;
  padding:1em;
}
#column .content .frame > .inner > *:last-child{
  margin-bottom:0;
}

#column .content strong{
  font-weight:700;
}

#column .content .profile_block{
  background:var(--gray3);
  padding:1.4em;
  margin:2em auto 2.5em;
}
#column .content p a{
  color: var(--link);
  text-decoration:underline;
}

#column .content .profile_block .flex{
  margin-bottom:1em;
}
#column .content .profile_block.with_thumb .flex{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
#column .content .profile_block.with_thumb .flex .thumb{
  display:block;
  width:7em;
  height:0;
  padding-top:7em;
  position:relative;
  overflow:hidden;
  border-radius:100%;
}
#column .content .profile_block.with_thumb .flex .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}
#column .content .profile_block.with_thumb .flex .info{
  width:calc(100% - 8em);
}
#column .content .profile_block .flex .info{
  display:flex;
  flex-direction: column;
  gap:0.3em;
  font-weight:600;
}
#column .content .profile_block .flex .info .company{
  font-size:0.9em;
  line-height:1.3em;
}
#column .content .profile_block .flex .info .position{
  font-size:0.9em;
  line-height:1.3em;
}
#column .content .profile_block .flex .info .namae{
  font-size:1.05em;
  line-height:1.3em;
}
#column .content .profile_block .text{
  font-size:0.92em;
  line-height:1.6em;
}


#sidebar.interviewee_info h3{
  font-weight:700;
  font-size:1.25em;
  line-height:1.4em;
  margin-bottom:0.8em;
}

#sidebar.interviewee_info table{
  font-size:0.9em;
  width:100%;
}
#sidebar.interviewee_info table tbody tr th,
#sidebar.interviewee_info table tbody tr td{
  padding:0.7em 0.5em;
  line-height:1.5em;
  vertical-align:top;
  border-bottom:1px dashed #ccc;
}
#sidebar.interviewee_info table tbody tr th{
  color:var(--green1);
  font-weight:700;
}

#sidebar.interviewee_info table tbody tr.issue th{
  padding-bottom:0.3em;
  border-bottom:0;
}
#sidebar.interviewee_info table tbody tr.issue td{
  padding-top:0;
}
#sidebar.interviewee_info table tbody tr:last-child th,
#sidebar.interviewee_info table tbody tr:last-child td{
  border-bottom:0;
}

#sidebar.interviewee_info .medias_wrapper{
  background:var(--gray2);
  border-radius:0.4em;
  font-size:0.9em;
  padding:1em;
}
#sidebar.interviewee_info .medias_wrapper h4{
  font-weight:700;
  margin-bottom:0.8em;
}
#sidebar.interviewee_info .medias_wrapper .medias{
  display:flex;
  flex-wrap:wrap;
  gap:1em;
}
#sidebar.interviewee_info .medias_wrapper .medias span{
  color: var(--green1);
}

#sidebar.interviewee_info .line{
  display:block;
  width:100%;
  height:0;
  border-bottom:1px dashed #ccc;
  margin-top:1em;
}

#sidebar.interviewee_info .interviewee{
  margin-top:1.2em;
}
#sidebar.interviewee_info .interviewee h3{
  font-size:0.9em;
  color:var(--green1);
  font-weight:700;
  line-height:1.4em;
  margin-bottom:0.6em;
}
#sidebar.interviewee_info .interviewee .person{
  margin-bottom:0.8em;
}
#sidebar.interviewee_info .interviewee .person.thumb_type{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
#sidebar.interviewee_info .interviewee .person.thumb_type .thumb{
  width:4.5em;
  height:0;
  position:relative;
  padding-top:4.5em;
  border-radius:100%;
  overflow:hidden;
}
#sidebar.interviewee_info .interviewee .person.thumb_type .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}
#sidebar.interviewee_info .interviewee .person.thumb_type .info{
  width:calc(100% - 5.5em);
}
#sidebar.interviewee_info .interviewee .person .info{
  display:flex;
  flex-direction: column;
  gap:0.1em;
  align-items:flex-start;
  justify-content:flex-start
}
#sidebar.interviewee_info .interviewee .person .info > *{
  font-size:0.92em;
  font-weight:600;
  line-height:1.4em;
}

#sidebar.interviewee_info .interviewee .profile{
  font-size:0.85em;
  line-height:1.5em;
}


#single_casestudy > article{
  position:relative;
  margin: -15em auto 0;
}
.popular_casestudy{
  margin-top:3em;
  background:var(--gray1);
  padding:4em 0 2em;
}

#archive_document .faq_wrapper{
  width: var(--modal-width);
  max-width:92%;
  margin: 0 auto;
}
#archive_document .faq_wrapper .faq_list{
  width:100%;
}

#archive_document .faq_wrapper > div:not(:last-child){
  margin-bottom:4em;
}

#archive_document .faq_wrapper h2{
  font-size:1.6em;
  font-weight:700;
  line-height:1.5em;
  margin-bottom:1.2em;
  border-left:0.25em solid var(--green1);
  padding-left:0.7em;
}


#archive_document .faq_search > div{
  display:flex;
  width: var(--modal-width);
  max-width:100%;
  justify-content:left;
  flex-wrap:wrap;
  gap:0.8em 1.5%;
}
#archive_document .faq_search > div button{
  width:32%;
  background:#fff;
  line-height:1em;
  padding:1em;
  border:0.15em solid var(--green1);
  border-radius:0.4em;
  color:var(--green1);
  cursor:pointer;
  font-weight:700;
}
#archive_document .faq_search > div button.active{
  background:var(--green1);
  color:#fff;
}
#archive_document .faq_search > div button:hover{
  opacity:0.7;
}

.sns_buttons{
  display:flex;
  justify-content:right;
  gap:1em;
  margin-top:4em;
}

.sns_buttons > a{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  line-height:3em;
  min-width:12em;
  padding:0 2em;
  font-size:0.85em;
  border-radius:0.4em;
  color:#fff;
  position:relative;
}
.sns_buttons > a.x{
  background:#111111;
}
.sns_buttons > a.facebook{
  background:#5D74A0;
}

.sns_buttons > a i{
  font-size:1.2em;
  position:absolute;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:1em;
  height:1em;
  line-height:1em;
  left:0.5em;
  top:0;
  bottom:0;
  margin:auto;
  font-weight:200;
}

.wpcf7-form{
  width: var(--narrow-width);
  margin:0 auto;
  padding:3em;
  background:#fff;
  border-radius:1.5em;
}
.form_wrapper{
  font-size:0.9em;
}

.form_wrapper table{
  width:100%;
  margin-bottom:2em;
}

.form_wrapper table colgroup col.th{
  width:18em;
}
.form_wrapper table tbody tr th,
.form_wrapper table tbody tr td{
  padding:1.2em;
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  vertical-align:top;
  line-height:1.5em;
}
.form_wrapper table tbody tr th{
  background:#f4f4f4;
  font-weight:700;
}
.form_wrapper .must,
.form_wrapper .optional{
  font-size:0.8em;
  line-height:1.6em;
  padding:0 0.5em;
  border-radius:0.3em;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  vertical-align:middle;
  margin-left:0.5em;
  position:relative;
  top:-0.1em;
}
.form_wrapper .must{
  background: var(--red1);
  color:#fff;
}
.form_wrapper .optional{
  background: #979794;
  color:#fff;
}

.form_wrapper table tbody tr td input[type="text"],
.form_wrapper table tbody tr td input[type="email"],
.form_wrapper table tbody tr td input[type="tel"]{
  border:1px solid #ccc;
  padding:0.5em;
  width:100%;
}
.form_wrapper table tbody tr td textarea{
  border:1px solid #ccc;
  width:100%;
  padding:0.5em;
  height:12em;
}

.form_wrapper table tbody tr td .wpcf7-form-control-wrap{
  display:block;
}

.form_wrapper table tbody tr td .wpcf7-not-valid-tip{
  display:block;
  margin-top:0.3em;
}
.form_wrapper table tbody tr td .wpcf7-form-control.wpcf7-radio{
  display:flex;
  gap:0.5em;
  flex-direction:column;
}
.form_wrapper table tbody tr td .wpcf7-list-item{
  margin:0;
}

.form_wrapper .check_div{
  display:flex;
  flex-direction:column;
  gap:0.5em;
  align-items:flex-start;
}
.form_wrapper .check_div > label{
  cursor:pointer;
  display:inline-flex;
  justify-content:left;
  align-items:center;
  gap:0.25em;
}


.form_wrapper .acceptance{
  padding:1.5em;
  background: var(--gray2);
  border-radius:1em;
  text-align:center;
  line-height:1.6em;
  display:flex;
  flex-direction: column;
  gap:1em;
  margin-bottom:1.5em;
}
.form_wrapper .acceptance a{
  color: var(--link);
}

.form_wrapper .acceptance .wpcf7-list-item{
  font-weight:600;
  font-size:1.1em;
}

.form_wrapper .submit_wrapper{
  text-align:center;
}
.form_wrapper .submit_wrapper button{
  font-size:1.1em;
}
.form_wrapper .submit_wrapper input[type="submit"]{
  font-size:1.4em;
  display:flex;
  justify-content:center;
  align-items:center;
  line-height:2.4em;
  height:2.4em;
  width:11em;
  margin:0 auto;
  border-radius:0.4em;
  background: var(--green1);
  color:#fff;
  font-weight:700;
}
.form_wrapper .submit_wrapper input[type="submit"]:disabled{
  background:#aaa;
}
.form_wrapper .submit_wrapper input[type="submit"]:hover{
  opacity:0.7;
}

.wpcf7 form .wpcf7-response-output{
  margin-top:1em;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #f3cad7;
  background: #faf4f6;
  text-align:center;
  padding:0.8em;
  color: var(--red1);
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output{
  border-color: #f3cad7;
  background: #faf4f6;
  text-align:center;
  padding:0.8em;
  color: var(--red1);
}

.wpcf7 form.sent .wpcf7-response-output{
  border-color: #c9ebe6;
  background: #f4faf8;
  text-align:center;
  padding:0.8em;
  color: var(--green1);
}

#doc_download .wpcf7-form{
  width: 100%;
  margin:0 auto;
  padding:0;
  background:#fff;
  border-radius:unset;
}

#doc_download .form_wrapper .submit_wrapper input[type="submit"]{
  font-size:1.3em;
  width:17em;
  line-height:2.8em;
  height:2.8em;
}

#doc_download .wpcf7 form.sent .wpcf7-response-output{
  display:none;
}

.company_info{
  width:var(--narrow-width);
  margin:0 auto;
}

table.normal_table{
  width:100%;
}
table.normal_table colgroup col.th{
  width:15em;
}
table.normal_table tbody tr th,
table.normal_table tbody tr td{
  padding:1.5em;
  border-top:1px solid #ccc;
  border-bottom:1px solid #ccc;
  vertical-align:top;
  line-height:1.5em;
}
table.normal_table tbody tr th{
  background:#f4f4f4;
  font-weight:700;
}
table.normal_table tbody tr td address{
  margin-bottom:1em;
}
table.normal_table tbody tr td .map{
  width:100%;
  height:0;
  position:relative;
  padding-top:52.75%;
}
table.normal_table tbody tr td .map iframe{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}


#page_reason .comparison .comparison_table{
  width: var(--main-width);
  max-width:92%;
  margin:0 auto;
  table-layout:fixed;
  border-collapse:collapse;
}
#page_reason .comparison .comparison_table table colgroup col:nth-child(1){
  width:22%;
}
#page_reason .comparison .comparison_table table colgroup col:nth-child(2){
  width:28%;
}
#page_reason .comparison .comparison_table table colgroup col:nth-child(3){
  width:25%;
}
#page_reason .comparison .comparison_table table colgroup col:nth-child(4){
  width:25%;
}

#page_reason .comparison .comparison_table table{
  width:100%;
  margin-top:6em;
  border-collapse: separate;
}

#page_reason .comparison .comparison_table table thead th{
  padding:2em 1em;
  vertical-align:middle;
  text-align:center;
  line-height:1.4em;
  position:relative;
}
#page_reason .comparison .comparison_table table thead th strong{
  font-weight:800;
  display:block;
  font-size:1.4em;
  line-height:1.3em;
  position:relative;
  z-index:1;
}
#page_reason .comparison .comparison_table table thead th span{
  font-weight:800;
  display:block;
  font-size:1.25em;
  line-height:1.3em;
  position:relative;
  z-index:1;
}
#page_reason .comparison .comparison_table table thead tr th:nth-child(3)::before,
#page_reason .comparison .comparison_table table thead tr th:nth-child(4)::before{
  content:"\e90b";
  font-family:icomoon;
  color:#000;
  opacity:0.1;
  position:absolute;
  font-size:5.4em;
  left:0;
  right:0;
  bottom:0.5em;
  margin:auto;
  z-index:0;
}

#page_reason .comparison .comparison_table table thead tr th:not(:first-child){
  background:#aaa;
  color:#fff;
}
#page_reason .comparison .comparison_table table thead tr th:nth-child(2){
  border-left:0.4rem solid var(--green1);
  border-right:0.4rem solid var(--green1);
  background: var(--green1);
  border-top-left-radius: 1.5em;
}
#page_reason .comparison .comparison_table table thead tr th:nth-child(3){
  border-right:2px solid #ddd;
}
#page_reason .comparison .comparison_table table thead tr th:nth-child(4){
  border-right:0.4rem solid #aaa;
  border-top-right-radius: 1.5em;
}

#page_reason .comparison .comparison_table table thead tr th .adjust{
  position:absolute;
  left:-5px;
  top:-1.5em;
  height:100%;
  width:calc(100% + 10px);
  border-left:5px solid var(--green1);
  border-right:5px solid var(--green1);
  background: var(--green1);
  border-top-left-radius: 1.5em;
  border-top-right-radius: 1.5em;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  padding:1.5em 0 0;
  z-index:0;
}
#page_reason .comparison .comparison_table table thead tr th .adjust::before{
  content:"\e902";
  font-family:icomoon;
  color:#000;
  opacity:0.1;
  position:absolute;
  font-size:5.4em;
  left:0;
  right:0;
  bottom:0.4em;
  margin:auto;
  z-index:0;
}






#page_reason .comparison .comparison_table table tbody tr th,
#page_reason .comparison .comparison_table table tbody tr td{
  vertical-align:middle;
  text-align:center;
  line-height:1.4em;
}

#page_reason .comparison .comparison_table table tbody tr th{
  background: var(--gray2);
  font-weight:500;
  font-size:0.9em;
  border-top:0.4em solid #fff;
  border-bottom:0.4em solid #fff;
  border-right:0.4em solid #fff;
}
#page_reason .comparison .comparison_table table tbody tr th div{
  padding:1.5em 1em;
}
#page_reason .comparison .comparison_table table tbody tr:first-child th{
  border-top:0;
  border-top-left-radius: 1.5em;
}
#page_reason .comparison .comparison_table table tbody tr:last-child th{
  border-bottom:0;
  border-bottom-left-radius: 1.5em;
}


#page_reason .comparison .comparison_table table tbody tr td{
  padding:1.5em 1em;
  box-sizing:border-box;
  position:relative;
  font-weight:500;
}
#page_reason .comparison .comparison_table table tbody tr td:nth-child(2){
  background:#FFFCF2;
  border-left:0.4rem solid var(--green1);
  border-right:0.4rem solid var(--green1);
}

#page_reason .comparison .icon{
  display:block;
  font-weight:200;
  font-size:3em;
  width:1em;
  height:1em;
  line-height:1em;
  margin:0 auto 0.1em;
  position:relative;
}
#page_reason .comparison .icon::after{
  font-family:icomoon;
  background:#fff;
  position:absolute;
  width:100%;
  height:100%;
  line-height:1em;
  left:0;
  top:0;
}
#page_reason .comparison .icon.maru::after{
  content:"\e909";
}
#page_reason .comparison .icon.nijumaru::after{
  content:"\e908";
}
#page_reason .comparison .icon.sankaku::after{
  content:"\e905";
}
#page_reason .comparison .icon.maru{
  color: var(--green1);
}
#page_reason .comparison .icon.nijumaru{
  color: var(--red1);
}
#page_reason .comparison .icon.sankaku{
  color:#ddd;
}


#page_reason .comparison .comparison_table table tbody tr td:nth-child(2){
  border-left:0.4rem solid var(--green1);
}
#page_reason .comparison .comparison_table table tbody tr td:not(:nth-child(2)){
  border-right:2px solid #ddd;
}
#page_reason .comparison .comparison_table table tbody tr td:last-child{
  border-right:0.4rem solid #aaa;
}
#page_reason .comparison .comparison_table table tbody tr:last-child td{
  border-bottom:0.4rem solid #aaa;
}
#page_reason .comparison .comparison_table table tbody tr:last-child td:nth-child(2){
  border-bottom:0.4rem solid var(--green1);
  border-bottom-left-radius: 1.5em;
}
#page_reason .comparison .comparison_table table tbody tr:last-child td:nth-child(4){
  border-bottom-right-radius: 1.5em;
}
#page_reason .comparison .comparison_table table tbody tr td .adjust{
  position:absolute;
  left:-5px;
  bottom:-1.5em;
  height:calc(100% + 0.5em);
  width:calc(100% + 10px);
  border-left:5px solid var(--green1);
  border-right:5px solid var(--green1);
  border-bottom:5px solid var(--green1);
  background: #FFFCF2;
  border-bottom-left-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  padding:0 0 0.5em;
}

#page_reason .comparison .comparison_table table tbody tr td .price{
  color: var(--green1);
  font-weight:700;
  text-align:center;
  font-size:1.1em;
  line-height:1em;
}
#page_reason .comparison .comparison_table table tbody tr td .price big{
  font-size:2.4em;
  vertical-align:bottom;
  position:relative;
  bottom:-0.15em;
  line-height:1em;
}



#page_reason .comparison .comparison_table table tbody tr td:nth-child(2) .icon::after{
  background:#FFFCF2;
}


#page_reason .comparison .comparison_table table tbody tr:not(:last-child) td{
  border-bottom:1px dashed #aaa;
}
#page_reason .comparison .comparison_table table tbody tr:not(:last-child) td:nth-child(2){
  border-bottom:1px dashed var(--green1);
}
#page_reason .comparison .comparison_list{
  display:none;
}

.second_title{
  background:var(--green2);
  padding:5em 0;
  display:flex;
  flex-direction:column;
  gap:1em;
  align-items:center;
  justify-content:center;
}
.second_title .title{
  font-size: 3em;
  line-height: 1.4em;
  font-weight: 700;
  color:#fff;
}
.second_title .desc{
  font-size: 1.24em;
  font-weight: 500;
  line-height: 1.7em;
  color: #111;
}

#page_reason .feature .flex{
  width:var(--sub-width);
  max-width:92%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1.7em 0;
  margin-bottom:2.5em;
}
#page_reason .feature .flex > dl{
  width:31.5%;
  background:#fff;
  border-radius:1em;
  padding:1.2em;
}
#page_reason .feature .flex > dl dt{
  background:var(--gray3);
  line-height:1.2em;
  padding:0.3em 2em;
  font-weight:600;
  text-align:center;
  margin-bottom:1em;
  position:relative;
}
#page_reason .feature .flex > dl dt .num{
  position:absolute;
  color:#fff;
  background:var(--red3);
  display:flex;
  width:4.5em;
  height:4.5em;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  gap:0.3em;
  border-radius:100%;
  left:-2.5em;
  top:-2.5em;
}
#page_reason .feature .flex > dl dt .num > span:nth-child(1){
  display:block;
  text-align:center;
  font-size:0.75em;
  font-weight:700;
  line-height:1em;
}
#page_reason .feature .flex > dl dt .num > span:nth-child(2){
  display:block;
  text-align:center;
  font-size:1.1em;
  font-weight:700;
  line-height:1em;
}

#page_reason .feature .flex > dl dd img{
  display:block;
  width:70%;
  margin:0 auto 0.3em;
}
#page_reason .feature .flex > dl dd strong{
  display:block;
  text-align:center;
  font-size:1.1em;
  font-weight:700;
  line-height:1.4em;
  margin-bottom:0.5em;
}
#page_reason .feature .flex > dl dd p{
  font-size:0.92em;
  font-weight:500;
  line-height:1.4em;
}

#page_reason .price_plan .flex{
  width:var(--sub-width);
  max-width:92%;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}

#page_reason .price_plan .flex > dl{
  width:31.5%;
  padding:2em 1.2em 1.2em;
  border-radius:1em;
  background:#F6F6F6;
  border:0.4em solid #E9E7E7;
}
#page_reason .price_plan .flex > dl dt{
  font-weight:600;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap:0.4em;
  height:3em;
  line-height:1em;
  margin-bottom:1em;
  position:relative;
}
#page_reason .price_plan .flex > dl dt span{
  font-size:1.3em;
  line-height:1em;
}
#page_reason .price_plan .flex > dl dt strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-direction: column;
  line-height:2.8em;
  width:10em;
  padding:0;
  border-radius:0.6em;
  background: var(--green1);
  color:#fff;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  top:-4em;
}
#page_reason .price_plan .flex > dl dt strong::after{
  content:"";
  font-size:0.6em;
  border-top:1em solid var(--green1);
  border-left:1em solid transparent;
  border-right:1em solid transparent;
  width:0;
  height:0;
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(-1em + 1px);
}

#page_reason .price_plan .flex > dl dd ul {
  font-weight:500;
}

#page_reason .price_plan .flex > dl dd ul li{
  padding:0.5em 0 0.5em 2em;
  line-height:1.5em;
  position:relative;
  font-size:0.92em;
}
#page_reason .price_plan .flex > dl dd ul li:last-child{
  padding-bottom:0;
}
#page_reason .price_plan .flex > dl dd ul li::before{
  content:"\e918";
  font-family:icomoon;
  font-size:inherit;
  font-weight:200;
  position:absolute;
  left:0;
  top:0.6em;
  color:#B2B2B2;
  transform:scale(1.7);
  transform-origin: left center;
}

#page_reason .price_plan .flex > dl.quacareer{
  background:#FFFCF2;
  border:0.4em solid var(--green1);
}
#page_reason .price_plan .flex > dl.quacareer dd ul li::before{
  color:var(--green1);
}




.relate_column_list{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
}
.relate_column_list li{
  padding:0.8em 0;
  width:100%;
}
.relate_column_list li:not(:last-child){
  border-bottom:1px solid #ddd;
}
.relate_column_list li a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  width:100%;
}

.relate_column_list li a .thumb{
  width:5em;
  height:0;
  padding-top:5em;
  position:relative;
}
.relate_column_list li a .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}
.relate_column_list li a .title{
  width:calc(100% - 5.6em);
  font-weight:700;
  line-height:1.5em;
}
.relate_column_list li a .title .category{
  font-size:0.8em;
  margin-top:0.1em;
  line-height:1.5em;
  color:#999;
  font-weight:400;
}
.relate_column_list li a .title time{
  font-size:0.9em;
  margin-top:0.1em;
  line-height:1.5em;
  font-weight:500;
}

.popular_column {
  margin-top: 3em;
  background: var(--gray1);
  padding: 4em 0 2em;
}
#archive_column .popular_column {
  margin-top: 0;
}


#archive_column .post_list,
.popular_column .post_list{
  display:flex;
  gap:2em 0;
  flex-wrap:wrap;
  justify-content:left;
  width: calc(100% - 16em);
  margin: 0 auto 3em;
}
#archive_column .post_list li{
  width:20%;
}
#archive_column .post_list li{
  width:25%;
}
.popular_column .post_list li a{
  background:transparent;
}


.single #single_column article #column{
  background: #fff;
  padding:0;
  overflow:hidden;
}
.single #single_column article #column > .eyecatch{
  display:block;
  width:100%;
  height:0;
  padding-top:66.6666%;
  position:relative;
  margin-bottom:1em;
}
.single #single_column article #column > .eyecatch img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}

.single #single_column article #column > .inner{
  max-width:100%;
  padding:0.5em 1em 2.5em;
}

#single_column #column h1{
  font-weight:700;
  font-size:1.6em;
  line-height:1.5em;
  margin-bottom:0.4em;
}
#single_column #column .column_info{
  margin-bottom:1.5em;
  display:flex;
  gap:0.8em;
  flex-wrap:wrap;
}
#single_column #column .column_info > time{
  display:inline-block;
  font-size: 0.94em;
}
#single_column #column .column_info > .category{
  display:inline-flex;
  font-size: 0.94em;
  gap:0.6em;
  flex-wrap:wrap;
}
#single_column #column .column_info > .category a{
  display:inline-block;
  color: var(--green1);
  text-decoration:none;
  font-weight: 400;
}

#single_column #column .content{
  font-size:0.94em;
}

.comingsoon{
  text-align:center;
  font-size:1.5em;
  padding:1em 0;
  font-weight:700;
  color:#aaa;
}

.home main section:not(#eyecatch,#aboutus)#columns{
  padding:3.5em 0;
}


header .smp_menu,
header .smp_menu_close,
header .menu_overlay{
  display:none;
}

#page_inquiry .satori_wrapeer .satori__btn.submit{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  background: var(--green1);
  color:#fff;
  font-weight:700;
  font-size:1.3em;
  line-height:2.6em;
  padding:0 1.5em;
  border-radius:0.4em;
  gap:0.2em;  
}

.litybox .heading{
  font-size:1.4em;
  margin-bottom:1em;
}

.modal .inner{
  padding:0 2em;
}
.modal .desc{
  display:flex;
  flex-direction: column;
  gap:1em;
  font-size:0.9em;
  margin-bottom:2em;
  line-height:1.6em;
  font-weight:500;
}

.modal .form_parts{
  display:flex;
  flex-direction: column;
  gap:1em;
}
.modal .form_parts label{
  display:block;
  font-weight:700;
  margin-bottom:0.3em;
}
.modal .form_parts .error{
  color: var(--red1);
  font-size:0.9em;
  margin-top:0.3em;
}
.modal .form_parts .hide{
  display:none;
}
.modal .form_parts input[type="text"],
.modal .form_parts input[type="search"],
.modal .form_parts input[type="tel"],
.modal .form_parts input[type="email"],
.modal .form_parts input[type="password"],
.modal .form_parts input[type="number"]{
  border: 1px solid #ccc;
  padding: 0.5em;
  width: 100%;
}
.modal#loginbox .form_parts .to_signup{
  display:inline-flex;
  padding:0 1.5em;
  line-height:2.6em;
  border:0.2em solid var(--link);
  border-radius:2.6em;
  font-size:0.9em;
  color: var(--link);
  cursor: pointer;
  font-weight:700;
}
.modal#loginbox .form_parts .to_signup:hover{
  opacity:0.7;
}

.modal#loginbox .form_parts .to_lostpassword{
  font-size:1em;
  color: var(--link);
  cursor: pointer;
}
.modal#loginbox .form_parts .to_lostpassword:hover{
  opacity:0.7;
}

.form_wrapper .seimei{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:0.6em;
}
.form_wrapper .seimei > div{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
}
.form_wrapper .seimei > div > span{
  width:2.5em;
}
.form_wrapper .seimei > div > div{
  width:calc(100% - 2.6em);
}
.modal#signupbox .form_wrapper table,
.modal#signupbox .form_wrapper .acceptance{
  margin-bottom:0;
}

.loading body::before{
  content:"";
  background:#000;
  opacity:0.4;
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:100%;
  z-index:calc(infinity);
}
.loading body::after{
  content:"\e97c";
  font-family:icomoon;
  color:#fff;
  font-size:5em;
  width:1em;
  height:1em;
  position:fixed;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  z-index:calc(infinity);
  opacity:0.7;
  animation: spin 3s linear infinite;
}
@keyframes spin{
  0%{transform: rotate(0deg);}
  100%{transform: rotate(360deg);}
}
@keyframes spin{
  0%{transform: rotate(0deg);}
  100%{transform: rotate(360deg);}
}
@keyframes spin{
  0%{transform: rotate(0deg);}
  100%{transform: rotate(360deg);}
}

#limited{
  overflow:hidden;
  width:100%;
  height:17em;
  position:relative;
}
.login #limited{
  height:unset;
}
#limited::after{
  content:"";
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.3+0,1+100 */
  background: linear-gradient(to bottom,  rgba(255,255,255,0.3) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  z-index:1;
}
#limited_inner{
  display:none;
  position:absolute;
  z-index:2;
  left:0;
  right:0;
  margin:auto;
  top:1em;
  width:90%;
  background:#fff;
  padding:1.5em 1em;
  border:1px solid #ddd;
  text-align:center;
  box-shadow:0 0 1em rgba(0,0,0,0.1);
}
#limited_inner h3{
  font-size:1.2em;
  font-weight:700;
  margin-bottom:0.8em;
  line-height:1.5em;
}
#limited_inner p{
  font-size:0.92em;
}
#limited_inner .button_wrapper{
  margin-bottom:1em;
}
#limited_inner .signup_button{
  color:var(--link);
  font-size:0.92em;
}
#limited_inner .signup_button:hover{
  opacity:0.8;
  text-decoration:underline;
}


@media screen and (min-width: 1921px){
  html,body{
    font-size:0.83vw;
  }
  :root {
    --main-width: 75rem;
    --sub-width: 68.75rem;
    --narrow-width: 62.5rem;
    --modal-width: 50rem;
  }
  
}
@media screen and (max-width: 1920px){
  main section:not(#eyecatch) > .inner{
    overflow:hidden;
  }
  main section#reason,
  main section#casestudy,
  main section#columns,
  main section#download_contents,
  main#page_about section.reasons,
  main#page_plans section.package_plan,
  main#page_service section{
    overflow:hidden;
  }
  main section#reason:not(#eyecatch) > .inner,
  main section#casestudy:not(#eyecatch) > .inner,
  main section#columns:not(#eyecatch) > .inner,
  main section#download_contents:not(#eyecatch) > .inner,
  main#page_about section.reasons:not(#eyecatch) > .inner,
  main#page_plans section.package_plan:not(#eyecatch) > .inner,
  main#page_service section:not(#eyecatch) > .inner{
    overflow:visible;
  }


  .swiper-outer{
    width:1800px;
    position:relative;
    left:calc((100% - 1800px) / 2);
  }
  .swiper-container,
  .list_wrapper{
    width:1600px;
  }
  #eyecatch #casestudy{
    width:100%;
    overflow:hidden;
  }
  #eyecatch .swiper-outer{
    width: 2750px;
    left:calc((100% - 2750px) / 2);
    margin-bottom:2em;
  }
  #eyecatch .swiper-container{
    width: 100%;
  }
  #archive_document .document_list,
  #archive_casestudy .casestudy_list,
  .popular_casestudy .casestudy_list,
  #archive_column .post_list,
  .popular_column .post_list{
    width:1650px;
    max-width:90%;
  }
}
@media screen and (max-width: 1750px){
  header menu{
    flex-direction:column;
    align-items: flex-end;
    gap:1em;
  }
  header menu .page_menu{
    order:2;
  }
  header menu .inquiry_menu{
    order:1;
  }
  body:not(.home) main{
    padding-top:6em;
  }
}
@media screen and (max-width: 1500px){
  #eyecatch .v_catch{
    right: 3em;
  }
  #archive_casestudy .casestudy_list li,
  .popular_casestudy .casestudy_list li,
  #archive_document .document_list li,
  .popular_column .post_list li{
    width:32%;
  }
  #archive_column .post_list li{
    width:33.3333%;
  }
}
@media screen and (max-width: 1300px){
  #eyecatch{
    font-size:1.3vw;
    background-position:calc(50% + 5em) 50%;
  }
  @-webkit-keyframes background_move{
    0% {background-position:calc(50% + 5em) calc(50% - 0.4em);}
    100% {background-position:calc(50% + 5em) 50%;}
  }
  @-moz-keyframes background_move{
    0% {background-position:calc(50% + 5em) calc(50% - 0.4em);}
    100% {background-position:calc(50% + 5em) 50%;}
  }
  @keyframes background_move{
    0% {background-position:calc(50% + 5em) calc(50% - 0.4em);}
    100% {background-position:calc(50% + 5em) 50%;}
  }


  #eyecatch .catchcopy{
    padding: 8em 0 3em;
  }
  #eyecatch .catchcopy big{
    text-align:left;
    width:100%;
    padding:2em 0.5em;
  }
  #eyecatch .catchcopy big .pc_inline{
    display:none!important;
  }
  #eyecatch .catchcopy big .tb_inline{
    display:inline!important;
  }
  #eyecatch .v_catch{
    width:14vw;
    height:auto;
    top: 8em;
    animation: 1.5s ease 0s 1 normal none running v_catch_move;
  }
  @-webkit-keyframes v_catch_move{
    0% {opacity:0.5;top:7em;filter: unset;}
    100% {opacity:1;top:8em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }
  @-moz-keyframes v_catch_move{
    0% {opacity:0.5;top:7em;filter: unset;}
    100% {opacity:1;top:8em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }
  @keyframes v_catch_move{
    0% {opacity:0.5;top:7em;filter: unset;}
    100% {opacity:1;top:8em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }

  .home .casestudy_list{
    font-size:16px;
  }

  header{
    overflow:hidden;
  }
  .menu_active header{
    overflow:visible;
  }
  header menu{
    background:#fff;
    width:30em;
    max-width:85vw;
    height:100vh;
    overflow:scroll;
    position:absolute;
    right:0;
    top:0;
    z-index:101;
    right:-100%;
    -webkit-transition-property:right;
    -webkit-transition-duration:0.2s;
    -webkit-transition-timing-function:ease;
    -moz-transition-property:right;
    -moz-transition-duration:0.2s;
    -moz-transition-timing-function:ease;
    -o-transition-property:right;
    -o-transition-duration:0.2s;
    -o-transition-timing-function:ease;
    transition-property:right;
    transition-duration:0.2s;
    transition-timing-function:ease;
    justify-content:flex-start;
    padding:1em;
    gap:1.5em;
  }
  header menu .page_menu{
    width:100%;
  }
  header menu .page_menu li{
    width:100%;
  }
  header menu .page_menu li:not(:last-child) {
    border-right: 0;
  }
  header menu .page_menu li{
    border-bottom: 1px solid #ddd;
  }
  header menu .page_menu li a{
    display:block;
    padding:1em 0.5em;
    width:100%;
    text-align:center;
  }
  header .smp_menu,
  header .smp_menu_close{
    display:inline-flex;
    cursor:pointer;
    font-size:2em;
    width:1em;
    height:1em;
    line-height:1em;
  }
  header .smp_menu::before{
    content:"\e91a";
    display:inline-flex;
    font-family:icomoon;
    font-weight:200;
    color: var(--black);
  }
  header .smp_menu_close::before{
    content:"\e919";
    display:inline-flex;
    font-family:icomoon;
    font-weight:200;
    color: var(--black);
  }
  header .smp_menu:hover{
    opacity:0.7;
  }
  header menu.active{
    display:flex;
    right:0;
  }
  header menu .page_menu{
    flex-direction:column;
  }

  header menu .inquiry_menu{
    width:100%;
    justify-content:center;
  }
  header menu .inquiry_menu .login_button,
  header menu .inquiry_menu .logout_button{
    display:none;
  }

  header > .login_button,
  header > .logout_button{
    font-weight:600;
    display:inline-flex;
    align-items:center;
    color:var(--black);
    font-size:2em;
    margin:0 0.6em 0 auto;
  }

  header > .login_button::before{
    content:"\e914";
    font-family:icomoon;
    font-weight:200;
  }
  header > .logout_button::before{
    content:"\e915";
    font-family:icomoon;
    font-weight:200;
    color:var(--green1);
  }

  .menu .menu_overlay{
    background:transparent;
    -webkit-transition-property:background;
    -webkit-transition-duration:0.2s;
    -webkit-transition-timing-function:ease;
    -moz-transition-property:background;
    -moz-transition-duration:0.2s;
    -moz-transition-timing-function:ease;
    -o-transition-property:background;
    -o-transition-duration:0.2s;
    -o-transition-timing-function:ease;
    transition-property:background;
    transition-duration:0.2s;
    transition-timing-function:ease;
  }

  .menu_active .menu_overlay{
    display:block;
    position:fixed;
    width:100vw;
    height:100vh;
    background:rgba(0,0,0,0.7);
    z-index:100;
    left: 0;
    top: 0;
  }
  header menu .page_menu{
    order:1;
  }
  header menu .inquiry_menu{
    order:2;
  }
  #whatwecando .media_list{
    display:grid;
    grid-template: auto / 20% 20% 20% 20%;
    place-items: center;
    gap: 1.2em 0;
  }
  #whatwecando .media_list li.dummy{
    display:block;
    opacity:0;
    visibility:hidden;
  }
  #page_about .realization .resolution ol{
    font-size:1em;
  }

  .sercive_menu ul{
    font-size:1.35vw;
  }

  .single article {
    flex-direction: column;
  }
  .single article #column{
    width:100%;
  }
  #sidebar_wrapper{
    width:100%;
    height:unset!important;
  }
  .single article #sidebar{
    width:100%;
    position:static!important;
  }
  #single_document article #sidebar,
  #single_column article #sidebar{
    width:calc(100% + 8%);
    left:-4%!important;
    position:relative!important;
    top:unset!important;
    right:unset!important;
    bottom:unset!important;
    background: var(--gray3);
    border-radius:0;
  }
  #single_column > article,
  #single_document > article{
    margin-bottom:0;
  }

  .single #single_casestudy article #sidebar{
    border:0.3em solid #eee;
    margin-bottom:2em;
    border-radius:0;
  }
  .relate_column_list,
  .relate_doc_list{
    background:#fff;
    border-radius:0.6em;
    padding:0.3em 0.6em;
  }
  .popular_column{
    margin-top:0;
    padding: 2em 1.2em 2em;
  }
  .popular_column .heading {
    font-size: 1.4em;
    line-height: 1.4em;
    font-weight: 700;
    margin: 0 auto 1em;
    text-align:left;
  }
  .popular_column .heading span {
    display: inline-block;
    position: relative;
    padding: 0 0 0.6em;
  }
  .popular_column .heading span::after {
    content: "";
    width: 100%;
    height: 0.2em;
    border-radius: 0.2em;
    background: var(--green1);
    position: absolute;
    left: 0;
    bottom: 0;
    font-size:inherit;
    margin:0;
  }
  
  #single_column .popular_column .post_list{
    max-width:100%;
    background:#fff;
    border-radius:0.6em;
    padding:0.3em 0.6em;
    gap:0;
    margin:0;
  }
  #single_column .popular_column .post_list li:not(:last-child) {
    border-bottom: 1px solid #ddd;
  }
  #single_column .popular_column .post_list li {
    padding: 0.8em 0;
    width: 100%;
  }
  #single_column .popular_column .post_list li .inner{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
  }
  #single_column .popular_column .post_list li .inner .thumb{
    width: 5em;
    height: 0;
    padding-top: 5em;
    position: relative;
  }
  #single_column .popular_column .post_list li .inner .info {
    width: calc(100% - 5.6em);
    font-weight: 700;
    line-height: 1.5em;
    padding:0;
    margin:0;
    font-size:inherit;
  }
  #single_column .popular_column .post_list li .inner .info time {
    font-size: 0.9em;
    margin-top: 0.1em;
    line-height: 1.5em;
    font-weight: 500;
    margin-bottom: 0;
  }
  #single_column .popular_column .post_list li .info .category_wrapper,
  #single_column .popular_column .post_list li .info .to_single{
    display:none;
  }

}
@media screen and (max-width: 1200px){
  #archive_column .post_list li{
    width:50%;
  }
}
@media screen and (max-width: 1000px){

  #whatwecando .media_list{
    display:flex;
    gap: 1.2em;
  }
  #whatwecando .media_list li.dummy{
    display:none;
  }
  #footer_index .inner .flex{
    flex-wrap:wrap;
    justify-content:left;
    gap:3em 0;
  }
  #footer_index .inner .flex dl{
    width:30%;
    padding:0 1em;
  }
  #page_about .realization .trouble ul{
    justify-content:space-between;
    flex-wrap:wrap;
    gap:1.2em 0;
  }
  #page_about .realization .trouble ul > li{
    width:48%;
  }
  .items_wrapper .item .title{
    padding-right:9em;
  }
  #page_reason .comparison .comparison_table{
    display:none;
  }
  #page_reason .comparison .comparison_list{
    display:block;
    width:92%;
    margin:0 auto;
  }
  #page_reason .comparison .comparison_list .flex{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:1.5em;
  }
  #page_reason .comparison .comparison_list .flex > .box{
    width:100%;
    border:0.3em solid #aaa;
    border-radius:1em;
  }
  #page_reason .comparison .comparison_list .flex > .box.quacareer{
    border:0.3em solid var(--green1);
  }

  #page_reason .comparison .comparison_list .flex > .box h3{
    background:#aaa;
    color:#fff;
    padding:0.6em;
    font-size:1.3em;
    font-weight:700;
    text-align:center;
  }
  #page_reason .comparison .comparison_list .flex > .box.quacareer h3{
    background:var(--green1);
  }
  #page_reason .comparison .comparison_list .flex > .box dl{
    width:100%;
    display:flex;
    justify-content:center;
  }
  #page_reason .comparison .comparison_list .flex > .box dl:not(:last-child){
    border-bottom:1px dotted #ccc;
  }
  #page_reason .comparison .comparison_list .flex > .box dl:last-child{
    border-bottom-left-radius: 1em;
    overflow:hidden;
  }

  #page_reason .comparison .comparison_list .flex > .box dl dt{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:var(--gray2);
    padding:0.5em;
    width:10em;
    line-height:1.3em;
  }
  #page_reason .comparison .comparison_list .flex > .box dl dd{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0.5em;
    width:calc(100% - 10em);
    text-align:center;
    line-height:1.3em;
  }

  #page_plans .package_plan .plans_table{
    display:none;
  }
  
  #page_plans .package_plan .plans_list{
    display:block;
    width:100%;
    margin:0 auto;
  }
  #page_plans .package_plan .plans_list .flex{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:2em;
  }
  #page_plans .package_plan .plans_list .flex > .box{
    width:100%;
    border:0.3em solid var(--green1);
    border-radius:1em;
  }
  #page_plans .package_plan .plans_list .flex > .box.osusume{
    border:0.3em solid var(--red1);
  }

  #page_plans .package_plan .plans_list .flex > .box h3{
    background:var(--green1);
    color:#fff;
    padding:0.6em;
    font-size:1.3em;
    font-weight:700;
    text-align:center;
  }
  #page_plans .package_plan .plans_list .flex > .box.osusume h3{
    background:var(--red1);
    position:relative;
  }
  #page_plans .package_plan .plans_list .flex > .box.osusume h3::before {
    content: "";
    background-image: url(assets/images/fukidashi_osusume.svg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    width: 7em;
    height: 3em;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -1.7em;
    animation: jouge 1s linear infinite alternate;
  }
  #page_plans .package_plan .plans_list .flex > .box h3  strong{
    font-size:1.1em;
    display:block;
    line-height:1.4em;
  }
  #page_plans .package_plan .plans_list .flex > .box h3 span{
    display:block;
    margin-top:0.2em;
    font-size:0.8em;
    line-height:1.4em;
  }
  #page_plans .package_plan .plans_list .flex > .box dl{
    width:100%;
    display:flex;
    justify-content:center;
  }
  #page_plans .package_plan .plans_list .flex > .box dl:not(:last-child){
    border-bottom:1px dotted #ccc;
  }
  #page_plans .package_plan .plans_list .flex > .box dl:last-child{
    border-bottom-left-radius: 1em;
    overflow:hidden;
  }

  #page_plans .package_plan .plans_list .flex > .box dl dt{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:var(--gray2);
    padding:0.7em 0.5em;
    width:12em;
    line-height:1.3em;
  }
  #page_plans .package_plan .plans_list .flex > .box dl dt span{
    font-size:0.85em;
  }
  #page_plans .package_plan .plans_list .flex > .box dl dt span small{
    font-size:0.8em;
    line-height:1.4em;
    display:block;
  }
  #page_plans .package_plan .plans_list .flex > .box dl dd{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0.7em 0.5em;
    width:calc(100% - 12em);
    text-align:center;
    line-height:1.3em;
  }
  #page_plans .package_plan .plans_list .flex > .box.osusume .icon.maru{
    color: var(--red1);
  }

  #page_plans .package_plan .plans_list .flex > .box .price{
    color: var(--green1);
    font-weight: 700;
    text-align: center;
    font-size: 1.1em;
    line-height: 1em;
  }
  #page_plans .package_plan .plans_list .flex > .box.osusume .price{
    color: var(--red1);
  }
  #page_plans .package_plan .plans_list .flex > .box .price big {
    font-size: 1.4em;
    vertical-align: bottom;
    position: relative;
    bottom: -0.15em;
    line-height: 1em;
  }
  #archive_casestudy .casestudy_list li,
  .popular_casestudy .casestudy_list li,
  #archive_document .document_list li,
  #archive_column .post_list li,
  .popular_column .post_list li{
    width:48%;
  }
  
}


@media screen and (max-width: 900px){
  html,body{
    font-size:15px;
  }
  #page_about .realization .resolution ol{
    font-size:0.8em;
  }
  #page_reason .feature .flex > dl{
    width:48%;
  }
  #page_plans .desc .medias img{
    height:20vw;
  }
  .sercive_menu ul{
    font-size:1.2em;
    flex-direction:column;
    background: var(--gray2);
    gap:0.7em;
    padding:2em 0 0;
  }
  .sercive_menu ul li{
    width:100%;
    padding:0;
  }
  .sercive_menu ul li a{
    min-height:4em;
    width:92%;
    margin:0 auto;
    background: #fff;
    border-radius:0.4em;
    padding:0.3em 0.6em;
  }
  .sercive_menu ul li a i {
      left: unset;
      right: 1.5em;
      top:0;
      bottom: 0;
      margin: auto;
  }
  .sercive_menu ul li:not(:last-child) a {
    border-right:0;
  }

  #page_service .flowchart_wrapper{
    margin-top:0;
  }
  #page_service .flowchart{
    flex-direction: column;
    gap:0.5em;
  }
  #page_service .flowchart li{
    align-items:center;
    padding:1em;
  }
  #page_service .flowchart li > span{
    display:block;
    width:100%;
    background: var(--gray2);
    padding:0.3em 0;
  }
  #page_service .flowchart li .thumb{
    font-size:6em;
    position:absolute;
    bottom:0.05em;
    left:0.1em;
    margin:auto;
    opacity:0.2;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:0;
  }
  #page_service .flowchart li > p{
    font-size:1.3em;
    width:100%;
    text-align:center;
    font-weight:700;
    position:relative;
    z-index:1;
    min-height:3em;
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
  }
  #page_service .flowchart li p small{
    font-size:0.65em;
  }
  #page_service .flowchart li:not(:first-child)::before {
    content: "";
    width: 4.5em;
    height: 3.5em;
    bottom:unset;
    left:0;
    right:0;
    margin:auto;
    top:-1px;
    transform:rotate(90deg);
  }
  #page_service .flowchart li .fukidashi{
    right:-1em;
    top:unset;
    bottom:-2em;
    z-index:1;
  }
  #page_service .flowchart li .fukidashi::after{
    font-size: 0.6em;
    border-right: 1em solid var(--red2);
    border-top: 1em solid transparent;
    border-bottom: 1em solid transparent;
    border-left:unset;
    right:unset;
    margin: auto;
    bottom:0;
    top:0;
    left: calc(-1em + 1px);
  }
  #page_service .flowchart_wrapper .saitan{
    display:none;
  }
}

@media screen and (max-width: 800px){
  .download_box .not_logged_in div{
    flex-wrap:wrap;
    gap:0.8em 0;
    border-radius:0.5em;
  }
  .download_box .not_logged_in div span{
    width:100%;
    margin-right:0;
    text-align:center;
  }
  .download_box .not_logged_in div span::after{
    display:none;
  }
}

@media screen and (max-width: 768px){
  html,body{
    font-size:3.5vw;
  }
  :root {
    --main-width: 100%;
    --sub-width: 100%;
    --narrow-width: 100%;
    --modal-width:100%;
  }

  header .logo{
    width:8em;
  }
  #eyecatch{
    background-position: calc(50% + 22em) 50%;
    background-size:cover;
    animation: 1.5s ease 0s 1 normal none running background_move;
    padding-bottom: 2em;
  }
    
  @-webkit-keyframes background_move{
    0% {background-position:calc(50% + 22em) calc(50% - 2em);}
    100% {background-position:calc(50% + 22em) 50%;}
  }
  @-moz-keyframes background_move{
    0% {background-position:calc(50% + 22em) calc(50% - 2em);}
    100% {background-position:calc(50% + 22em) 50%;}
  }
  @keyframes background_move{
    0% {background-position:calc(50% + 22em) calc(50% - 2em);}
    100% {background-position:calc(50% + 22em) 50%;}
  }
  #eyecatch .v_catch{
    display:none;
  }
  #eyecatch .v_catch_smp{
    display:block;
    position:absolute;
    filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));
    animation: 1.5s ease 0s 1 normal none running v_catch_move;
    width:17vw;
    height:auto;
    top:9.5em;
    right:3em;
  }
  @-webkit-keyframes v_catch_move{
    0% {opacity:0.5;top:8.5em;filter: unset;}
    100% {opacity:1;top:9.5em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }
  @-moz-keyframes v_catch_move{
    0% {opacity:0.5;top:8.5em;filter: unset;}
    100% {opacity:1;top:9.5em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }
  @keyframes v_catch_move{
    0% {opacity:0.5;top:8.5em;filter: unset;}
    100% {opacity:1;top:9.5em;filter: drop-shadow(0 0 2em rgba(0,0,0,0.4));}
  }


  #eyecatch .inquiry_menu .button_m{
    font-size:1.15em;
  }
  
  #eyecatch .catchcopy{
    font-size:1.4em;
    padding:16em 0 3em;
  }
  #eyecatch .catchcopy big{
    font-size:2.7em;
    padding:0 0.9em 2em;
    line-height:1.7em;
  }
  #eyecatch small{
    font-size:1.3em;
  }
  #eyecatch .inquiry_menu{
    flex-direction: column;
    font-size:1.85em;
  }
  .swiper-container{
    width:100%;
  }
  .swiper-outer {
    width: 120em;
    left: calc((100% - 120em) / 2);
  }
  #eyecatch .swiper-outer {
    width: 120em;
    left: calc((100% - 120em) / 2);
  }
  #eyecatch #casestudy{
    font-size: 3.5vw;
  }
  #eyecatch .casestudy_list {
    font-size: 0.8em;
  }
  #eyecatch .casestudy_list li .inner:hover{
    opacity:1;
    transform:unset;
  }

  #eyecatch .casestudy_list li .thumb {
    width:45%;
    padding-top: 40%;
  }
  #eyecatch .casestudy_list li .info{
    width:55%;
  }

  .readmore_small{
    font-size:1em;
  }
  .home main section:not(#eyecatch,#aboutus)#columns {
    padding:2.5em 0;
  }
  .post_list li .thumb{
    width: 40%;
    padding-top: 26.6666%;
  }
  .post_list li .info{
    width:60%;
  }

  #archive_column .post_list li .thumb{
    width:7.4em;
    padding-top:4.9333em;
  }
  #archive_column .post_list li .info{
    width:calc(100% - 7.4em);
  }

  #aboutus .trouble{
    padding:2.5em 0 3em;
  }
  #aboutus .trouble h2{
    font-size:1.6em;
  }
  #aboutus .trouble h3{
    font-size:1.4em;
  }
  #aboutus .trouble ul{
    flex-wrap:wrap;
    gap:1.2em 0;
  }
  #aboutus .trouble ul > li{
    width:48%;
  }
  #aboutus .trouble ul > li span{
    font-size:1em;
  }
  #aboutus .trouble::after{
    font-size:2em;
  }

  #aboutus .solution h2{
    font-size:1.6em;
  }

  #aboutus .solution{
    padding-top:2em;
  }
  #aboutus .solution .inner{
    border-radius:2em;
  }
  #aboutus .solution .fukidashi{
    width:90%;
  }

  #aboutus .solution .button_m{
    font-size:1.1em;
  }

  .heading_main{
    font-size:1.8em;
  }
  .heading_small{
    font-size:1.2em;
    margin: 0 auto 1em;
  }

  main section:not(#eyecatch,#aboutus){
    padding:4em 0;
  }

  #reason .heading_main{
    position:relative;
    z-index:1;
  }
  #reason .flex{
    position:relative;
    z-index:0;
  }
  #reason .flex .box .text{
    width:100%;
  }
  #reason .flex .box .text h3::before{
    margin-bottom:0.2em;
  }

  #reason .flex .box > .image{
    display:none;
  }
  #reason .flex .box .text > .image{
    display:block;
    width:70%;
    margin:0 auto 1.2em;
  }
  #reason .flex .box .text > .image img{
    display:block;
    width:100%;
  }

  #reason .flex .box .text h3{
    font-size:1.8em;
    text-align:center;
  }
  .inquiry_box{
    padding:2.5em 0;
  }
  .inquiry_box .inner p{
    line-height:1.5em;
    margin-bottom:1em;
  }

  .inquiry_box .inner .inquiry_menu{
    flex-direction: column;
  }

  .section_desc{
    text-align:left;
    margin-bottom:1.5em;
  }
  .ornament::before, .ornament::after{
    font-size:8em;
  }

  .swiper-outer{
    margin:0 auto 1.5em;
  }
  .button_m.medium{
    font-size:1.1em;
  }
  .button_m.large{
    font-size:1.3em;
  }

  .faq_list li .title{
    font-size:1.1em;
    border-radius: 0.5em;
    padding: 1em 2.7em;
    line-height:1.4em;
  }
  .faq_list li .title::before{
    left:0.6em;
  }
  .faq_list li .title::after{
    right:0.9em;
    top:1em;
  }
  .faq_list li .content{
    font-size:1.1em;
    padding: 1em 1em 1em 2.7em;
  }
  .faq_list li .content::before{
    left:0.6em;
    top:0.7em;
  }
  .faq_list li .content .inner{
    font-size:0.92em;
  }

  #footer_desc .inner{
    font-size:0.9em;
  }
  #footer_desc {
    background-position: center center;
    padding:3em 0;
  }

  #plans .price big{
    font-size:2em;
  }
  #plans figure img{
    width:70%;
  }

  #footer_index .copyright{
    text-align:center;
  }
  #footer_index .inner .flex{
    justify-content:space-between;
    gap:2em 0;
    font-size:0.9em;
  }
  #footer_index .inner .flex dl{
    width:48%;
    padding:0;
  }
  .casestudy_list li .meta{
    font-size:0.9em;
  }
  .casestudy_list li .info{
    font-size:1.1em;
  }
  .post_list li .info{
    font-size:1.05em;
  }
  .document_list li .info{
    font-size:1.1em;
  }
  header menu .page_menu{
    font-size:1.05em;
  }

  body:not(.home) main{
    padding-top:4em;
  }
  #breadcrumb{
    font-size:0.75em;
  }
  
  #title {
    padding: 2em 0.6em 3em;
    min-height:10em;
  }
  #title::before {
    width: calc(100% - 0.5em);
    height: calc(100% - 0.5em);
  }
  #title .back {
    width: calc(100% - 0.5em);
    height: calc(100% - 0.5em);
  }
  #title .back{
    background-position:center center;
  }
  #title h1{
    font-size:1.6em;
  }
  #title p{
    font-size:0.9em;
  }

  
  .heading{
    font-size:1.5em;
  }

  #page_about .realization .trouble h3{
    font-size:1.1em;
  }
  #page_about .realization .trouble ul > li span{
    font-size:1em;
  }
  main section:not(#eyecatch,#aboutus) {
    padding: 3.5em 0;
  }

  #page_about .realization .resolution {
    margin-top: -8em;
    padding: 8em 0 3em;
  }


  #page_about .realization .resolution ol{
    width:94%;
    gap:1.2em;
    font-size:0.5em;
  }
  #page_about .realization .resolution ol li img{
    width:5em;
  }
  #page_about .realization .resolution h3{
    font-size:1.4em;
  }

  .items_wrapper .item .circle{
    font-size:0.8em;
    width:7em;
    height:7em;
    left:-1.7em;
    top:-3em;
  }
  .items_wrapper{
    max-width:100%;
    gap:3em;
  }
  .items_wrapper .item{
    padding:2em 1.5em;
    border-radius: 1em;
  }
  .items_wrapper .item .title{
    font-size:1.2em;
    margin-bottom:0;
  }
  .items_wrapper .item .thumb {
    display:block;
    height:18em;
    width:18em;
    position: static;
    margin:0 auto;
  }
  .items_wrapper .item .title{
    padding-right:0;
  }
  .items_wrapper .item .title big{
    font-size:3em;
    text-align:center;
  }

  .items_wrapper .item .info .fukidashi{
    padding:0 1em;
  }
  .items_wrapper .item .info{
    padding:1em;
  }
  .items_wrapper .item .info ul{
    font-size:1em;
  }
  #page_reason .feature .flex > dl {
    width:48.5%;
    padding: 0.8em;
  }
  #page_reason .feature .flex > dl dt .num{
    width:4em;
    height:4em;
  }
  #page_reason .feature .flex > dl dt{
    font-size:0.9em;
    padding: 0.3em 1.5em;
  }
  #page_reason .feature .flex > dl dd strong {
    font-size: 1em;
  }
  #page_reason .feature .flex > dl dd p{
    font-size:0.85em;
  }

  #page_reason .price_plan .flex{
    flex-wrap:wrap;
    gap:1.2em;
  }
  #page_reason .price_plan .flex > dl{
    width:100%;
    padding:1.2em;
    order:2;
  }
  #page_reason .price_plan .flex > dl dt strong{
    top:-3.5em;
  }
  #page_reason .price_plan .flex > dl.quacareer{
    order:1;
  }
  #page_plans .desc .medias{
    gap:1.2em;
  }
  #page_plans .desc p{
    font-size:1.1em;
  }
  #page_plans .single_plan .plan_box{
    width:90%;
  }
  #page_plans .single_plan .plan_box .price{
    font-size:1.3em;
  }
  #page_plans .other_service .flex{
    flex-direction: column;
    gap:1.5em;
  }
  #page_plans .other_service .flex .box {
    width: 100%;
  }
  .sercive_menu ul{
    font-size:0.9em;
  }
  .items_wrapper.service .item .title {
    text-align:center;
    margin-bottom:1em;
  }
  .items_wrapper.service .item .desc{
    padding-right:0;
    margin-top:0;
    margin-bottom:0;
  }
  .items_wrapper.service .item .info{
    padding:0 1em;
  }
  .items_wrapper.service .item .info ul{
    font-size:1em;
  }
  .items_wrapper.service .item .circle{
    top:-4em;
  }
  .items_wrapper.service .item .info ul li p{
    width:calc(100% + 3em);
    left:-2em;
  }
  #archive_document .faq_search > div{
    flex-direction: column;
  }
  #archive_document .faq_search > div button{
    width:100%;
  }
  table.normal_table colgroup col.th{
    width:unset;
  }
  table.normal_table,
  table.normal_table tbody,
  table.normal_table tbody tr,
  table.normal_table tbody tr th, 
  table.normal_table tbody tr td{
    display:block;
  }
  table.normal_table tbody tr th, 
  table.normal_table tbody tr td{
    display:block;
    padding:0.5em;
    border-top: 0;
    border-bottom: 0;
  }
  table.normal_table tbody tr:not(:last-child) td{
    margin-bottom:1em;
  }

  .lity-content{
    padding: 3em 1.5em;
  }

  #casestudy_search form table,
  #casestudy_search form table tbody,
  #casestudy_search form table tbody tr,
  #casestudy_search form table tbody tr th,
  #casestudy_search form table tbody tr td{
    display:block;
    width:100;
  }
  #casestudy_search form table tbody tr th,
  #casestudy_search form table tbody tr td{
    padding:0.5em;
  }
  #casestudy_search form table tbody tr td::before{
    content:unset;
    border-right:0;
  }
  #casestudy_search form table tbody tr:not(:last-child) th, #casestudy_search form table tbody tr:not(:last-child) td {
    border-bottom:0;
  }
  #casestudy_search form table tbody tr th{
    background:var(--gray2);
    margin-bottom:0.3em;
  }
  #casestudy_search form table tbody tr td{
    margin-bottom:1.2em;
  }
  #archive_casestudy .search{
    padding:1.2em;
    margin-top:-1em;
    margin-bottom:3em;
  }
  #archive_casestudy .search h3 {
      font-size: 1.2em;
  }
  #archive_casestudy .search .selected{
    flex-direction:column;
    gap:0.6em 0;
  }
  #archive_casestudy .search .selected > span{
    display:block;
    width:100%;
  }
  #archive_casestudy .search .selected > div{
    width:100%;
  }
  #archive_casestudy .search .selected > span{
    text-align:left;
  }
  #archive_casestudy .casestudy_list,
  .popular_casestudy .casestudy_list{
    flex-direction: column;
    gap:2em;
  }
  #archive_casestudy .casestudy_list li,
  .popular_casestudy .casestudy_list li,
  #archive_document .document_list li,
  #archive_column .post_list li,
  .popular_column .post_list li{
    width:100%;
    padding:0;
  }
  .single article #sidebar{
    padding:1.2em;
  }
  .single #single_casestudy article #column > .inner {
    padding: 0.5em 0 2.5em;
  }
  #single_casestudy #column h1{
    font-size:1.5em;
  }
  .single article .content h2.heading{
    font-size:1.4em;
  }
  .single article .content h3.heading{
    font-size:1.25em;
  }
  .single article .content h4.heading{
    font-size:1.15em;
  }
  .resolution_flow {
    padding: 0.6em 0.8em;
  }
  .resolution_flow li .rf_heading{
    width: 5.5em;
  }
  .resolution_flow li .rf_content {
    width: calc(100% - 6em);
  }
  .resolution_flow li .rf_heading span{
    font-size:1em;
  }
  .resolution_flow li .rf_heading::after {
    bottom:calc(-1em + 0.75px);
    border-left: 2.75em solid transparent;
    border-right: 2.75em solid transparent;
  }
  .heading span::after{
    height:0.4em;
    border-radius:0.4em;
  }
  .casestudy_list li .inner{
    border-radius:1em;
  }
  #single_casestudy #column .content{
    font-size:1em;
  }
  #sidebar.interviewee_info .interviewee .person .info > *{
    font-size:1em;
  }
  #sidebar.interviewee_info .interviewee .profile{
    font-size:0.9em;
  }
  .single article #column{
    border-radius:1.4em;
  }
  #single_casestudy > article{
    margin: -8em auto 0;
  }
  #single_column > article,
  #single_document > article{
    margin: -8em auto 0;
  }
  .error404 #single_column > article{
    margin:0 auto;
  }

  #single_column article #column,
  #single_document article #column{
    padding:1.5em 1.2em;
  }
  #single_document #column h1,
  #single_column #column h1{
    font-size:1.5em;
  }
  
  #single_document article #sidebar section,
  #single_column article #sidebar section{
    padding:1em 0;
  }
  .single #single_column article #column > .inner{
    padding: 0.5em 0 2.5em;
  }

  
  input[type="text"],
  input[type="search"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  textarea,
  select,
  select *{
    font-size:16px;
  }
  input[type="text"],
  input[type="search"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="number"]{
    line-height:1em;
  }
  #page_inquiry .satori_wrapeer{
    padding:1.2em;
  }

  #page_inquiry .satori_wrapeer #satori__creative_container{
    font-size:1.5em;
  }
  

  *:hover{
    opacity:1!important;
  }
  #casestudy_search form table tbody tr td label:hover{
    background:var(--gray3);
  }

  .form_wrapper table colgroup col.th{
    width:unset;
  }
  .form_wrapper table,
  .form_wrapper table tbody,
  .form_wrapper table tbody tr,
  .form_wrapper table tbody tr th, 
  .form_wrapper table tbody tr td{
    display:block;
  }
  .form_wrapper table tbody tr th, 
  .form_wrapper table tbody tr td{
    display:block;
    padding:0.5em;
    border-top: 0;
    border-bottom: 0;
  }
  .form_wrapper table tbody tr:not(:last-child) td{
    margin-bottom:1em;
  }

  .nav-links{
    gap:0.8em;
    font-size:0.9em;
  }
    
  #column .content .profile_block{
    padding:1em;
  }

  #column .content .profile_block.with_thumb .flex .thumb{
    width:6em;
    padding-top:6em;
  }
  #column .content .profile_block.with_thumb .flex .info{
    width:calc(100% - 7em);
  }
  .modal .inner{
    padding:0 1em;
  }
  #page_inquiry .wpcf7-form{
    padding:1.5em 1em;
  }

    
  #limited{
    height:18em;
  }
  #limited_inner h3{
    font-size:1.1em;
  }
  #limited_inner p{
    font-size:0.92em;
  }
  #limited_inner .signup_button:hover{
    opacity:1;
    text-decoration:unset;
  }
}
main #seminar_desc{
  font-size:1.2em;
  line-height:1.6em;
  margin:-1em auto 3em;
}
main #seminar_wrapper{
  width:var(--narrow-width);
  margin:0 auto;
  max-width:94%;
}
main #seminar_wrapper .image{
  margin-bottom:1.4em;
  width:100%;
  position:relative;
  z-index:0;
}
main #seminar_wrapper .image img{
  display:block;
  width:100%;
  height:auto;
}

main #seminar_wrapper article{
  width:var(--modal-width);
  margin:0 auto;
  max-width:92%;
  padding-bottom:4em;
  margin-bottom:4em;
  border-bottom:1px solid #ddd;
  position:relative;
}
main #seminar_wrapper article:last-child{
  margin-bottom:0;
}
main #seminar_wrapper article .date_icon{
  display:block;
  font-size:1.5em;
  font-weight:600;
  width:6em;
  box-sizing:border-box;
  line-height:1.3em;
  color:#fff;
  text-align:center;
  padding:0.5em;
  padding-right:1.2em;
  background-image:url(./assets/images/date_back.svg);
  background-position:right center;
  background-size:cover;
  background-repeat:no-repeat;
  position:absolute;
  left:-6em;
  top:-0.5em;
  z-index:1;
}

main #seminar_wrapper .title{
  font-size:1.4em;
  font-weight:700;
  margin-bottom:0.7em;
  line-height:1.6em;
}

main #seminar_wrapper .date{
  font-size:1.2em;
  font-weight:700;
  margin-bottom:1.5em;
  background:#f0f5fa;
  color:#4779b3;
  padding:0.8em 1em;
  border:1px solid #dee8f1;
  border-radius:0.3em;
  line-height:1.6em;
}
main #seminar_wrapper .date time{
  font-weight:600;
  font-size:0.94em;
  display:inline-block;
  line-height:1.6em;
}

main #seminar_wrapper .desc{
  font-size:1em;
  line-height:1.7em;
  margin-bottom:2em;
}

main #seminar_wrapper .desc p{
  line-height:1.7em;
  margin-bottom:1.4em;
}

main #seminar_wrapper .button_wrapper{
  text-align:center;
}
main #seminar_wrapper .button_wrapper .button{
  display:inline-block;
  background:#0861D5;
  color:#fff;
  line-height:3.4em;
  padding:0 3em;
  position:relative;
  font-weight:600;
  font-size:1.4em;
  border-radius:0.3em;
}

main #seminar_wrapper .button_wrapper .button.finish{
  background:#b3b3b3;
  color:#464646;
  pointer-events: none;
}

#seminar_archive{
  padding:0 0 4em;
}
#seminar_archive h3{
  font-size:1.5em;
  text-align:center;
  font-weight:600;
  margin-bottom:2em;
}

#seminar_archive .seminar_archive_list{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:1.5em 3%;
}
#seminar_archive .seminar_archive_list li{
  width:20%;
  display:none;
}
#seminar_archive .seminar_archive_list li:nth-child(1),
#seminar_archive .seminar_archive_list li:nth-child(2),
#seminar_archive .seminar_archive_list li:nth-child(3),
#seminar_archive .seminar_archive_list li:nth-child(4){
  display:block;
}



#seminar_archive .seminar_archive_list li .image{
  margin-bottom:0.4em;
  width:100%;
  height:0;
  padding-top:56.25%;
  position:relative;
}
#seminar_archive .seminar_archive_list li .image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  margin:auto;
  z-index:0;
}
#seminar_archive .seminar_archive_list li .image::after{
  content:"\958b\50ac\7d42\4e86";
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:rgba(0,0,0,0.4);
  font-weight:600;
  font-size:1.4em;
  letter-spacing:0.1em;
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  margin:auto;
  z-index:1;
}
#seminar_archive .seminar_archive_list li .date{
  font-weight:600;
  margin-bottom:0.1em;
  line-height:1.6em;
}
#seminar_archive .seminar_archive_list li .title{
  line-height:1.6em;
  font-size:0.9em;
}


#archive_seminar .more_wrapper{
  text-align:center;
  padding-top:2em;
}
#archive_seminar .more_wrapper a{
  color:var(--link);
}
#archive_seminar .more_wrapper a i{
  display:inline-block;
  margin-left:0.5em;
  font-style: normal;
  transform:rotate(90deg) scale(1.1);
}

.single article .content #signup_form{
  margin-bottom:2em;
}
.single article .content #signup_form input[type="text"], .single article .content #signup_form input[type="search"], .single article .content #signup_form input[type="tel"], .single article .content #signup_form input[type="email"], .single article .content #signup_form input[type="password"], .single article .content #signup_form input[type="number"] {
  border: 1px solid #ccc;
  padding: 0.5em;
  width: 100%;
}
.single article .content #signup_form .form_wrapper p{
  margin-bottom:0;
}
.single article .content #signup_form .desc{
  padding: 1.5em;
  background: var(--gray2);
  border-radius: 1em;
  line-height: 1.6em;
  margin-bottom: 1.5em;
}
.single article .content #signup_form .desc p{
  margin-bottom:0.6em;
}
.single article .content #signup_form .desc p:last-child{
  margin-bottom:0;
}
.single article .content #signup_form .desc p .login{
  cursor:pointer;
  color: var(--link);
  text-decoration:underline;
}
.single article .content #signup_form .desc p .login:hover{
  text-decoration:none;
}
.single article .content #signup_form .desc p small{
  display:block;
  font-size:0.9em;
  line-height:1.6em;
}


@media screen and (max-width: 1100px){
  #seminar_archive .seminar_archive_list li{
    width:30%;
  }
  #seminar_archive .seminar_archive_list li:nth-child(4){
    display:none;
  }
}

@media screen and (max-width: 768px){
  main #seminar_desc{
    font-size:1.1em;
    margin-bottom:1.5em;
  }
  main #seminar_wrapper .image{
    margin-bottom:0.8em;
  }
  main #seminar_wrapper .date{
    margin-bottom:1em;
  }
  main #seminar_wrapper article{
    margin-top:-1em;
  }
  main #seminar_wrapper article .date_icon{
    position:relative;
    left:-4em;
    top:1em;
    background:#C21D5B;
    font-size: 1em;
    width:10em;
    box-sizing: border-box;
    line-height: 2em;
    height: 2em;
    padding:0 0 0 2em;
  }
  main #seminar_wrapper article .date_icon br{
    display:none;
  }
  main #seminar_wrapper .title{
    font-size:1.3em;
    line-height: 1.5em;
  }
  main #seminar_wrapper .button_wrapper .button {
    display: block;
    line-height: 3.4em;
    padding:0;
    text-align:center;
    margin:0 auto;
    font-size: 1.3em;
    width:90%;
  }
  main #seminar_wrapper article {
    padding-bottom: 2.5em;
    margin-bottom: 2.5em;
  }
  main #seminar_wrapper .desc{
    font-size:1.1em;
  }
  
  #seminar_archive .seminar_archive_list {
    gap: 1.5em 5%;
  }
  #seminar_archive .seminar_archive_list li{
    width:40%;
  }
  #seminar_archive .seminar_archive_list li .date{
    font-size:0.9em;
    letter-spacing:0;
    margin-bottom:0.3em;
  }
  #seminar_archive .seminar_archive_list li .title{
    line-height:1.4em;
    font-size:0.9em;
  }
  #seminar_archive .seminar_archive_list li:nth-child(4){
    display:unset;
  }

  header menu .inquiry_menu{
    flex-direction: column;
  }
  header menu .inquiry_menu li{
    width:100%;
    text-align: center;
  }
  header menu .inquiry_menu .button_m{
    width:90%;
    padding:0;
    justify-content:center;
    line-height:3em;
    border-radius:3em;
  }  
}

/* service_renewal_2509 */
/* 既存のセクションに「.renew」を付与することでcssを上書きする */
#whatwecando.renew .heading_main,
#plans.renew .heading_main,
#howto.renew .heading_main,
#ce-calendar.renew .heading_main,
#casestudy.renew .heading_main,
#download_contents.renew .heading_main,
#faq.renew .heading_main{
    margin-bottom: 0;
}

#whatwecando.renew .heading_main span::after,
#plans.renew .heading_main span::after,
#howto.renew .heading_main span::after,
#ce-calendar.renew .heading_main span::after,
#casestudy.renew .heading_main span::after,
#download_contents.renew .heading_main span::after,
#faq.renew .heading_main span::after{
    content: "";
    display: block;
    width: 5em;
    font-size: 0.45em;
    height: 0.3em;
    border-radius: 0.3em;
    background: var(--green1);
    margin: 1em auto 0;
}

/* Shared tag pill styling */
#eyecatch.renew .latestnews .info .tag span,
#casestudy.renew .media_wrapper .tag span{
    font-size: 0.75em;
    font-weight: 700;
    line-height: 1.5;
    padding-inline: 0.6em;
    display: inline-block;
    border-radius: 0.25em;
}

/* #eyecatch */
#eyecatch.renew{
    background-image: url(assets/images/eyecatch__w1920.jpg);
    padding-bottom: 2.5em;
    @media screen and (max-width: 768px) {
        background-image: none;
        padding-bottom: 0;
    }
    &::before{
        @media screen and (max-width: 768px) {
            display: none;
        }
    }
    .catchcopy{
        align-items:flex-start;
        padding-block:18.75em 3.125em;
        padding-left: 3.75%;
        gap:1.875em;
        font-weight: 800;
        @media screen and (max-width: 768px) {
            background: url(assets/images/eyecatch__w1242.jpg) no-repeat center center/cover;
            aspect-ratio: 1242 / 1289;
            align-items: stretch;
            padding-block: 14em 0;
            padding-inline: 3.75%;
            gap: 4em;
        }
        &> p{
            font-size: 3em;
            line-height: 1.2;
            color: #fff;
            animation: 2s ease 0s 1 normal none running fadein;
            text-shadow: 0 0 0.5em #00000060;
            @media screen and (max-width: 768px) {
                text-align: left;
                line-height: 1.3;
                isolation: isolate;
            }
            span{
                display: inline-block;
                &.large{font-size: 1.18em;}
                &.exlarge{font-size: 1.7em;}
                &.ajust{@media screen and (max-width: 768px) {margin-left: -0.2em;}}
            }
        }
        .inquiry_menu{
            gap: 0.75em;
            isolation: isolate;
            li a{
                font-size: 1.125em;
                @media screen and (max-width: 768px) {
                    font-size: 1.3em;
                }
            }
        }
        &::before{
            @media screen and (max-width: 768px) {
                content:"";
                width:100%;
                height:50%;
                position:absolute;
                /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#2d2b28+0,2d2b28+100&0+0,1+100 */
                background: linear-gradient(to bottom,  rgba(45,43,40,0) 0%,rgba(45,43,40,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
                left:0;
                bottom:0;
                z-index: 0;
                opacity:0.5;
            }
          }
    }
    .achievements{
        display: flex;
        justify-content: center;
        gap: 2em;
        width: var(--sub-width);
        max-width: 92%;
        margin-inline: auto;
        animation: 1s ease 0s 1 normal none running casestudy_move;
        @media screen and (max-width: 768px) {
            background-color: var(--green1);
            max-width: 100%;
            width: 100%;
            padding: 0.7em;
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-rows: auto auto auto;
            gap: 0.6em;
            font-size: 2em;
            margin-bottom: -1px;
        }
        li{
            position: relative;
            display: grid;
            place-content: center;
            width: 33.375em;
            aspect-ratio: 1;
            color: #fff;
            @media screen and (max-width: 768px) {
                grid-template-rows: subgrid;
                grid-row: span 3;
                width: 100%;
                aspect-ratio: unset;
                place-content: unset;
            }
            &:nth-of-type(1){
                @media screen and (max-width: 768px) {
                    color: var(--green1);
                }
            }
            &:nth-of-type(2){
                @media screen and (max-width: 768px) {
                    color: var(--green4);
                }
            }
            .circle{
                position: absolute;
                z-index: 1;
                width: 17.5em;
                aspect-ratio: 1;
                display: grid;
                place-content: center;
                text-align: center;
                font-weight: 700;
                border-radius: 50%;
                border: 0.375em #fff solid;
                &:nth-of-type(1){top: 0; left: calc(50% - (17.5em / 2));}
                &:nth-of-type(2){bottom: 0; left: 0;}
                &:nth-of-type(3){bottom: 0; right: 0;}
                @media screen and (max-width: 768px) {
                    position: static;
                    border: none;
                    background-color: #fff;
                    border-radius: 0.75em;
                    width: 100%;
                    aspect-ratio: unset;
                    padding-block: 1.5em;
                    &:nth-of-type(1){
                        padding-top: 2.5em;
                    }
                }
                .num{
                    font-size: 2.25em;
                    span{
                        font-weight: 700;
                        font-family: "Roboto";
                        font-size: 1.77em;
                    }
                }
                .caption{
                    font-size: 1.125em;
                    line-height: 1.4;
                    margin-top: 0.5em;
                    @media screen and (max-width: 768px) {
                        margin-top: 0.25em;
                    }
                }
                .sub{
                    font-size: 0.75em;
                    margin-top: 0.5em;
                }
            }
            .title{
                position: relative;
                z-index: 2;
                display: grid;
                place-content: center;
                width: 14em;
                padding-block: 0.4em 0.625em;
                border-radius: 100vmax;
                @media screen and (max-width: 768px) {
                    position: absolute;
                    top: 0;
                    left: 50%;
                    translate: -50% -50%;
                    width: 12.5em;
                    &::after{
                        content: "";
                        position: absolute;
                        width: 1.25em;
                        height: 0.7em;
                        display: block;
                        top: 98%;
                        left: 50%;
                        translate: -50% 0;
                        clip-path: polygon(0 0, 100% 0, 50% 100%);
                    }
                }
                span{
                    text-align: center;
                    font-size: 1.625em;
                    font-weight: 700;
                    line-height: 1.3;
                    @media screen and (max-width: 768px) {
                        font-size: 1.25em;
                    }
                }
                &.green1{
                    background-color: var(--green1);
                    @media screen and (max-width: 768px) {
                        color: #fff;
                        &::after{
                            background-color: var(--green1);
                        }
                    }
                }
                &.green4{
                    background-color: var(--green4);
                    @media screen and (max-width: 768px) {
                        color: #fff;
                        &::after{
                            background-color: var(--green4);
                        }
                    }
                }
            }
        }
    }
    .latestnews{
        display: flex;
        width: fit-content;
        position: absolute;
        z-index: 2;
        top: 9em;
        right: 0;
        align-items: center;
        column-gap: 0.625em;
        background-color: #fff;
        padding: 0.625em 1em 0.625em 0.625em;
        @media screen and (max-width: 1300px) {
            top: 7em;
        }
        @media screen and (max-width: 768px) {
            display: none;
        }
        img{
            width: 8.75em;
        }
        .info{
            width: 17.5em;
            .title{
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;  
                font-size: 1em;
                font-weight: 700;
                line-height: 1.5;
            }
            .companyName{
                display: -webkit-box;
                -webkit-line-clamp: 1;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
                font-size: 0.875em;
                font-weight: 700;
                color: var(--black);
                line-height: 1.5;
                margin-top: 0.3em;
            }
            .tag{
                margin-top: 0.2em;
            }
            &.green1{
                .title{
                    color: var(--green1);
                }
                .tag span{
                    color: var(--green1);
                    background-color: #DFF2F3;
                }
            }
            &.green4{
                .title{
                    color: var(--green4);
                }
                .tag span{
                    color: var(--green4);
                    background-color: #E6F1E0;
                }
            }
        }
        .point{
            position: absolute;
            display: grid;
            place-content: center;
            font-size: 0.75em;
            color: #fff;
            border-radius: 50%;
            background-color: var(--red1);
            left: -0.8em;
            top: -0.8em;
            width: 3.75em;
            aspect-ratio: 1;
        }
    }
}

/* #aboutus */
#aboutus.renew{
    .support{
        padding-block: 4.5em 5em;
        @media screen and (max-width: 768px) {
          padding-block: 2em 5em;
        }
        h2{
            text-align: center;
            font-size:2.6em;
            line-height:1.4;
            font-weight:600;
            letter-spacing:0.1em;
            @media screen and (max-width: 768px) {
                font-size: 1.5em;
            }
            span{
                display:inline-block;
                border-bottom:2px solid #fff;
                padding-bottom:0.5em;
            }
        }
        &> p{
            margin-top: 1em;
            font-size: 1.75em;
            line-height: 1.5;
            font-weight: 500;
            text-align: center;
            @media screen and (max-width: 1200px) {
                font-size: 1.6em;
            }
            @media screen and (max-width: 768px) {
                font-size: 1.125em;
            }
        }
        .wrap{
            position: relative;
            width: var(--main-width);
            max-width: 92%;
            margin-inline: auto;
            margin-top: 2.25em;
            @media screen and (max-width: 768px) {
              margin-top: 1em;
            }
        }
        ul{
            display: grid;
            grid-template-columns: repeat(3,1fr);
            grid-template-rows: auto auto auto;
            gap: 2.5%;
            position: relative;
            z-index: 2;
            @media screen and (max-width: 768px) {
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto auto;
            }
            li{
                display: grid;
                grid-template-rows: subgrid;
                grid-row: span 3;
                gap: 0;
                @media screen and (max-width: 768px) {
                    grid-template-rows: auto;
                    gap: 0;
                    &:nth-of-type(1){
                        grid-column: span 2;
                        .serif{
                            width: 80%;
                            margin-inline: auto;
                        }
                    }
                }
                .icon{
                    width: 10.8em;
                    aspect-ratio: 1;
                    display: grid;
                    place-content: center;
                    margin-inline: auto;
                    border-radius: 50%;
                    background-color: var(--green1);
                    &::after{
                        font-family: icomoon;
                        display: block;
                        font-weight: 200;
                        text-align: center;
                        color: #fff;
                    }
                    @media screen and (max-width: 768px) {
                        font-size: 0.75em;
                        margin-bottom: -1em;
                    }
                }
                &:nth-of-type(1){.icon::after{content: "\e91f"; font-size: 9.5em;}}
                &:nth-of-type(2){.icon::after{content: "\e920"; font-size: 8.75em;}}
                &:nth-of-type(3){.icon::after{content: "\e91e"; font-size: 7.75em;}}
                &> p{
                    font-size: 1.5em;
                    font-weight: 700;
                    text-align: center;
                    color: #fff;
                    @media screen and (max-width: 1200px) {
                        font-size: 1.4em;
                    }
                    @media screen and (max-width: 768px) {
                        line-height: 1.2;
                    }
                }
                .serif{
                    position: relative;
                    padding: 1em 7.5%;
                    border-radius: 1.25em;
                    background-color: #fff;
                    margin-top: 2em;
                    @media screen and (max-width: 768px) {
                        margin-top: 1em;
                        padding: 1.25em;
                    }
                    p{
                        font-size: 1.125em;
                        line-height: 1.44;
                        font-weight: 500;
                        span{
                            color: var(--green1);
                        }
                    }
                    img{
                        position: absolute;
                        width: 10%;
                        right: 7.5%;
                        bottom: 99%;
                        @media screen and (max-width: 768px) {
                            width: 1.5em;
                        }
                    }
                }
            }
        }
        .wave{
            position: absolute;
            z-index: 1;
            top: 2.5em;
            left: 50%;
            translate: -50% 0;
            width: 59%;
            img{
                width: 100%;
            }
            @media screen and (max-width: 768px) {
                display: none;
            }
        }
        .dashed{
            display: none;
            position: absolute;
            z-index: 1;
            top: 9em;
            left: 50%;
            translate: -50% 0;
            width: 65%;
            img{
                width: 100%;
            }
            @media screen and (max-width: 768px) {
                display: block;
            }
        }
    }
}

/* #whatwecando */
#whatwecando.renew{
    .heading_main {
        span{
            margin-bottom: 0.7em;
        }
    }
    .section_desc{
        @media screen and (max-width: 768px) {
            text-align: center;
        }
    }
    .card-wrap{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 2.5%;
        margin-inline: auto;
        margin-bottom: 3em;
        max-width: 1100px;
        @media screen and (max-width: 768px) {
            grid-template-columns: 1fr;
            gap: 1.6em;
            max-width: 90%;
            font-size: 0.6em;
        }
        .card{
            position: relative;
            padding-top: 3.25em;
            @media screen and (max-width: 768px) {
                padding-top: 0;
                &:nth-of-type(1){
                    padding-left: 15%;
                    h3{
                        top: calc(50% - (9.125em / 2));
                        left: 0;
                    }
                }
                &:nth-of-type(2){
                    padding-right: 15%;
                    h3{
                        top: calc(50% - (9.125em / 2));
                        left: auto;
                        right: 0;
                    }
                }
            }
            h3{
                background-color: #fff;
                width: 9.125em;
                aspect-ratio: 1;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                border-radius: 50%;
                color: var(--green1);
                font-weight: 600;
                line-height: 1.5;
                position: absolute;
                top: 0;
                left: calc(50% - (9.125em / 2));
                span{
                    font-size: 1.5em;
                }
                small{
                    font-size: 0.75em;
                }
            }
            .image{
                border-radius: 2.25em;
                overflow: hidden;
                @media screen and (max-width: 768px) {
                    border-radius: 1.5em;
                }
                img{
                    width: 100%;
                }
            }
        }
    }
    .button_m{
        @media screen and (max-width: 768px) {
            min-width: 17.5em;
            justify-content: center;
        }
    }
}

/* #plans */
#plans.renew{
    .heading_main {
        span{
            margin-bottom: 0.7em;
        }
    }
    .section_desc{
        margin-block: 1em 3em;
        @media screen and (max-width: 768px) {
            text-align: center;
            margin-block: 1em;
        }
        &.ajust{
            margin-block: 1.75em 1.25em;
        }
    }
    .planmedia_table{
        margin-inline: auto;
        max-width: var(--main-width);
        @media screen and (max-width: 768px) {
            display: none;
        }
        table{
            width: 100%;
            border-collapse: collapse;
            colgroup col{
                &:nth-of-type(1){width: 22%;}
                &:nth-of-type(2),
                &:nth-of-type(3),
                &:nth-of-type(4){width: 26%;}
            }
            th, td{
                box-sizing: border-box;
                border: 0.3125em #fff solid;
                text-align: center;
                vertical-align: middle;
            }
            thead{
                tr:nth-of-type(1){
                    th{
                        position: relative;
                        img{
                            width: 100%;
                            padding-inline: 1.6%;
                        }
                        &:nth-of-type(2){ color: var(--blue1); } 
                        &:nth-of-type(3){ color: var(--green1); } 
                        &:nth-of-type(4){ color: var(--green4); } 
                        p{
                            font-size: min(1em, calc(16 / 1300 * 100vw));
                            font-weight: 700;
                            line-height: 1.8;
                            text-align: center;
                            position: absolute;
                            z-index: 2;
                            white-space: nowrap;
                            top: 16%;
                            left: 50%;
                            translate: -50% 0;
                        }
                    }
                }
                tr:nth-of-type(2){
                    th{
                        padding-block: 1.125em;
                        &:nth-of-type(2){ background-color: var(--blue1); } 
                        &:nth-of-type(3){ background-color: var(--green1); } 
                        &:nth-of-type(4){ background-color: var(--green4); } 
                        span{
                            font-size: 1em;
                            font-weight: 700;
                            color: #fff;
                            line-height: 2;
                            @media screen and (max-width: 1000px) {
                                font-size: 0.875em;
                            }
                        }
                    }
                }
            }
            tbody{
                tr{
                    &:nth-of-type(odd){
                        background-color: var(--gray3);
                        td .icon::after{background-color: var(--gray3);}
                    }
                    &:nth-of-type(even){
                        td .icon::after{background-color: #fff;}
                    }
                    th{
                        font-size: 1em;
                        font-weight: 700;
                        line-height: 1.5;
                        @media screen and (max-width: 1000px) {
                            font-size: 0.875em;
                        }
                    }
                    td{
                        font-size: 0.875em;
                        font-weight: 500;
                        line-height: 1.5;
                        .icon{
                            display:block;
                            font-weight:200;
                            font-size:2.25em;
                            width:1em;
                            height:1em;
                            line-height:0.9;
                            margin-inline: auto;
                            margin-bottom: 0.1em;
                            position:relative;
                            &::after{
                                font-family:icomoon;
                                position:absolute;
                                display: block;
                                width:100%;
                                height:100%;
                                line-height:1em;
                                inset: 0;
                            }
                            &.maru{
                                color: var(--green1);
                                &::after{content: "\e909";}
                            }
                            &.nijumaru{
                                color: var(--red1);
                                &::after{content: "\e908";}
                            }
                            &.batsu{
                                font-size: 1.8em;
                                color: #C2C2C2;
                                &::after{content: "\e919";}
                            }
                        }
                    }
                }
                th, td{
                    padding-block: 1.25em;
                }
            }
        }
    }
    .planmedia_list{
        display: none;
        @media screen and (max-width: 768px) {
            display: block;
        }
        li{
            padding: 0.25em;
            &:has(.title.closed){ 
                background-color: var(--gray3);
            }
            &+ li{
                margin-top: 0.75em;
            }
            &:nth-of-type(1){
                background-color: var(--blue1);
                th,td{ border-color: var(--blue1); }
                thead{ color: var(--blue1); }
                .title.closed{ color: var(--blue1); }
            }
            &:nth-of-type(2){
                background-color: var(--green1);
                th,td{ border-color: var(--green1); }
                thead{ color: var(--green1); }
                .title.closed{ color: var(--green1); }
            }
            &:nth-of-type(3){
                background-color: var(--green4);
                th,td{ border-color: var(--green4); }
                thead{ color: var(--green4); }
                .title.closed{ color: var(--green4); }
            }
            .title{
                padding-block: 1em;
                position: relative;
                color: #fff;
                transition-duration: 0.1s;
                transition-property: background-color, color;
                &.closed{
                    &::after{
                        rotate: 0deg;
                    }
                }
                p{
                    text-align: center;
                    font-size: 1.125em;
                    font-weight: 700;
                    line-height: 1.3;
                }
                &::after{
                    content: "▼";
                    font-size: 1em;
                    position: absolute;
                    right: 1em;
                    top: calc(50% - 0.5em);
                    scale: 1 0.6;
                    rotate: 180deg;
                    transition: rotate 0.3s;
                }
            }
            table{
                width: 100%;
                border-collapse: collapse;
                colgroup col{
                    width: 50%;
                }
                thead{
                    th{
                        text-align: center;
                        background-color: #EEF4F7;
                        box-sizing: border-box;
                        border: 3px solid;
                        span{
                            font-size: 1.125em;
                            font-weight: 700;
                            line-height: 1.7;
                        }
                    }
                }
                tbody{
                    tr{
                        background-color: #fff;
                        th{
                            font-size: 0.875em;
                            font-weight: 700;
                            line-height: 1.5;
                        }
                        td{
                            font-size: 0.875em;
                            font-weight: 500;
                            line-height: 1.5;
                            .icon{
                                display:block;
                                font-weight:200;
                                font-size:2.25em;
                                width:1em;
                                height:1em;
                                line-height:0.9;
                                margin-inline: auto;
                                position:relative;
                                &::after{
                                    font-family:icomoon;
                                    position:absolute;
                                    display: block;
                                    background-color: #fff;
                                    width:100%;
                                    height:100%;
                                    line-height:1em;
                                    inset: 0;
                                }
                                &.maru{
                                    color: var(--green1);
                                    &::after{content: "\e909";}
                                }
                                &.nijumaru{
                                    color: var(--red1);
                                    &::after{content: "\e908";}
                                }

                            }
                        }
                    }
                    th, td{
                        padding-block: 1em;
                    }
                    th{
                        text-align: left;
                        box-sizing: border-box;
                        border: 3px solid;
                        vertical-align: middle;
                        padding-left: 1em;
                    }
                    td{
                        box-sizing: border-box;
                        border: 3px solid;
                        text-align: center;
                        vertical-align: middle;
                    }
                }
            }
        }
    }
}

/* #howto */
#howto.renew{
    .heading_main {
        span{
            margin-bottom: 0.7em;
        }
    }
    .section_desc{
      @media screen and (max-width: 768px) {
          text-align: center;
      }
  }
    .step{
        max-width: var(--narrow-width);
        margin-inline: auto;
        margin-top: 2.5em;
        padding-top: 2em;
        display: grid;
        grid-template-columns: repeat(3,1fr);
        grid-template-rows: repeat(4,auto);
        gap: 3.8%;
        position: relative;
        @media screen and (max-width: 768px) {
            grid-template-columns: 1fr;
            grid-template-rows: repeat(3, auto);
            gap: 0;
            padding-top: 0.5em;
            padding-left: 1.75em;
            margin-top: 0;
        }
        &::after{
            content: "";
            display: block;
            background-color: var(--green1);
            position: absolute;
            height: 2px;
            width: calc(100% - ((100% - 2.25em * 2) / 3));
            top: calc(4em + (1.125em / 2) - 1px);
            left: 50%;
            translate: -50% 0;
            @media screen and (max-width: 768px) {
                display: none;
            }
        }
        li{
            position: relative;
            background-color: #fff;
            border-radius: 1.75em 1.75em 1.75em 0;
            padding: 2em 1.5em 1.75em;
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 4;
            gap: 0;
            @media screen and (max-width: 768px) {
                display: block;
                grid-template-rows: auto;
                grid-row: span 1;
                padding: 1.5em 1.5em 1.5em 3.25em;
                border-radius: 1em 1em 1em 0;
                &+ li{
                    margin-top: 1em;
                }
            }
            .num{
                font-family: "Roboto";
                color: var(--green1);
                font-weight: 700;
                display: flex;
                flex-direction: column;
                align-items: center;
                position: absolute;
                top: -2.4em;
                left: 50%;
                translate: -50% 0;
                @media screen and (max-width: 768px) {
                    top: 50%;
                    left: -1.7em;
                    translate: 0 -50%;
                }
                small{
                    font-size: 0.875em;
                }
                span{
                    font-size: 2.6em;
                    line-height: 1.2;
                    @media screen and (max-width: 768px) {
                        font-size: 2.8em;
                        line-height: 1;
                    }
                }
            }
            .dot{
                margin-inline: auto;
                width: 1.125em;
                aspect-ratio: 1;
                border-radius: 50%;
                background-color: var(--green1);
                @media screen and (max-width: 768px) {
                    display: none;
                }
            }
            .pc_content{
                display: contents;
                @media screen and (max-width: 768px) {
                    display: flex;
                    margin-left: -0.5em;
                }
            }
            .icon{
                width: 5.5em;
                aspect-ratio: 1;
                display: grid;
                place-content: center;
                margin-inline: auto;
                margin-block: 1.75em;
                @media screen and (max-width: 768px) {
                    margin-block: 0;
                    margin-inline: 0 0.5em;
                    font-size: 0.75em;
                }
                &::after{
                    font-family: icomoon;
                    display: block;
                    font-weight: 200;
                    text-align: center;
                    color: var(--black);
                }
            }
            &:nth-of-type(1){.icon::after{content: "\e91c"; font-size: 5.5em;}}
            &:nth-of-type(2){.icon::after{content: "\e91d"; font-size: 5.5em;}}
            &:nth-of-type(3){.icon::after{content: "\e91b"; font-size: 5em;}}
            h3{
                font-size: 1.25em;
                line-height: 1.5;
                text-align: center;
                font-weight: 700;
                display: grid;
                place-content: center;
            }
            p{
                font-size: 1em;
                line-height: 1.5;
                font-weight: 500;
                margin-top: 0.6em;
                &.caption{
                    font-size: 0.875em;
                }
            }
        }
    }
}

/* #ce-calendar */
#ce-calendar.renew{
    padding-top: 2.5em;
    .heading_main {
        span{
            margin-bottom: 0.7em;
        }
    }
    .section_desc{
        margin-block: 1em 3em;
        @media screen and (max-width: 768px) {
            margin-block: 1em 2em;
            text-align: center;
        }
        &.ajust{
            margin-block: 3em 1.25em;
            @media screen and (max-width: 768px) {
                margin-block: 2em 1.25em;
            }
        }
    }
    .calendar_table{
        max-width: var(--main-width);
        margin-inline: auto;
        table{
            width: 100%;
            border-collapse: collapse;
            padding: 0.5em 0.5em 0.5em 0;
            @media screen and (max-width: 768px) {
                display: grid;
                grid-template-columns: 0.36fr 1fr 1fr;
                grid-template-rows: repeat(9,auto);
                gap: 0;
                background-image: 
                linear-gradient(
                to bottom,
                var(--green1) 0%,
                var(--green4) 100%
                );
                border-radius: 2em;
            }
            colgroup{
                col{
                    width: 10.25%;
                    &:nth-of-type(1){width: 18%;}
                }
                @media screen and (max-width: 768px) {
                    display: none;
                }
            }
            thead{
                @media screen and (max-width: 768px) {
                    display: grid;
                    grid-template-rows: subgrid;
                    grid-row: span 9;
                }
                tr{                    
                    background-image: 
                        linear-gradient(
                        to right,
                        transparent 0% 18%,
                        var(--green1) 18%,
                        var(--green4) 100%
                        );
                    height: 3.5em;
                    @media screen and (max-width: 768px) {
                        display: grid;
                        grid-template-rows: subgrid;
                        grid-row: span 9;
                        background-image: none;
                    }
                    th{
                        border-left: 1px #d1d1d1 solid;
                        border-right: 1px #d1d1d1 solid;
                        font-size: 0.925em;
                        font-weight: 700;
                        color: #fff;
                        text-align: center;
                        vertical-align: middle;
                        &:nth-of-type(1){
                            border: none;
                        }
                        @media screen and (max-width: 768px) {
                            display: grid;
                            place-content: center;
                            border-right: none;
                            border-left: none;
                            border-top: 1px #d1d1d1 solid;

                        }
                     }
                    }
                }
                tbody{
                    background-color: #fff;
                    @media screen and (max-width: 768px) {
                        display: grid;
                        grid-template-rows: subgrid;
                        grid-row: span 9;
                        overflow: hidden;
                    }
                    &.fes{
                        border-bottom: 3px var(--green1) solid;
                        @media screen and (max-width: 768px) {
                            border-bottom: none;
                            border-right: 2px var(--green1) solid;
                        }
                        th{
                            border-radius: 1em 0 0 0;
                            span{
                                background-color: var(--green1);
                            }
                            img{
                                width:60%;
                                @media screen and (max-width: 768px) {
                                    width: 55%;
                                    margin-top: -0.5em;
                                }
                            }
                        }
                        td{
                            span{
                                background-color: #DFF2F3;
                                color: var(--green1);
                            }
                        }
                    }
                    &.meetup{
                        th{
                            border-radius: 0 0 0 1em;
                            span{
                                background-color: var(--green4);
                            }
                            img{
                                width: 64%;
                            }
                        }
                        td{
                            span{
                                background-color: #E6F1E0;
                                color: var(--green4);
                            }
                        }
                        @media screen and (max-width: 768px) {
                            border-radius: 0 1.5em 1.5em 0;
                        }
                        
                    }
                    tr{
                        @media screen and (max-width: 768px) {
                            display: grid;
                            grid-template-rows: subgrid;
                            grid-row: span 9;
                        }
                        th{
                            text-align: center;
                            vertical-align: middle;
                            @media screen and (max-width: 768px) {
                                padding-block: 1em;
                            }
                            span{
                                font-size: 1em;
                                font-weight: 700;
                                line-height: 1.2;
                                color: #fff;
                                display: grid;
                                place-content: center;
                                margin-inline: auto;
                                width: 72%;
                                padding-block: 0.4em;
                                border-radius: 100vmax;
                                margin-bottom: 1.125em;
                                @media screen and (max-width: 1000px) {
                                    font-size: 0.875em;
                                }
                            }
                        }
                        td{
                            border-left: 1px #d1d1d1 solid;
                            border-right: 1px #d1d1d1 solid;
                            @media screen and (max-width: 768px) {
                                border-right: none;
                                border-left: none;
                                border-top: 1px #d1d1d1 solid;
                                display: flex;
                                justify-content: flex-start;
                                align-content: flex-start;
                                flex-wrap: wrap;
                                gap: 0.4em;
                                padding: 0.5em;
                                &:nth-of-type(2),
                                &:nth-of-type(4),
                                &:nth-of-type(6),
                                &:nth-of-type(8){
                                    background-color: var(--gray3);
                                }
                            }
                            div{
                                border-top: 1px #d1d1d1 dashed;
                                padding-block: 0.5em;
                                @media screen and (max-width: 768px) {
                                    display: contents;
                                }
                                &:nth-of-type(1){
                                    border-top: none;
                                }
                                &:empty::after{
                                    content: "\00a0";
                                    font-size: 0.875em;
                                    font-weight: 700;
                                    line-height: 1.2;
                                    padding-block: 0.6em;
                                    display: grid;
                                    @media screen and (max-width: 1000px) {
                                        font-size: 0.75em;
                                    }
                                    @media screen and (max-width: 768px) {
                                        display: none;
                                    }
                                }
                                span{
                                    font-size: 0.875em;
                                    font-weight: 700;
                                    line-height: 1.2;
                                    display: grid;
                                    place-content: center;
                                    margin-inline: auto;
                                    width: 85%;
                                    padding-block: 0.6em;
                                    border-radius: 100vmax;
                                    @media screen and (max-width: 1000px) {
                                        font-size: 0.75em;
                                    }
                                    @media screen and (max-width: 768px) {
                                        width: 47.5%;
                                        margin-inline: 0;    
                                    }
                                }
                            }
                        }
                }
            }
        }
    }
}

/* #casestudy */
#casestudy.renew{
    .heading_main {
        span{
            margin-bottom: 1.2em;
        }
    }
    .swiper-container{
        overflow-x: clip;
        overflow-y: visible;
    }
    .swiper-slide .inner{
        box-shadow: 0 0 1.2em -0.5em #00000040;
    }
    .media_wrapper{
        .tag{
            width: 100%;
            &.green1 span{
                color: var(--green1);
                background-color: #DFF2F3;
            }
            &.green4 span{
                color: var(--green4);
                background-color: #E6F1E0;
            }
        }
    }
}

/* #download_contents */
#download_contents.renew {
    .heading_main {
        span{
            margin-bottom: 1.2em;
        }
    }
}

/* #faq */
#faq.renew {
    .heading_main {
        span{
            margin-bottom: 1em;
        }
    }
}
