/*
Theme Name: service_renewal_2606
*/
@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 .page_menu li a{
  -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{
  color:#fff;
  text-shadow:0 0 0.4em rgba(0,0,0,0.1);
}

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 .search_keywords{
  cursor:pointer;
  -webkit-transition-property:box-shadow;
  -webkit-transition-duration:0.2s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:box-shadow;
  -moz-transition-duration:0.2s;
  -moz-transition-timing-function:ease;
  -o-transition-property:box-shadow;
  -o-transition-duration:0.2s;
  -o-transition-timing-function:ease;
  transition-property:box-shadow;
  transition-duration:0.2s;
  transition-timing-function:ease;

}
#archive_casestudy .search .search_keywords:hover{
  box-shadow:0 0 1em rgba(118, 178, 183, 0.5);
}

#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;
  }
  .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;
  width: var(--narrow-width);
  background: #e8f4f5;
  font-weight:600;
  margin:0 auto 2em;
  padding:1em;
  border-radius:0.4em;
  max-width:96%;
}
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.6em;
  font-weight:700;
  margin-bottom:0.7em;
  line-height:1.6em;
}

main #seminar_wrapper .date{
  font-size:1.4em;
  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:1em;
  display:inline-block;
  line-height:1.6em;
}
main #seminar_wrapper .date time.enter{
  font-size:0.9em;
}

main #seminar_wrapper .area{
  font-size:0.7em;
  font-weight:400;
  line-height:1.6em;
  margin-top:0.5em;
  color: var(--black);
}
main #seminar_wrapper .presenter{
  font-size:0.7em;
  font-weight:400;
  line-height:1.6em;
  margin-top:0.3em;
  color: var(--black);
}

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: grid;
  grid-template-columns: repeat(auto-fit, 20%);
  justify-content: center;
  gap:1.5em 3%;
  width: 100%;
}
#seminar_archive .seminar_archive_list li{
  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-size:1.1em;
  font-weight:600;
  margin-bottom:0.1em;
  line-height:1.6em;
}
#seminar_archive .seminar_archive_list li .type > span{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  font-size:0.9em;
  padding:0.3em 0.5em;
  border-radius:0.2em;
}
#seminar_archive .seminar_archive_list li .type > span.long{
  background:#d9ebf8;
  color: #598cb1;
  border:1px solid #7da9c9;
}
#seminar_archive .seminar_archive_list li .type > span.short{
  background:#f1ebd9;
  color: #b39066;
  border: 1px solid #c5ac8e;
}
#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{
    grid-template-columns: repeat(auto-fit, 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{
    grid-template-columns: repeat(auto-fit, 45%);
    gap:1.5em 2.5%;
  }
  #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 - Base Styles (PC)
   ========================================================================== */
   #eyecatch.renew {
    background-image: url(assets/images/eyecatch__w1920.jpg);
    padding-bottom: 2.5em;
  }
  
  /* --- catchcopy --- */
  #eyecatch.renew .catchcopy {
    align-items: flex-start;
    padding-block: 18.75em 3.125em;
    padding-left: 3.75%;
    gap: 1.875em;
    font-weight: 800;
  }
  
  #eyecatch.renew .catchcopy > 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;
  }
  
  #eyecatch.renew .catchcopy > p span {
    display: inline-block;
  }
  
  #eyecatch.renew .catchcopy > p span.large {
    font-size: 1.18em;
  }
  
  #eyecatch.renew .catchcopy > p span.exlarge {
    font-size: 1.7em;
  }
  
  /* --- inquiry_menu --- */
  #eyecatch.renew .catchcopy .inquiry_menu {
    gap: 0.75em;
    isolation: isolate;
  }
  
  #eyecatch.renew .catchcopy .inquiry_menu li a {
    font-size: 1.125em;
  }
  
  /* --- achievements --- */
  #eyecatch.renew .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;
  }
  
  #eyecatch.renew .achievements li {
    position: relative;
    display: grid;
    place-content: center;
    width: 33.375em;
    aspect-ratio: 1;
    color: #fff;
  }
  
  #eyecatch.renew .achievements li .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;
  }
  
  #eyecatch.renew .achievements li .circle:nth-of-type(1) { top: 0; left: calc(50% - (17.5em / 2)); }
  #eyecatch.renew .achievements li .circle:nth-of-type(2) { bottom: 0; left: 0; }
  #eyecatch.renew .achievements li .circle:nth-of-type(3) { bottom: 0; right: 0; }
  
  #eyecatch.renew .achievements li .circle .num {
    font-size: 2.25em;
  }
  
  #eyecatch.renew .achievements li .circle .num span {
    font-weight: 700;
    font-family: "Roboto";
    font-size: 1.77em;
  }
  
  #eyecatch.renew .achievements li .circle .caption {
    font-size: 1.125em;
    line-height: 1.4;
    margin-top: 0.5em;
  }
  
  #eyecatch.renew .achievements li .circle .sub {
    font-size: 0.75em;
    margin-top: 0.5em;
  }
  
  #eyecatch.renew .achievements li .title {
    position: relative;
    z-index: 2;
    display: grid;
    place-content: center;
    width: 14em;
    padding-block: 0.4em 0.625em;
    border-radius: 100vmax;
  }
  
  #eyecatch.renew .achievements li .title span {
    text-align: center;
    font-size: 1.625em;
    font-weight: 700;
    line-height: 1.3;
  }
  
  #eyecatch.renew .achievements li .title.green1 { background-color: var(--green1); }
  #eyecatch.renew .achievements li .title.green4 { background-color: var(--green4); }
  
  /* --- latestnews --- */
  #eyecatch.renew .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;
  }
  
  #eyecatch.renew .latestnews img {
    width: 8.75em;
  }
  
  #eyecatch.renew .latestnews .info {
    width: 17.5em;
  }
  
  #eyecatch.renew .latestnews .info .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;
  }
  
  #eyecatch.renew .latestnews .info .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;
  }
  
  #eyecatch.renew .latestnews .info .tag {
    margin-top: 0.2em;
  }
  
  #eyecatch.renew .latestnews .info.green1 .title { color: var(--green1); }
  #eyecatch.renew .latestnews .info.green1 .tag span { color: var(--green1); background-color: #DFF2F3; }
  
  #eyecatch.renew .latestnews .info.green4 .title { color: var(--green4); }
  #eyecatch.renew .latestnews .info.green4 .tag span { color: var(--green4); background-color: #E6F1E0; }
  
  #eyecatch.renew .latestnews .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;
  }
  
  /* ==========================================================================
     Media Queries
     ========================================================================== */
  
  /* --- Width: 1300px --- */
  @media screen and (max-width: 1300px) {
    #eyecatch.renew .latestnews {
      top: 7em;
    }
  }
  
  /* --- Width: 768px (Mobile) --- */
  @media screen and (max-width: 768px) {
    #eyecatch.renew {
      background-image: none;
      padding-bottom: 0;
    }
    #eyecatch.renew .latestnews {
      display: none;
    }
    #eyecatch.renew::before {
      display: none;
    }
  
    #eyecatch.renew .catchcopy {
      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;
    }
  
    #eyecatch.renew .catchcopy::before {
      content: "";
      width: 100%;
      height: 50%;
      position: absolute;
      background: linear-gradient(to bottom, rgba(45, 43, 40, 0) 0%, rgba(45, 43, 40, 1) 100%);
      left: 0;
      bottom: 0;
      z-index: 0;
      opacity: 0.5;
    }
  
    #eyecatch.renew .catchcopy > p {
      text-align: left;
      line-height: 1.3;
      isolation: isolate;
    }
  
    #eyecatch.renew .catchcopy > p span.ajust {
      margin-left: -0.2em;
    }
  
    #eyecatch.renew .catchcopy .inquiry_menu li a {
      font-size: 1.3em;
    }
  
    #eyecatch.renew .achievements {
      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;
    }
  
    #eyecatch.renew .achievements li {
      grid-template-rows: subgrid;
      grid-row: span 3;
      width: 100%;
      aspect-ratio: unset;
      place-content: unset;
    }
  
    #eyecatch.renew .achievements li:nth-of-type(1) {
      color: var(--green1);
    }
  
    #eyecatch.renew .achievements li:nth-of-type(2) {
      color: var(--green4);
    }
  
    #eyecatch.renew .achievements li .circle {
      position: static;
      border: none;
      background-color: #fff;
      border-radius: 0.75em;
      width: 100%;
      aspect-ratio: unset;
      padding-block: 1.5em;
    }
  
    #eyecatch.renew .achievements li .circle:nth-of-type(1) {
      padding-top: 2.5em;
    }
  
    #eyecatch.renew .achievements li .circle .caption {
      margin-top: 0.25em;
    }
  
    #eyecatch.renew .achievements li .title {
      position: absolute;
      top: 0;
      left: 50%;
      translate: -50% -50%;
      width: 12.5em;
    }
  
    #eyecatch.renew .achievements li .title::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%);
    }
  
    #eyecatch.renew .achievements li .title span {
      font-size: 1.25em;
    }
  
    #eyecatch.renew .achievements li .title.green1 { color: #fff; }
    #eyecatch.renew .achievements li .title.green1::after { background-color: var(--green1); }
  
    #eyecatch.renew .achievements li .title.green4 { color: #fff; }
    #eyecatch.renew .achievements li .title.green4::after { background-color: var(--green4); }
  }

/* #aboutus */
/* --- aboutus support 基本スタイル --- */
  #aboutus.renew .support {
    padding-block: 4.5em 5em;
  }

  #aboutus.renew .support h2 {
    text-align: center;
    font-size: 2.6em;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.1em;
  }

  #aboutus.renew .support h2 span {
    display: inline-block;
    border-bottom: 2px solid #fff;
    padding-bottom: 0.5em;
  }

  #aboutus.renew .support > p {
    margin-top: 1em;
    font-size: 1.75em;
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
  }

  #aboutus.renew .support .wrap {
    position: relative;
    width: var(--main-width);
    max-width: 92%;
    margin-inline: auto;
    margin-top: 2.25em;
  }

  #aboutus.renew .support ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto auto;
    gap: 2.5%;
    position: relative;
    z-index: 2;
  }

  #aboutus.renew .support ul li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
  }

  #aboutus.renew .support ul li .icon {
    width: 10.8em;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    margin-inline: auto;
    border-radius: 50%;
    background-color: var(--green1);
  }

  #aboutus.renew .support ul li .icon::after {
    font-family: icomoon;
    display: block;
    font-weight: 200;
    text-align: center;
    color: #fff;
  }

  #aboutus.renew .support ul li:nth-of-type(1) .icon::after { content: "\e91f"; font-size: 9.5em; }
  #aboutus.renew .support ul li:nth-of-type(2) .icon::after { content: "\e920"; font-size: 8.75em; }
  #aboutus.renew .support ul li:nth-of-type(3) .icon::after { content: "\e91e"; font-size: 7.75em; }

  #aboutus.renew .support ul li > p {
    font-size: 1.5em;
    font-weight: 700;
    text-align: center;
    color: #fff;
  }

  #aboutus.renew .support ul li .serif {
    position: relative;
    padding: 1em 7.5%;
    border-radius: 1.25em;
    background-color: #fff;
    margin-top: 2em;
  }

  #aboutus.renew .support ul li .serif p {
    font-size: 1.125em;
    line-height: 1.44;
    font-weight: 500;
    margin:0;
    vertical-align:middle;
  }

  #aboutus.renew .support ul li .serif p span {
    color: var(--green1);
  }

  #aboutus.renew .support ul li .serif img {
    position: absolute;
    width: 10%;
    right: 7.5%;
    bottom: 99%;
  }

  #aboutus.renew .support .wave {
    position: absolute;
    z-index: 1;
    top: 2.5em;
    left: 50%;
    translate: -50% 0;
    width: 59%;
  }

  #aboutus.renew .support .wave img {
    width: 100%;
  }

  #aboutus.renew .support .dashed {
    display: none;
    position: absolute;
    z-index: 1;
    top: 9em;
    left: 50%;
    translate: -50% 0;
    width: 65%;
  }

  #aboutus.renew .support .dashed img {
    width: 100%;
  }

  /* --- レスポンシブ (1200px以下) --- */
  @media screen and (max-width: 1200px) {
    #aboutus.renew .support > p {
      font-size: 1.6em;
    }
    #aboutus.renew .support ul li > p {
      font-size: 1.4em;
    }
  }

  /* --- レスポンシブ (768px以下) --- */
  @media screen and (max-width: 768px) {
    #aboutus.renew .support {
      padding-block: 2em 5em;
    }
    
    #aboutus.renew .support h2 {
      font-size: 1.5em;
    }
    
    #aboutus.renew .support > p {
      font-size: 1.125em;
    }
    
    #aboutus.renew .support .wrap {
      margin-top: 1em;
    }
    
    #aboutus.renew .support ul {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto;
    }
    
    #aboutus.renew .support ul li {
      grid-template-rows: auto;
      gap: 0;
    }
    
    #aboutus.renew .support ul li:nth-of-type(1) {
      grid-column: span 2;
    }
    
    #aboutus.renew .support ul li:nth-of-type(1) .serif {
      width: 80%;
      margin-inline: auto;
    }
    
    #aboutus.renew .support ul li .icon {
      font-size: 0.75em;
      margin-bottom: -1em;
    }
    
    #aboutus.renew .support ul li > p {
      line-height: 1.2;
    }
    
    #aboutus.renew .support ul li .serif {
      margin-top: 1em;
      padding: 1.25em;
    }
    
    #aboutus.renew .support ul li .serif img {
      width: 1.5em;
    }
    
    #aboutus.renew .support .wave {
      display: none;
    }
    
    #aboutus.renew .support .dashed {
      display: block;
    }
  }

/* #whatwecando */
/* --- whatwecando 基本スタイル --- */
  #whatwecando.renew .heading_main span {
    margin-bottom: 0.7em;
  }

  #whatwecando.renew .card-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5%;
    margin-inline: auto;
    margin-bottom: 3em;
    max-width: 1100px;
  }

  #whatwecando.renew .card-wrap .card {
    position: relative;
    padding-top: 3.25em;
  }

  #whatwecando.renew .card-wrap .card 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));
  }

  #whatwecando.renew .card-wrap .card h3 span {
    font-size: 1.5em;
  }

  #whatwecando.renew .card-wrap .card h3 small {
    font-size: 0.75em;
  }

  #whatwecando.renew .card-wrap .card .image {
    border-radius: 2.25em;
    overflow: hidden;
  }

  #whatwecando.renew .card-wrap .card .image img {
    width: 100%;
  }

  /* --- レスポンシブ (768px以下) --- */
  @media screen and (max-width: 768px) {
    #whatwecando.renew .section_desc {
      text-align: center;
    }

    #whatwecando.renew .card-wrap {
      grid-template-columns: 1fr;
      gap: 1.6em;
      max-width: 90%;
      font-size: 0.6em;
    }

    #whatwecando.renew .card-wrap .card {
      padding-top: 0;
    }

    /* 1枚目のカード設定 */
    #whatwecando.renew .card-wrap .card:nth-of-type(1) {
      padding-left: 15%;
    }

    #whatwecando.renew .card-wrap .card:nth-of-type(1) h3 {
      top: calc(50% - (9.125em / 2));
      left: 0;
    }

    /* 2枚目のカード設定 */
    #whatwecando.renew .card-wrap .card:nth-of-type(2) {
      padding-right: 15%;
    }

    #whatwecando.renew .card-wrap .card:nth-of-type(2) h3 {
      top: calc(50% - (9.125em / 2));
      left: auto;
      right: 0;
    }

    #whatwecando.renew .card-wrap .card .image {
      border-radius: 1.5em;
    }

    #whatwecando.renew .button_m {
      min-width: 17.5em;
      justify-content: center;
    }
  }

/* #plans */
/* --- plans 基本スタイル --- */
  #plans.renew .heading_main span {
    margin-bottom: 0.7em;
  }

  #plans.renew .section_desc {
    margin-block: 1em 3em;
  }

  #plans.renew .section_desc.ajust {
    margin-block: 1.75em 1.25em;
  }

  /* --- planmedia_table (PC表示用) --- */
  #plans.renew .planmedia_table {
    margin-inline: auto;
    max-width: var(--main-width);
  }

  #plans.renew .planmedia_table table {
    width: 100%;
    border-collapse: collapse;
  }

  #plans.renew .planmedia_table table colgroup col:nth-of-type(1) { width: 22%; }
  #plans.renew .planmedia_table table colgroup col:nth-of-type(2),
  #plans.renew .planmedia_table table colgroup col:nth-of-type(3),
  #plans.renew .planmedia_table table colgroup col:nth-of-type(4) { width: 26%; }

  #plans.renew .planmedia_table table th, 
  #plans.renew .planmedia_table table td {
    box-sizing: border-box;
    border: 0.3125em #fff solid;
    text-align: center;
    vertical-align: middle;
  }

  /* thead設定 */
  #plans.renew .planmedia_table thead tr:nth-of-type(1) th {
    position: relative;
  }
  #plans.renew .planmedia_table thead tr:nth-of-type(1) th img {
    width: 100%;
    padding-inline: 1.6%;
  }
  #plans.renew .planmedia_table thead tr:nth-of-type(1) th:nth-of-type(2) { color: var(--blue1); }
  #plans.renew .planmedia_table thead tr:nth-of-type(1) th:nth-of-type(3) { color: var(--green1); }
  #plans.renew .planmedia_table thead tr:nth-of-type(1) th:nth-of-type(4) { color: var(--green4); }

  #plans.renew .planmedia_table thead tr:nth-of-type(1) th 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;
  }

  #plans.renew .planmedia_table thead tr:nth-of-type(2) th {
    padding-block: 1.125em;
  }
  #plans.renew .planmedia_table thead tr:nth-of-type(2) th:nth-of-type(2) { background-color: var(--blue1); }
  #plans.renew .planmedia_table thead tr:nth-of-type(2) th:nth-of-type(3) { background-color: var(--green1); }
  #plans.renew .planmedia_table thead tr:nth-of-type(2) th:nth-of-type(4) { background-color: var(--green4); }

  #plans.renew .planmedia_table thead tr:nth-of-type(2) th span {
    font-size: 1em;
    font-weight: 700;
    color: #fff;
    line-height: 2;
  }

  /* tbody設定 */
  #plans.renew .planmedia_table tbody tr:nth-of-type(odd) {
    background-color: var(--gray3);
  }
  #plans.renew .planmedia_table tbody tr:nth-of-type(odd) td .icon::after {
    background-color: var(--gray3);
  }
  #plans.renew .planmedia_table tbody tr:nth-of-type(even) td .icon::after {
    background-color: #fff;
  }

  #plans.renew .planmedia_table tbody tr th {
    font-size: 1em;
    font-weight: 700;
    line-height: 1.5;
  }

  #plans.renew .planmedia_table tbody tr td {
    font-size: 0.875em;
    font-weight: 500;
    line-height: 1.5;
  }

  #plans.renew .planmedia_table tbody th, 
  #plans.renew .planmedia_table tbody td {
    padding-block: 1.25em;
  }

  /* アイコン設定 */
  #plans.renew .planmedia_table tbody tr td .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;
  }
  #plans.renew .planmedia_table tbody tr td .icon::after {
    font-family: icomoon;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 1em;
    inset: 0;
  }
  #plans.renew .planmedia_table tbody tr td .icon.maru { color: var(--green1); }
  #plans.renew .planmedia_table tbody tr td .icon.maru::after { content: "\e909"; }
  #plans.renew .planmedia_table tbody tr td .icon.nijumaru { color: var(--red1); }
  #plans.renew .planmedia_table tbody tr td .icon.nijumaru::after { content: "\e908"; }
  #plans.renew .planmedia_table tbody tr td .icon.batsu { font-size: 1.8em; color: #C2C2C2; }
  #plans.renew .planmedia_table tbody tr td .icon.batsu::after { content: "\e919"; }

  /* --- planmedia_list (SP表示用) --- */
  #plans.renew .planmedia_list {
    display: none;
  }

  /* --- レスポンシブ設定 (PC/Tablet) --- */
  @media screen and (max-width: 1000px) {
    #plans.renew .planmedia_table thead tr:nth-of-type(2) th span {
      font-size: 0.875em;
    }
    #plans.renew .planmedia_table tbody tr th {
      font-size: 0.875em;
    }
  }

  /* --- レスポンシブ設定 (Mobile 768px以下) --- */
  @media screen and (max-width: 768px) {
    #plans.renew .section_desc {
      text-align: center;
      margin-block: 1em;
    }

    #plans.renew .planmedia_table {
      display: none;
    }

    #plans.renew .planmedia_list {
      display: block;
    }

    #plans.renew .planmedia_list li {
      padding: 0.25em;
    }

    #plans.renew .planmedia_list li:has(.title.closed) {
      background-color: var(--gray3);
    }

    #plans.renew .planmedia_list li + li {
      margin-top: 0.75em;
    }

    /* リストごとのカラーバリエーション */
    #plans.renew .planmedia_list li:nth-of-type(1) { background-color: var(--blue1); }
    #plans.renew .planmedia_list li:nth-of-type(1) th, #plans.renew .planmedia_list li:nth-of-type(1) td { border-color: var(--blue1); }
    #plans.renew .planmedia_list li:nth-of-type(1) thead { color: var(--blue1); }
    #plans.renew .planmedia_list li:nth-of-type(1) .title.closed { color: var(--blue1); }

    #plans.renew .planmedia_list li:nth-of-type(2) { background-color: var(--green1); }
    #plans.renew .planmedia_list li:nth-of-type(2) th, #plans.renew .planmedia_list li:nth-of-type(2) td { border-color: var(--green1); }
    #plans.renew .planmedia_list li:nth-of-type(2) thead { color: var(--green1); }
    #plans.renew .planmedia_list li:nth-of-type(2) .title.closed { color: var(--green1); }

    #plans.renew .planmedia_list li:nth-of-type(3) { background-color: var(--green4); }
    #plans.renew .planmedia_list li:nth-of-type(3) th, #plans.renew .planmedia_list li:nth-of-type(3) td { border-color: var(--green4); }
    #plans.renew .planmedia_list li:nth-of-type(3) thead { color: var(--green4); }
    #plans.renew .planmedia_list li:nth-of-type(3) .title.closed { color: var(--green4); }

    /* アコーディオンタイトル */
    #plans.renew .planmedia_list .title {
      padding-block: 1em;
      position: relative;
      color: #fff;
      transition-duration: 0.1s;
      transition-property: background-color, color;
    }
    #plans.renew .planmedia_list .title.closed::after { rotate: 0deg; }
    #plans.renew .planmedia_list .title p { text-align: center; font-size: 1.125em; font-weight: 700; line-height: 1.3; }
    #plans.renew .planmedia_list .title::after {
      content: "▼";
      font-size: 1em;
      position: absolute;
      right: 1em;
      top: calc(50% - 0.5em);
      scale: 1 0.6;
      rotate: 180deg;
      transition: rotate 0.3s;
    }

    /* モバイル用テーブル */
    #plans.renew .planmedia_list table {
      width: 100%;
      border-collapse: collapse;
    }
    #plans.renew .planmedia_list table colgroup col { width: 50%; }
    #plans.renew .planmedia_list table thead th {
      text-align: center;
      background-color: #EEF4F7;
      box-sizing: border-box;
      border: 3px solid;
    }
    #plans.renew .planmedia_list table thead th span { font-size: 1.125em; font-weight: 700; line-height: 1.7; }
    #plans.renew .planmedia_list table tbody tr { background-color: #fff; }
    #plans.renew .planmedia_list table tbody tr th { font-size: 0.875em; font-weight: 700; line-height: 1.5; text-align: left; padding-left: 1em; }
    #plans.renew .planmedia_list table tbody tr td { font-size: 0.875em; font-weight: 500; line-height: 1.5; text-align: center; }
    #plans.renew .planmedia_list table tbody th, #plans.renew .planmedia_list table tbody td {
      padding-block: 1em;
      box-sizing: border-box;
      border: 3px solid;
      vertical-align: middle;
    }

    /* モバイル用アイコン */
    #plans.renew .planmedia_list table tbody tr td .icon {
      display: block;
      font-weight: 200;
      font-size: 2.25em;
      width: 1em;
      height: 1em;
      line-height: 0.9;
      margin-inline: auto;
      position: relative;
    }
    #plans.renew .planmedia_list table tbody tr td .icon::after {
      font-family: icomoon;
      position: absolute;
      display: block;
      background-color: #fff;
      width: 100%;
      height: 100%;
      line-height: 1em;
      inset: 0;
    }
    #plans.renew .planmedia_list table tbody tr td .icon.maru { color: var(--green1); }
    #plans.renew .planmedia_list table tbody tr td .icon.maru::after { content: "\e909"; }
    #plans.renew .planmedia_list table tbody tr td .icon.nijumaru { color: var(--red1); }
    #plans.renew .planmedia_list table tbody tr td .icon.nijumaru::after { content: "\e908"; }
  }

/* #howto */
/* --- howto 基本スタイル (PC Base) --- */
  #howto.renew .heading_main span {
    margin-bottom: 0.7em;
  }

  #howto.renew .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;
  }

  /* PC用の横線 */
  #howto.renew .step::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;
  }

  #howto.renew .step 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;
  }

  #howto.renew .step li .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;
  }

  #howto.renew .step li .num small {
    font-size: 0.875em;
  }

  #howto.renew .step li .num span {
    font-size: 2.6em;
    line-height: 1.2;
  }

  #howto.renew .step li .dot {
    margin-inline: auto;
    width: 1.125em;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--green1);
  }

  #howto.renew .step li .pc_content {
    display: contents;
  }

  #howto.renew .step li .icon {
    width: 5.5em;
    aspect-ratio: 1;
    display: grid;
    place-content: center;
    margin-inline: auto;
    margin-block: 1.75em;
  }

  #howto.renew .step li .icon::after {
    font-family: icomoon;
    display: block;
    font-weight: 200;
    text-align: center;
    color: var(--black);
  }

  /* ステップごとのアイコン設定 */
  #howto.renew .step li:nth-of-type(1) .icon::after { content: "\e91c"; font-size: 5.5em; }
  #howto.renew .step li:nth-of-type(2) .icon::after { content: "\e91d"; font-size: 5.5em; }
  #howto.renew .step li:nth-of-type(3) .icon::after { content: "\e91b"; font-size: 5em; }

  #howto.renew .step li h3 {
    font-size: 1.25em;
    line-height: 1.5;
    text-align: center;
    font-weight: 700;
    display: grid;
    place-content: center;
  }

  #howto.renew .step li p {
    font-size: 1em;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 0.6em;
  }

  #howto.renew .step li p.caption {
    font-size: 0.875em;
  }

  /* --- レスポンシブ (768px以下) --- */
  @media screen and (max-width: 768px) {
    #howto.renew .section_desc {
      text-align: center;
    }

    #howto.renew .step {
      grid-template-columns: 1fr;
      grid-template-rows: repeat(3, auto);
      gap: 0;
      padding-top: 0.5em;
      padding-left: 1.75em;
      margin-top: 0;
    }

    /* PC用の線を消す */
    #howto.renew .step::after {
      display: none;
    }

    #howto.renew .step li {
      display: block;
      padding: 1.5em 1.5em 1.5em 3.25em;
      border-radius: 1em 1em 1em 0;
    }

    #howto.renew .step li + li {
      margin-top: 1em;
    }

    /* 数字（バッジ）を左側に配置換え */
    #howto.renew .step li .num {
      top: 50%;
      left: -1.7em;
      translate: 0 -50%;
    }

    #howto.renew .step li .num span {
      font-size: 2.8em;
      line-height: 1;
    }

    #howto.renew .step li .dot {
      display: none;
    }

    #howto.renew .step li .pc_content {
      display: flex;
      margin-left: -0.5em;
    }

    #howto.renew .step li .icon {
      margin-block: 0;
      margin-inline: 0 0.5em;
      font-size: 0.75em;
    }
  }

/* #ce-calendar */
/* --- ce-calendar 基本スタイル (PC Base) --- */
/* --- ce-calendar 基本スタイル (PC Base) --- */
  #ce-calendar.renew {
    padding-top: 2.5em;
  }

  #ce-calendar.renew .heading_main span {
    margin-bottom: 0.7em;
  }

  #ce-calendar.renew .section_desc {
    margin-block: 1em 3em;
  }

  #ce-calendar.renew .section_desc.ajust {
    margin-block: 3em 1.25em;
  }

  /* --- calendar_table 構造 --- */
  #ce-calendar.renew .calendar_table {
    max-width: var(--main-width);
    margin-inline: auto;
  }

  #ce-calendar.renew .calendar_table table {
    width: 100%;
    border-collapse: collapse;
    padding: 0.5em 0.5em 0.5em 0;
  }

  #ce-calendar.renew .calendar_table colgroup col {
    width: 10.25%;
  }

  #ce-calendar.renew .calendar_table colgroup col:nth-of-type(1) {
    width: 18%;
  }

  /* --- thead --- */
  #ce-calendar.renew .calendar_table thead tr {
    background-image: linear-gradient(
      to right,
      transparent 0% 18%,
      var(--green1) 18%,
      var(--green4) 100%
    );
    height: 3.5em;
  }

  #ce-calendar.renew .calendar_table thead 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;
  }

  #ce-calendar.renew .calendar_table thead th:nth-of-type(1) {
    border: none;
  }

  /* --- tbody --- */
  #ce-calendar.renew .calendar_table tbody {
    background-color: #fff;
  }

  #ce-calendar.renew .calendar_table tbody tr th {
    text-align: center;
    vertical-align: middle;
  }

  #ce-calendar.renew .calendar_table tbody tr th 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;
  }

  #ce-calendar.renew .calendar_table tbody tr td {
    border-left: 1px #d1d1d1 solid;
    border-right: 1px #d1d1d1 solid;
  }

  #ce-calendar.renew .calendar_table tbody tr td div {
    border-top: 1px #d1d1d1 dashed;
    padding-block: 0.5em;
  }

  #ce-calendar.renew .calendar_table tbody tr td div:nth-of-type(1) {
    border-top: none;
  }

  #ce-calendar.renew .calendar_table tbody tr td div 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;
  }

  /* 空のdivに対する処理 (PC用) */
  #ce-calendar.renew .calendar_table tbody tr td div:empty::after {
    content: "\00a0";
    font-size: 0.875em;
    font-weight: 700;
    line-height: 1.2;
    padding-block: 0.6em;
    display: grid;
  }

  /* --- イベント種別ごとのスタイル --- */
  /* fes (フェス) */
  #ce-calendar.renew .calendar_table tbody.fes {
    border-bottom: 3px var(--green1) solid;
  }
  #ce-calendar.renew .calendar_table tbody.fes th {
    border-radius: 1em 0 0 0;
  }
  #ce-calendar.renew .calendar_table tbody.fes th span {
    background-color: var(--green1);
  }
  #ce-calendar.renew .calendar_table tbody.fes th img {
    width: 60%;
  }
  #ce-calendar.renew .calendar_table tbody.fes td span {
    background-color: #DFF2F3;
    color: var(--green1);
  }

  /* meetup (ミートアップ) */
  #ce-calendar.renew .calendar_table tbody.meetup th {
    border-radius: 0 0 0 1em;
  }
  #ce-calendar.renew .calendar_table tbody.meetup th span {
    background-color: var(--green4);
  }
  #ce-calendar.renew .calendar_table tbody.meetup th img {
    width: 64%;
  }
  #ce-calendar.renew .calendar_table tbody.meetup td span {
    background-color: #E6F1E0;
    color: var(--green4);
  }

  /* --- Tablet / Desktop Adjustable Font Sizes --- */
  @media screen and (max-width: 1000px) {
    #ce-calendar.renew .calendar_table tbody tr th span { font-size: 0.875em; }
    #ce-calendar.renew .calendar_table tbody tr td div span { font-size: 0.75em; }
    #ce-calendar.renew .calendar_table tbody tr td div:empty::after { font-size: 0.75em; }
  }

  /* ==========================================================================
    Media Queries (Mobile 768px以下)
    ========================================================================== */
  @media screen and (max-width: 768px) {
    #ce-calendar.renew .section_desc {
      margin-block: 1em 2em;
      text-align: center;
    }
    #ce-calendar.renew .section_desc.ajust {
      margin-block: 2em 1.25em;
    }

    /* テーブルをGridレイアウトに変更 */
    #ce-calendar.renew .calendar_table table {
      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;
    }

    #ce-calendar.renew .calendar_table colgroup {
      display: none;
    }

    #ce-calendar.renew .calendar_table thead,
    #ce-calendar.renew .calendar_table thead tr {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 9;
    }

    #ce-calendar.renew .calendar_table thead tr {
      background-image: none;
    }

    #ce-calendar.renew .calendar_table thead th {
      display: grid;
      place-content: center;
      border-right: none;
      border-left: none;
      border-top: 1px #d1d1d1 solid;
    }

    #ce-calendar.renew .calendar_table tbody {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 9;
      overflow: hidden;
    }

    /*iOS16.5未満の場合のbug fix*/
    #ce-calendar.renew .calendar_table thead,
    #ce-calendar.renew .calendar_table tbody{
      display:contents;
    }
    #ce-calendar.renew .calendar_table thead tr,
    #ce-calendar.renew .calendar_table tbody tr{
      grid-row: span 9;
    }
    #ce-calendar.renew .calendar_table tbody tr{
      background:#fff;
    }
    #ce-calendar.renew .calendar_table tbody.fes tr{
      border-right: 2px var(--green1) solid;
    }
    #ce-calendar.renew .calendar_table tbody:last-child tr{
      border-top-right-radius: 1.7em;
      border-bottom-right-radius: 1.7em;
      overflow:hidden;
    }
    #aboutus.renew .support ul li{
      display:block;
    }
    

    /* モバイル時のボーダー調整 */
    #ce-calendar.renew .calendar_table tbody.fes {
      border-bottom:none;
      border-right: 2px var(--green1) solid;
    }
    #ce-calendar.renew .calendar_table tbody.fes th img {
      width: 55%;
      margin-top: -0.5em;
    }
    #ce-calendar.renew .calendar_table tbody.meetup {
      border-radius: 0 1.5em 1.5em 0;
    }

    #ce-calendar.renew .calendar_table tbody tr {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 9;
    }

    #ce-calendar.renew .calendar_table tbody tr th {
      padding-block: 1em;
    }

    #ce-calendar.renew .calendar_table tbody tr td {
      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;
    }

    /* 偶数行の背景色変更 */
    #ce-calendar.renew .calendar_table tbody tr td:nth-of-type(2),
    #ce-calendar.renew .calendar_table tbody tr td:nth-of-type(4),
    #ce-calendar.renew .calendar_table tbody tr td:nth-of-type(6),
    #ce-calendar.renew .calendar_table tbody tr td:nth-of-type(8) {
      background-color: var(--gray3);
    }

    #ce-calendar.renew .calendar_table tbody tr td div {
      display: contents; /* Grid/Flex内で階層を無視 */
    }

    #ce-calendar.renew .calendar_table tbody tr td div span {
      width: 47.5%;
      margin-inline: 0;
    }

    /* モバイルでは空要素を表示しない */
    #ce-calendar.renew .calendar_table tbody tr td div:empty::after {
      display: none;
    }
  }
/* #casestudy */
/* --- casestudy 基本スタイル --- */
  #casestudy.renew .heading_main span {
    margin-bottom: 1.2em;
  }

  #casestudy.renew .swiper-container {
    overflow-x: clip;
    overflow-y: visible;
  }

  #casestudy.renew .swiper-slide .inner {
    box-shadow: 0 0 1.2em -0.5em #00000040;
  }

  #casestudy.renew .media_wrapper .tag {
    width: 100%;
  }

  /* --- カラーバリエーション (green1) --- */
  #casestudy.renew .media_wrapper .tag.green1 span {
    color: var(--green1);
    background-color: #DFF2F3;
  }

  /* --- カラーバリエーション (green4) --- */
  #casestudy.renew .media_wrapper .tag.green4 span {
    color: var(--green4);
    background-color: #E6F1E0;
  }

/* #download_contents */
/* --- download_contents 基本スタイル --- */
  #download_contents.renew .heading_main span {
    margin-bottom: 1.2em;
  }

/* #faq */
/* --- faq 基本スタイル --- */
  #faq.renew .heading_main span {
    margin-bottom: 1em;
  }

/* #thanks */
/* --- thanks 基本スタイル --- */
  #thanks .thanks_message {
    text-align: center;
    font-size: 1.1em;
    line-height: 1.8em;
    margin-bottom: 2em;
    font-weight: 500;
  }

  #thanks .thanks_actions {
    text-align: center;
    margin-inline: auto;
  }

  /* thanks_actions が連続する場合（2つ目以降）のマージン */
  #thanks .thanks_actions + .thanks_actions {
    margin-top: 1.2em;
  }

/* Phone field validation feedback */
/* --- Validation Styles --- */
  .phone_error {
    color: #d62828;
    font-size: 0.875em;
    margin-top: 0.3em;
  }

  input[type="tel"].is-phone-invalid,
  input.is-phone-invalid {
    background-color: #fff5f5;
    transition: background-color 0.2s ease;
  }

  /* --- #single_document.renew Base Styles --- */
  #single_document.renew article {
    flex-direction: row;
  }

  #single_document.renew #column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3.75em;
  }

  /* Signup Form / Table to Block */
  #single_document.renew #signup_form .form_wrapper table,
  #single_document.renew #signup_form .form_wrapper table tbody,
  #single_document.renew #signup_form .form_wrapper table tbody tr,
  #single_document.renew #signup_form .form_wrapper table tbody tr th,
  #single_document.renew #signup_form .form_wrapper table tbody tr td {
    display: block;
  }

  #single_document.renew #signup_form .form_wrapper table tbody tr th {
    border: none;
    padding-block: 1em;
  }

  #single_document.renew #signup_form .form_wrapper table tbody tr td {
    padding-inline: 0;
    border: none;
    padding-top: 1em;
    padding-bottom: 2em;
  }

  /* --- Media Queries (1750px and below) --- */
  @media screen and (max-width: 1750px) {
    #single_document.renew article {
      flex-direction: column;
    }

    #single_document.renew #sidebar_wrapper {
      width: 100%;
    }

    #single_document.renew #sidebar_wrapper #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_document.renew #sidebar_wrapper #sidebar .relate_doc_list {
      background: #fff;
      border-radius: 0.6em;
      padding: 0.3em 0.6em;
    }

    #single_document.renew #column {
      width: 100%;
    }
  }

  /* --- Media Queries (768px and below) --- */
  @media screen and (max-width: 768px) {
    #single_document.renew #column {
      display: block;
    }

    #single_document.renew #signup_form .form_wrapper table tbody tr th {
      padding: 0.5em;
    }

    #single_document.renew #signup_form .form_wrapper table tbody tr td {
      padding: 0.5em;
    }
  }


  .single.single-seminar article{
    width:unset;
    max-width:unset;
    margin:-15em auto 3em;
    display:block;
    position: relative;
    z-index:1;
  }
  .single.single-seminar #seminar_wrapper article{
    padding:1.6em 1.6em 2.5em;
    background:#fff;
    border-bottom:0;
    box-shadow:0 0 1em rgba(0,0,0,0.1);
    width: var(--narrow-width);
    /*margin: 0 auto;
    max-width: 92%;
    padding-bottom: 4em;
    margin-bottom: 4em;
    border-bottom: 1px solid #ddd;
    position: relative;*/
  }

  .single.single-seminar main section:not(#eyecatch,#aboutus) {
      padding:0;
  }

  
  @media screen and (max-width: 768px) {
    .single.single-seminar article{
        margin: -8em auto 0;
    }
    .single.single-seminar #seminar_wrapper{
      padding-bottom:1.5em;
    }
    .single.single-seminar #seminar_wrapper article{
      width: var(--main-width);
      padding: 1em 1em 2em;
      max-width:unset;
    }
  }

  
#seminar_recent .seminar_recent_list{
  display: grid;
  grid-template-columns: repeat(auto-fit, 24em);
  justify-content: center;
  gap:3em 3%;
  width: 100%;
}
#seminar_recent .seminar_recent_list li{
  display:block;
}
#seminar_recent .seminar_recent_list:has(> li:only-child) {
  grid-template-columns: 34em;
}

@media screen and (max-width: 1100px){
  #seminar_recent .seminar_recent_list:has(> li:only-child) {
    grid-template-columns: 80%;
  }
}
@media screen and (max-width: 768px){
  #seminar_recent .seminar_recent_list{
    grid-template-columns: repeat(auto-fit, 92%);
    gap:3em 2.5%;
  }
  #seminar_recent .seminar_recent_list:has(> li:only-child) {
    grid-template-columns: 92%;
  }
}




#seminar_recent .seminar_recent_list li .image{
  margin-bottom:0.4em;
  width:100%;
  position:relative;
}
#seminar_recent .seminar_recent_list li.webinar_end .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_recent .seminar_recent_list li .image img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
  margin:auto;
  z-index:0;
}
#seminar_recent .seminar_recent_list li.finish .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_recent .seminar_recent_list li .date{
  font-size:1.1em;
  font-weight:600;
  margin-bottom:0.1em;
  line-height:1.6em;
}
#seminar_recent .seminar_recent_list li .area{
  font-size:0.94em;
  margin-bottom:0.1em;
  line-height:1.6em;
}
#seminar_recent .seminar_recent_list li .presenter{
  font-size:0.94em;
  margin-bottom:0.1em;
  line-height:1.6em;
}

#seminar_recent .seminar_recent_list li .title{
  margin-top:0.4em;
  line-height:1.6em;
  font-size:0.94em;
}

#seminar_recent .seminar_recent_list li .button_wrapper{
  text-align:center;
  margin-top:0.8em;
}
#seminar_recent .seminar_recent_list li .button_wrapper .button{
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  gap:0.1em;
  background:var(--green1);
  color:#fff;
  height:3em;
  padding:0;
  position:relative;
  font-weight:600;
  font-size:1.2em;
  border-radius:0.3em;
}

#seminar_recent .seminar_recent_list li .button_wrapper .button .finish_wrapper{
  display:block;
  line-height:1em;
}
#seminar_recent .seminar_recent_list li .button_wrapper .button .finish_wrapper .finish{
  background:#c4c4c4;
  color:#464646;
  pointer-events: none;
  font-size:0.6em;
  display:inline-block;
  line-height:1.3em;
  padding:0.2em 0.3em;
  border-radius:0.3em;
  font-weight:400;
}


#seminar_recent #short_seminar{
  padding:2em 0 4em;
}
#seminar_recent #long_seminar{
  padding:4em 0;
  background: var(--gray1);
}

main #seminar_recent{
  padding-top:2em!important;
}

#seminar_recent h3{
    font-size: 1.6em;
    text-align: center;
    font-weight: 700;
    margin-bottom: 2em;
}

#seminar_recent h3 span{
  display:inline-block;
  position:relative;
  padding-left:1.6em;
}
#seminar_recent h3 span::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.1em;
    left: 0;
}

@media screen and (max-width: 768px){
  #seminar_recent #short_seminar{
    padding:1em 0 3em;
  }
  #seminar_recent #long_seminar{
    padding:3em 0;
  }

  #seminar_recent .seminar_recent_list li .date{
    font-size:0.9em;
    letter-spacing:0;
    margin-bottom:0.3em;
  }
  #seminar_recent .seminar_recent_list li .title{
    line-height:1.6em;
    font-size:0.9em;
  }
}

.back_to_webinar_index{
  padding:0 0 3em;
  text-align:center;
}
.back_to_webinar_index a{
  color:var(--link);
}

#webinar_entry_floating{
  display:flex;
  justify-content:center;
  align-items:center;
  position:fixed;
  left:0;
  bottom:0;
  background:rgba(0,0,0,0.5);
  padding:0.6em;
  z-index:10;
  width:100%;
}
#webinar_entry_floating > .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;
}