@charset "utf-8";

@import url('../fonts/icomoon/style.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.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);}
}

[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;
  }

  .swal2-popup .swal2-styled:focus {
    box-shadow: none !important;
  }

/*Reset CSS*/
html,body{
    width: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:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',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,
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;
}


.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;
}
.inline-block{
  display:inline-block;
}
.yellow_bk{
    background:linear-gradient(transparent 50%, #fffcbb 50%);
}

.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;
}

.underline{
    text-decoration:underline;
}


.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;
}
.pc_colgroup{
  display: table-column-group;
}
.smp_colgroup{
  display: none;
}


input[type="text"],
input[type="search"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
textarea{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}
select{
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background: none;
  border: none;
  color: #333;
  font: inherit;
  width: 100%;
  height: 100%;
  padding:0;
}

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;
}

textarea::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{
        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;
    }
    .pc_colgroup{
      display: none;
    }
    .smp_colgroup{
      display: table-column-group;
    }


}

/*カスタマイズスタート*/

:root {
  --main:#299F6F;
  --dark1:#F6F6F6;
  --dark2:#eee;
  --active:#6AB898;
  --link:#76B18D;
  --light:#d4ecd4;
  --finished:#a9d3c1;
  --main-background:#F8F6F1;
  --accent:#DE4362;
  --form:#CDD6DD;
  --box-border:#CFD9DC;
  --box-heading:#F2F1ED;
  --th-background:#eaf5ea;
}

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:var(--link);
  text-decoration:none;
}
a:hover{
  text-decoration:none;
  opacity:0.7;
}
button:hover{
  opacity:0.7;
}

.center{
  text-align:center!important;
}
html{
  height:100%;
}
html,body{
	font-size:16px;
	color:#333;
  font-weight:400;
	letter-spacing:0.05em;
  background-color:var(--main-background);
  background-image: url('../images/background.png');
  background-size:cover;
  background-attachment: fixed;
}

body > header{
    padding:1em;
}
body > header .logo{
    width:12em;
    height:auto;
    vertical-align:middle;
}

.overlay{
  display:none;
}

.center-contents{
  width:100%;
  height:100%;
}
body.swal2-height-auto.center-contents{
  height:100%!important;
}

.center-contents header{
  position:absolute;
  left:0;
  top:0;
  width:100%;
}
.center-contents header .inner,
.widecolumn header .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.center-contents main{
  width:100%;
  height:100%;
  text-align:center;
  padding-top:3em;
}
.center-contents main .inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.pageinfo{
  margin-bottom:1em;
  text-align:center;
}
.pageinfo h1{
  font-size:2em;
  font-weight:900;
  margin-bottom:0.8em;
}
.pageinfo h1 .sub{
  display:inline-block;
  line-height:1em;
  font-size:0.6em;
  margin-top:0.6em;
  padding-top:0.6em;
  color:var(--main);
  border-top:0.2em solid var(--main);
  letter-spacing:0.02em;
}

.pageinfo p{
  font-size:0.9em;
  margin-bottom:1em;
}
.box{
  position:relative;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--box-border);
  border-radius:0.6em;
  padding:2em;
  margin-bottom:1.6em;
  overflow:hidden;
  z-index:0;
}
.box.pattern2{
  padding:1em 1.3em;
  font-size:0.9em;
}
.invisible_box{
  position:relative;
  margin:0 auto;
  margin-bottom:3em;
  z-index:0;
}

.box.disabled::after{
  content:"";
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  background:rgba(0,0,0,0.1);
  cursor:default;
  pointer-events: none;
  z-index:1;
}
.box.disabled *{
  cursor:default!important;
  pointer-events: none!important;
}

.box .box_heading{
  position:relative;
  background: var(--box-heading);
  padding:0 1em;
  width:calc(100% + 4em);
  line-height:2em;
  top:-2em;
  left:-2em;
  font-weight:900;
  text-align:left;
}
.usercontent .box .box_heading{
  margin-bottom:-0.6em;
}
.box .box_heading .option{
  color:#666;
  font-size:0.85em;
  display:inline-block;
  margin-left:0.3em;
  font-weight:400;
}

.box .document{
  height:26em;
  width:100%;
  padding-right:1em;
  overflow-y:scroll;
}
.agreement .box .document{
  height:18em;
}
.terms_of_use .box .document{
  height:18em;
}
.terms_of_service .box .document{
  height:unset;
  overflow-y:unset;
}

.document section{
  text-align:left;
  margin-bottom:2.5em;
  font-size:0.9em;
  line-height:1.6em;
}
.box .document section.terms_renew{
  background:#FFF6F6;
  border:1px solid #D5A1A1;
  padding:1.5em;
}
.box .document section.terms_renew a{
  color:#C76767;
  text-decoration:underline;
}

.box .document section.terms_old{
  background:#F1F9FF;
  border:1px solid #A1BBD5;
  padding:1.5em;
}
.box .document section.terms_old a{
  color:#678dc7;
  text-decoration:underline;
}


.document p{
  margin-bottom:1.5em;
}

.document h3{
  font-size:1.1em;
  line-height:1.4em;
  padding:0.2em 0 0.2em 0.6em;
  border-left:0.4em solid #333;
  font-weight:900;
  margin-bottom:0.8em;
  margin-top:3em;
}
.document > *:first-child h3:first-of-type{
  margin-top:0;
}
.document h4{
  font-weight:900;
  margin-bottom:0.4em;
}
.document h5{
  font-weight:900;
  margin:1em 0 0.4em;
}
.document .ol1{
  counter-reset: ol1;
  margin:1em 0;
}
.document .ol1 > li{
  position:relative;
  padding-left:2em;
}
.document .ol1 > li::before{
  counter-increment: ol1;
  content: counter(ol1) ".";
  position:absolute;
  left:0;
  top:0;
}
.document .ol1 > li:not(:last-child){
  margin-bottom:1em;
}
.document .ol2{
  counter-reset: ol2;
  margin:1em 0;
}
.document .ol2 > li{
  position:relative;
  padding-left:2em;
}
.document .ol2 > li::before{
  counter-increment: ol2;
  content: "(" counter(ol2) ")";
  position:absolute;
  left:0;
  top:0;
}
.document .ol2 > li:not(:last-child){
  margin-bottom:0.6em;
}

.agreement .document ul{
  margin:1em 0 1.5em;
}
.agreement .document ul > li:not(last-child){
  margin-bottom:0.6em;
}


.document table{
  table-layout:fixed;
  width:100%;
  margin-bottom:2em;
  font-size:0.9em;
  border-top:1px solid var(--box-border);
}

.document table colgroup col:nth-child(1){
  width:12em;
}
.document table tbody th,
.document table tbody td{
  padding:0.8em;
  border-bottom:1px solid var(--box-border);
}



.check_wrapper,
.radio_wrapper{
  cursor:pointer;
  display:inline-block;
}
.check_wrapper input,
.radio_wrapper input{
  display:none;
}
.check_wrapper i,
.radio_wrapper i{
  font-size:1.1em;
  width:1em;
  height:1em;
  line-height:1em;
  display:inline-block;
  vertical-align:middle;
  position:relative;
}
.check_wrapper i::before{
  content:"\e910";
  font-family:icomoon;
  color:var(--form);
  background:#fff;
  display:inline-block;
  width:1em;
  height:1em;
  line-height:1em;
  font-weight:200;
}
.check_wrapper input:checked + i::before {
  content:"\e911";
  color: var(--active);
}
.radio_wrapper i::before{
  content:"\e906";
  font-family:icomoon;
  color:var(--form);
  background:#fff;
  display:inline-block;
  width:1em;
  height:1em;
  line-height:1em;
  font-weight:200;
}
.check_wrapper input:disabled + i::before,
.radio_wrapper input:disabled + i::before{
  background:#EBEBEB;
}
.radio_wrapper input:checked + i::before {
  content:"\e907";
  color: var(--active);
}



.box.agree_box{
  text-align:left;
  border:0;
  padding:0;
  border:1px solid var(--box-border);
}
.agree_box label{
  display:block;
  cursor:pointer;
  background:var(--th-background);
}
.agree_box label:hover{
  color:var(--active);
}
.agree_box .flex{
  display:flex;
  justify-content:space-between;
  padding:1.4em;
}
.agree_box .flex .left{
  width:2em;
}
.agree_box .flex .right{
  width:calc(100% - 2em);
  line-height:1.6em;
}
.terms_of_use .agree_box .flex{
  justify-content:center;
}
.terms_of_use .agree_box .flex .right{
  width:unset;
}

.agree_box .check_wrapper{
  font-size:1.2em;
}

.caution_box{
  color: var(--accent);
  background: #faf2f2;
  border:1px solid #d6c3c3;
}

.center-contents .box{
  width:540px;
  max-width:100%;
}

.widecolumn{
  padding-bottom:3em;
}
.widecolumn .box{
  width:920px;
  max-width:100%;
}
.widecolumn .entry_flow{
  width:920px;
  max-width:100%;
}
.widecolumn .invisible_box{
  width:920px;
  max-width:100%;
}

form{
  text-align:left;
}
form > *:last-child{
  margin-bottom:0!important;
}
.row{
  margin:0 0 2em;
}
.row.pattern2{
  margin:0 0 1.5em;
}
.row.pattern3{
  margin:0 0 1em;
}
@media screen and (min-width: 769px){
  .search_detail .row.pattern3{
    display:flex;
    align-items:flex-start;
  }
  .search_detail table td .row.pattern3 span.label{
    margin-right:0.6em;
  }
}


.row:last-child{
  margin-bottom:0;
}
.row label{
  font-weight:900;
  font-size:0.8em;
  display:block;
  text-align:left;
  margin-bottom:0.5em;
}


form input[type="text"],
form input[type="search"],
form input[type="tel"],
form input[type="email"],
form input[type="password"],
form input[type="number"],
form textarea{
  border:1px solid var(--form);
  padding:0.6em;
  width:100%;
  max-width:100%;
}
form textarea{
  line-height:1.5em;
}
form input:disabled{
  background:#EBEBEB;
}

form .date_wrapper{
  display:inline-block;
  position:relative;
  width:13em;
  height:2.6em;
  box-sizing:border-box;
  border:1px solid var(--form);
  padding:0 1.3em 0 0.6em;
  vertical-align:middle;
}
form .date_wrapper input[type="date"]{
  width:100%;
  box-sizing:border-box;
  font-size: 16px;
  height:2.4em;
  line-height:2.4em;
  z-index: 1;
  cursor:pointer;
  color:#333;
  text-align:left;
  border:none;
}
input[type="date"]::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  background: transparent;
  z-index: 1;
}
form .date_wrapper::after {
  content: "\f073";
  font-family:"Font Awesome 6 Free";
  display:flex;
  align-items:center;
  font-size: 1em;
  width: 1em;
  height: 1em;
  line-height: 1em;
  position: absolute;
  right:0.5em;
  top: 0;
  bottom: 0;
  margin: auto;
  font-weight: 800;
  color:var(--main);
}

form .select_wrapper{
  display:inline-block;
  position:relative;
  width:100%;
}
form select{
  font-size:1rem;
  line-height:1.2em;
  padding:0.8em 0.6em;
  z-index: 1;
  border:1px solid var(--form);
  cursor:pointer;
}
form .select_wrapper::after {
  content: "\f107";
  font-family:"Font Awesome 6 Free";
  display:flex;
  align-items:center;
  font-size: 0.7em;
  width: 1em;
  height: 1em;
  line-height: 1em;
  position: absolute;
  right:1em;
  top: 0;
  bottom: 0;
  margin: auto;
  font-weight: 800;
  color:var(--form);
}

form .row.flex{
  display:flex;
  gap:0.8em 1.5em;
  align-items:flex-end;
}
form .row.flex.wrap{
  flex-wrap:wrap;
}
.s_table .row.flex{
  flex-wrap:wrap;
}
form .check_row,
form .radio_row{
  display:flex;
  gap:1.2em 1.5em;
  align-items:flex-end;
  flex-wrap:wrap;
  padding:0.6em 0 0;
}
form .check_row label,
form .radio_row label{
  font-weight:400;
  font-size:1em;
  display:block;
  text-align:left;
  margin-bottom:unset;
}

form label .must,
form label .option{
  font-size:0.9em;
  font-weight:900;
  background:var(--accent);
  color:#fff;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:1.6em;
  line-height:1.6em;
  border-radius:0.3em;
  padding:0.2em 0.8em 0;
  margin-left:0.5em;
  position:relative;
  top:-0.1em;
}
form label .option{
  font-size:0.9em;
  font-weight:900;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:1.6em;
  line-height:1.6em;
  border-radius:0.3em;
  padding:0.2em 0.8em 0;
  margin-left:0.5em;
  position:relative;
  top:-0.1em;
}
form label .must,
form label .option{
  background:var(--accent);
  color:#fff;
}
form label .option{
  background:var(--box-border);
  color:#333;
}


.mainbutton{
  background:var(--main);
  border:2px solid var(--main);
  color:#fff;
  font-weight:900;
  padding:0 2.8em;
  min-width:8em;
  box-sizing:content-box;
  font-size:1.3em;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:2.8em;
  line-height:2.8em;
  border-radius:0.4em;
  white-space:nowrap;
}
.outlink{
  margin-top:1.2em;
}
.outlink a{
  font-size:0.8em;
}
.mainbutton.pattern2{
  background:var(--accent);
  border:2px solid var(--accent);
  color:#fff;
}
.mainbutton.pattern3{
  background:#fff;
  border:2px solid var(--accent);
  color:var(--accent);
}
.mainbutton.pattern4{
  background:#EFBF00;
  border:2px solid #EFBF00;;
  color:#fff;
}

.linkbutton{
  background:transparent;
  color:var(--main);
  border:2px solid var(--main);
  font-weight:900;
  padding:0 2.5em;
  min-width:6em;
  box-sizing:content-box;
  font-size:0.92em;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:3em;
  line-height:3em;
  border-radius:3em;
  white-space:nowrap;
}
.linkbutton.pattern2{
  background:#fff;
}
.linkbutton.pattern3{
  background:var(--main);
  color:#fff;
}
.linkbutton.pattern4{
  height:2.5em;
  line-height:2.5em;
  border-radius:2.5em;
  background:var(--main);
  color:#fff;
}
.linkbutton.pattern5{
  background:var(--accent);
  border:2px solid var(--accent);
  color:#fff;
}
.linkbutton.pattern6{
  height:2.5em;
  line-height:2.5em;
  border-radius:2.5em;
  background:#fff;
  color:var(--main);
}
.linkbutton.download::before{
  content:"\f358";
  font-family:"Font Awesome 6 Free";
  font-weight:800;
  font-size:1.1em;
  display:inline-block;
  margin-right:0.2em;
}

.minibutton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1em;
  height:2.2em;
  min-width:6em;
  line-height:2.2em;
  background:#F3F3F3;
  color: var(--main);
  font-weight:900;
  border-radius:0.3em;
  font-size:1.1em;
  white-space:nowrap;
  box-sizing:border-box;
}
.minibutton::before{
  font-family:"icomoon";
  font-weight:200;
  margin-right:0.3em;
  font-size:1em;
  position:relative;
  top:-0.05em;
}
.minibutton.edit::before{
  content: "\e900";
  font-family:"icomoon";
}
.minibutton.copy::before{
  font-family:"Font Awesome 6 Free";
  content: "\f0ea";
  font-weight:800;
}
.minibutton.stop::before{
  font-family:"Font Awesome 6 Free";
  content: "\f05e";
  font-weight:800;
}
.minibutton.delete::before{
  content: "\f057";
  font-family: "Font Awesome 6 Free";
  font-weight:800;
}




.minibutton.edit{
  color:#fff;
  background: var(--link);
}
.minibutton.copy{
  color: var(--main);
}
.minibutton.stop{
  color: var(--accent);
}
.minibutton.delete{
  color:#fff;
  background: var(--accent);
}
.minibutton.publish{
  color:#fff;
  background: var(--accent);
}
.minibutton.correction{
  color:var(--accent);
  background: #fff;
  border:2px solid  var(--accent);
}

.minibutton.disabled{
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
  border:2px solid  #B4B4B4;
}

.microbutton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1em;
  height:2em;
  min-width:6em;
  line-height:2em;
  background:#F3F3F3;
  font-weight:900;
  border-radius:0.3em;
  font-size:0.9em;
  white-space:nowrap;
}
.microbutton.extend{
  background:var(--accent);
  color:#fff;
}
.microbutton.extend::before{
  content:"\f1b8";
  font-weight:800;
  font-family:"Font Awesome 6 Free";
  display:inline-block;
  margin-right:0.2em;
  vertical-align:middle;
}
menu{
  background:#fff;
  width:25em;
  min-height:100vh;
}

menu .logo_wrapper{
  padding:3em 2em 2em;
}
menu .logo_wrapper a{
  display:block;
  width:15em;
}
menu .logo_wrapper a img{
  width:100%;
  height:auto;
}
menu .close{
  display:none;
}
menu .menu_list > li > a{
  display:block;
  font-size:1.1em;
  padding:1.4em 2em 1.4em 4em;
  color:#333;
  font-weight:400;
  position:relative;
}
menu .menu_list > li > a::before{
  color:#999;
  font-size:1.4em;
  height:1em;
  line-height:1em;
  width:1em;
  position:absolute;
  font-weight:200;
  left:1.4em;
  top:0;
  bottom:0;
  margin:auto;
}
menu .menu_list > li.home > a::before{
  content:"\e90e";
  font-family:icomoon;
}
menu .menu_list > li.search > a::before{
  content: "\f002";
  font-size:1.3em;
  font-family: "Font Awesome 6 Free";
  font-weight:900;
}
menu .menu_list > li.favorite > a::before{
  content:"\e915";
  font-family:icomoon;
}
menu .menu_list > li.history > a::before{
  content:"\e908";
  font-family:icomoon;
}
menu .menu_list > li.diagnosis > a::before{
  content:"\e909";
  font-family:icomoon;
}
menu .menu_list > li.exam_result > a::before{
  content:"\e90a";
  font-family:icomoon;
}
menu .menu_list > li.profile > a::before{
  content:"\f4fe";
  font-family:"Font Awesome 6 Free";
  font-size:1.3em;
  font-weight:800;
}

menu .menu_list > li > a:hover,
menu .menu_list > li > a.active{
  background:var(--dark1);
  opacity:1;
  color:var(--main);
}
menu .menu_list > li > a.active{
  font-weight:900;
}
menu .menu_list > li > a:hover::before,
menu .menu_list > li > a.active::before{
  color:var(--main);
}
menu .menu_list > li.parent > a::after{
  content:"\e912";
  font-family:"icomoon";
  font-size:0.9em;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  right:2.5em;
  top:0;
  bottom:0;
  margin:auto;
  font-weight:200;
  color:#aaa;
}
menu .menu_list > li.parent > a.active::after{
  transform:rotate(-180deg);
}

menu .menu_list > li.parent ul.child{
  display:none;
}
menu .menu_list > li.parent ul.child{
  padding:0.6em 4em;
  background: var(--dark2);
}
menu .menu_list > li.parent ul.child > li > a{
  display:block;
  color:#777;
  font-size:0.9em;
  padding:0.8em 0;
  font-weight:400;
}
menu .menu_list > li.parent ul.child > li > a:hover,
menu .menu_list > li.parent ul.child > li > a.active{
  color:var(--main);
  font-weight:900;
  opacity:1;
}


menu .to_faq{
  position:fixed;
  font-weight:900;
  font-size:1.3em;
  line-height:3.8em;
  height:3.8em;
  padding:0 1em;
  display:inline-flex;
  border:1px solid var(--main);
  background:#fff;
  border-radius:3.8em;
  color:#000;
  left:1em;
  bottom:1em;
  letter-spacing:0;
  cursor:pointer;
}
menu .to_faq::before{
  content: "\e904";
  font-family: icomoon;
  font-size:1.6em;
  font-weight:200;
  color: var(--main);
  margin-right:0.2em;
}
menu .to_faq:hover{
  transform:scale(1.05);
}


main p{
  line-height:1.7em;
}

.usercontent{
  display:flex;
  justify-content:space-between;
}
.usercontent header .logo_wrapper,
.usercontent header #menu_toggle{
  display:none;
}

.usercontent header{
  position:absolute;
  right:2em;
  top:0;
  display:flex;
  padding:1em;
  z-index:1;
}
.usercontent header #user_toggle{
  color:#333;
  font-weight:900;
  font-size:0.9em;
  display:flex;
  align-items:center;
}
.usercontent header #user_toggle::before{
  content:"\e90b";
  font-family:icomoon;
  color:var(--active);
  font-weight:200;
  font-size:2em;
  display:inline-block;
  margin-right:0.3em;
}
.usercontent header #user_toggle::after{
  content:"\e912";
  font-family:"icomoon";
  font-size:0.9em;
  width:1em;
  height:1em;
  line-height:1em;
  display:inline-block;
  margin-left:0.6em;
  font-weight:200;
  color:#aaa;
}
.usercontent header #user_toggle strong{
  display:block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width:15em;
  margin-right:1em;
}

.usercontent header #user_menu{
  display:none;
  padding:1em;
  background:rgba(38, 145, 115, 0.8);
  color:#fff;
  text-align:right;
  position:absolute;
  right:1em;
  top:4em;
  max-width:100%;
}
.usercontent header #user_menu div{
  margin-bottom:0.6em;
  font-size:0.8em;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.usercontent header #user_menu div span{
  font-weight:900;
}
.usercontent header #user_menu a{
  display:inline-flex;
  font-size:0.9em;
  padding:0 1em;
  line-height:2.6em;
  height:2.6em;
  border-radius:0.3em;
  border:1px solid #fff;
  color:#fff;
}
.usercontent header #user_menu a::before{
  content:"\f08b";
  font-family:"Font Awesome 6 Free";
  font-weight:800;
  display:inline-block;
  margin-right:0.3em;
}

.usercontent main{
  width:calc(100% - 25em);
  padding:2em 3em;
}
.usercontent main #school_name{
  font-size:1.1em;
  margin-bottom:0.8em;
  font-weight:900;
}

.usercontent main #breadcrumb{
  font-size:0.75em;
  width:100%;
  white-space: nowrap;
}
.usercontent main #breadcrumb li{
  display:inline-block;
  white-space: nowrap;
}
.usercontent main #breadcrumb li:not(:last-child)::after{
  content:"\203A";
  display:inline-block;
  margin:0 0.3em;
}

.usercontent.home main #breadcrumb{
  visibility:hidden;
}


.usercontent main #content{
  padding-top:4em;
}
.usercontent main h1{
  font-size:2em;
  font-weight:900;
  margin-bottom:1.8em;
}
.usercontent main h1::before{
  color:var(--main);
  font-size:1.1em;
  height:1em;
  line-height:1em;
  width:1em;
  margin-right:0.3em;
  position:relative;
  top:0.05em;
}

.v_table{
  table-layout:fixed;
  border:1px solid var(--box-border);
  width:100%;
}
.v_table > tbody > tr > th{
  width:35%;
  background: var(--th-background);
  font-weight:900;
}
.v_table .v_table th,
.v_table .h_table th{
  background: var(--main-background);
}

.usercontent .v_table th{
  width:20%;
}
.v_table > tbody > tr > th,
.v_table > tbody > tr > td{
  font-size:0.9em;
  border:1px solid var(--box-border);
  padding:1em;
  vertical-align:top;
}
.v_table > tbody > tr > th{
  line-height:1.3em;
}
.v_table > tbody > tr > td{
  padding:1.4em;
  line-height:1.2em;
}

.caution{
  color:var(--accent)!important;
}


.home main h1::before{
  content: "\e90e";
  font-family: icomoon;
  font-weight:200;
}
.info main h1::before{
  content: "\f0f3";
  font-family:"Font Awesome 6 Free";
}
.search main h1::before{
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight:900;
}
.search_entry main h1::before{
  content: "\e901";
  font-family: icomoon;
  font-weight:200;
}
.search_edit main h1::before{
  content: "\e902";
  font-family: icomoon;
  font-weight:200;
}
.search_chose_school h1::before{
  content: "\e913";
  font-family: icomoon;
  font-weight:200;
}
.faq h1::before{
  content: "\e904";
  font-family: icomoon;
  font-weight:200;
}
.users h1::before{
  content: "\f4fe";
  font-family: "Font Awesome 6 Free";
  font-weight:800;
}
.favorite main h1::before{
  content: "\e915";
  font-family: icomoon;
  font-weight:200;
}

.search_correction h1::before{
  content: "\e5a0";
  font-family: "Font Awesome 6 Free";
  font-weight:800;
}
.profile h1::before{
  content: "\f0c0";
  font-family: "Font Awesome 6 Free";
  font-weight: 800;
}
.setting h1::before{
  content: "\f085";
  font-family: "Font Awesome 6 Free";
  font-weight: 800;
}
.history h1::before{
  content: "\e908";
  font-family: icomoon;
  font-weight:200;
}
.exam_result h1::before{
  content: "\e90a";
  font-family: icomoon;
  font-weight:200;
}
.import h1::before{
  content: "\e90a";
  font-family: icomoon;
  font-weight:200;
}
.diagnosis h1::before{
  content: "\e909";
  font-family: icomoon;
  font-weight:200;
}

.home main .news_list{
  font-size:0.94em;
  margin:-1em 0 -0.5em;
}
.home main .news_list li a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:1.2em 2.6em 1.2em 0.8em;
  color:#333;
  position:relative;
}
.home main .news_list li a::after{
  content:"\e903";
  font-family:icomoon;
  font-weight:200;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  right:0.6em;
  top:0;
  bottom:0;
  margin:auto;
  color:var(--main);
  font-size:1.3em;
}
.home main .news_list li:not(:last-child){
  border-bottom:1px solid var(--box-border);
}
.home main .news_list li a:hover{
  background:var(--th-background);
  opacity:1;
}
.home main .news_list li a > *{
  display:block;
}
.home main .news_list li a time{
  width:10em;
}
.home main .news_list li a strong{
  height:1em;
  line-height:1.2em;
  width:24em;
  display:block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-weight:900;
}
.home main .news_list li a span{
  height:1em;
  line-height:1.1em;
  width:calc(100% - 36em);
  color:#999;
  display:block;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}


.usercontent p{
  margin-bottom:1em;
}


.h_table{
  table-layout:fixed;
  border:1px solid var(--box-border);
  width:100%;
}
.h_table th{
  background: var(--th-background);
  font-weight:900;
}
.h_table th,
.h_table td{
  font-size:0.84em;
  line-height:1.3em;
  border:1px solid var(--box-border);
}
.h_table th{
  padding:0.5em 0.8em;
  vertical-align:middle;
}
.h_table td{
  padding:0.8em;
  vertical-align:middle;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.h_table .attention td{
  background:#FEFBEE;
}
.h_table .disabled td{
  background:#efefef;
}

.h_table td .check{
  font-size:1.5em;
  text-align:center;
}
.h_table td .ng{
  font-size:1.5em;
  text-align:center;
}

.h_table.alternate tbody tr:nth-child(even) td{
  background:#f8f8f7;
}

table td span.label{
  font-size:0.84em;
  display:inline-block;
  line-height:1.6em;
  height:1.6em;
  padding:0 0.5em;
  border-radius:0.3em;
  color:#111;
  white-space:nowrap;
  box-sizing: content-box;
  min-width:3.2em;
  text-align:center;
  margin-right:0.2em;
  vertical-align: middle;
}
table td span.label.ndh{
  background: #e3f3ec;
  color:#5b8573;
  border:1px solid #c4d8cf;
}
table td span.label.dh{
  background: #dde1f0;
  color:#626a92;
  border:1px solid #c4cad8;
}

.h_table.staff_num{
  width:24em;
  max-width:100%;
}
.h_table.staff_num colgroup col:nth-child(1){
  width:12em;
}
.h_table.staff_num colgroup col:nth-child(2){
  width:6em;
}
.h_table.staff_num colgroup col:nth-child(3){
  width:6em;
}

.prefecture_label{
  display:inline-block;
  background:var(--th-background);
  line-height:1.6em;
  height:1.6em;
  margin-right:0.4em;
  width:6em;
  font-size:0.8em;
  text-align:center;
  border-radius:0.3em;
  vertical-align:middle;
  font-weight:900;
}

.info .info_detail time{
  display:block;
  margin-bottom:1.4em;
  font-size:0.9em;
}
.info .info_detail h2{
  font-size:1.3em;
  font-weight:900;
  margin-bottom:1.2em;
  padding-bottom:0.8em;
  border-bottom:1px solid var(--box-border);
}
.info .info_detail .info_body{
  font-size:0.9em;
  line-height:1.7em;
}

.s_table{
  table-layout:fixed;
  width:100%;
  margin-bottom:1.5em;
}
.s_table tr th{
  font-weight:900;
  font-size:0.9em;
}
.s_table tr th,
.s_table tr td{
  vertical-align:middle;
}
.s_table tr:not(:last-child) th,
.s_table tr:not(:last-child) td{
  padding-bottom:1.5em;
}

#advanced_search{
  background:#fff;
  width:1000px;
  padding:3em;
  border-radius:0.5em;
  max-width:94%;
  margin:0 auto;
}
#advanced_search .inner{
  width:100%;
  max-height:80vh;
  overflow:auto;
}
#advanced_search .v_table > tbody > tr > th{
  font-size:0.8em;
}



form .s_table td .row label {
  font-weight: 400;
  margin-bottom: 0;
  font-size:0.9em;
}
form .v_table td .row.flex label{
  margin-bottom: 0;
}
.swal2-title{
  padding-top:2em!important;
  font-size:1.3em!important;
  color: var(--main)!important;
}
.swal2-html-container {
  font-size: 0.9em!important;
}

.pagenation{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.9em;
  gap:0.6em;
  margin-top:1.6em;
}
.pagenation > *{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#333;
  min-width:2.5em;
  height:2.5em;
  line-height:2.5em;
  border:1px solid var(--box-border);
  padding:0 0.6em;
  color:#333;
  font-weight:900;
  border-radius:0.3em;
}
.pagenation > a:not(.disable){
  cursor:pointer;
}
.pagenation > a.disable{
  background:rgba(0,0,0,0.05);
  color:rgba(0,0,0,0.3);
  pointer-events:none;
  cursor: default;
}
.pagenation > span{
  background: var(--main);
  border: 1px solid var(--main);
  color:#fff;
}

.change_status{
  margin-top:1.5em;
  background:#f4f4f4;
  padding:1.5em;
  border-radius:0.4em;
}
.change_status h2{
  font-weight:900;
  font-size:1.1em;
  margin-bottom:0.8em;
}
.change_status .flex{
  display:flex;
  gap:1em;
  justify-content:center;
}

.entry_flow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:0 auto 3em;
}
.entry_flow li{
  width:25%;
  background:#fff;
  color: var(--main);
  font-weight:900;
  text-align:center;
  display:flex;
  justify-content:center;
  align-items:center;
  height:3.6em;
  line-height:3.6em;
  position:relative;
}
.entry_flow li:not(:last-child){
  border-right:2px solid #eee;
}


.entry_flow li.active{
  color:#fff;
  background: var(--main);
}
.entry_flow li.active::after{
  content:"";
  width:0;
  height:0;
  font-size:0.7em;
  border-top:1em solid var(--main);
  border-right:1.25em solid transparent;
  border-left:1.25em solid transparent;
  position:absolute;
  left:0;
  right:0;
  bottom:-0.9em;
  margin:auto;
}
.form_accordion::after{
  content:"\e912";
  font-family:icomoon;
  display:inline-flex;
  margin-left:0.6em;
  font-weight:200;
  transform:scale(1.1);
  position:relative;
  top:-0.05em;
}

.form_accordion_child{
  display:none;
  width:100%;
  margin:0;
  padding:0;
}

form .note{
  font-size:0.85em;
  color:#777;
  margin-top:1em;
  line-height:1.5em;
  margin-bottom:unset;
}

/* 追加 2024/01/25 */
.insurance_caution{
  color: #dd4814;
}

.radius_box {
  border: 2px solid #777;
  border-radius: 0.8em;
  padding: 0.1em 1em;
}

.radius_box_title {
  display: inline;
  position: relative;
  top: -1.1em;
  background: white;
  padding: 0 1em;
}

.mb_12e {
  margin-bottom: 1.2em;
}

.rd3e {
  border-radius: 3em;
}

.linkbutton2 {
  background:transparent;
  color:var(--main);
  border:2px solid var(--main);
  font-weight:900;
  padding:0 2.2em;
  min-width:6em;
  box-sizing:content-box;
  font-size:1.2em;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  height:3em;
  line-height:3em;
  border-radius:3em;
  white-space:nowrap;
}

.linkbutton2.pattern2 {
  background:#fff;
}

.disabled {
  opacity: 0.7;
  cursor: initial;
}

/* ----------------------- */
.gmap{
  width:100%;
  height:0;
  padding-top:40%;
  position:relative;
}
.gmap iframe{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
}

.upload_images{
  display:flex;
  justify-content:space-between;
}
.upload_images > div{
  width:23%;
}
.upload_images > div .thumb{
  width:100%;
  height:0;
  padding-top:75%;
  position:relative;
  border:2px solid var(--form);
  background-color:#ECECEC;
  background-size:cover;
  background-position:center center;
}
.upload_images > div .thumb > img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  object-fit:cover;
}

.upload_images > div .thumb label{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  cursor:pointer;
  font-size:inherit;
}
.upload_images > div .thumb label:hover{
  opacity:0.7;
  transform:scale(1.1);
}
.upload_images > div .thumb label input{
  display:none;
}
.upload_images > div .thumb label::before{
  content:"\f055";
  font-size:4em;
  font-family:"Font Awesome 6 Free";
  color:#BAC7D1;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  font-weight:800;
}
.upload_images > div .thumb .clear{
  position:absolute;
  right:0.5em;
  top:0.5em;
  background:var(--accent);
  line-height:2.6em;
  height:2.6em;
  border-radius:2.6em;
  padding:0 0.8em;
  color:#fff;
  font-size:0.75em;
  display:none;
  font-weight:900;
  cursor:pointer;
}
.upload_images > div .thumb .clear:hover{
  opacity:0.9;
}
.upload_images > div .thumb .clear.active{
  display:inline-flex;
}
.upload_images > div .thumb .clear::before{
  content:"\f057";
  font-family: "Font Awesome 6 Free";
  font-weight:800;
  display:inline-block;
  margin-right:0.3em;
}

form .additional{
  display:flex;
  flex-direction: column;
  align-items:center;
  width:100%;
}
form .additional .linkbutton{
  order:1;
}
form .additional .note{
  order:2;
}


form.flow_parent{
  position:relative;
}
form.flow_parent .confirm_box{
  background:transparent;
  text-align:center;
  border-radius:0.5em;
  bottom:1em;
  -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;

}
form.flow_parent .confirm_box.fixed{
  position:fixed;
  background:rgba(0,0,0,0.35);
}
form.flow_parent .confirm_box_dummy{
  visibility: hidden;
}
form.flow_parent .confirm_box .inner{
  position:relative;
  padding:1.6em 0;
}
form.flow_parent .confirm_box .inner .flex{
  display:flex;
  flex-flow: column;
  justify-content:center;
  align-items:center;
  gap:1em;
}
form.flow_parent .confirm_box .inner .save{
  display:inline-flex;
  position:absolute;
  right:1em;
  top:1em;
  font-size:0.8em;
  background:var(--main);
  color:#fff;
  border:2px solid var(--main);
  font-weight:900;
  padding:0 1.5em;
  min-width:5em;
  box-sizing:content-box;
  justify-content:center;
  align-items:center;
  height:2.5em;
  line-height:2.5em;
  border-radius:2.5em;
  white-space:nowrap;
}
form.flow_parent .confirm_box .inner .save::before{
  content:"\f0c7";
  font-family:"Font Awesome 6 Free";
  font-weight:200;
  margin-right:0.3em;
  font-size:1.1em;
}
form.flow_parent .confirm_box .inner .cancel{
  display:inline-flex;
  position:absolute;
  left:1em;
  top:1em;
  font-size:0.8em;
  background:#fff;
  color:var(--main);
  border:2px solid #fff;
  font-weight:900;
  padding:0 1.5em;
  min-width:5em;
  box-sizing:content-box;
  justify-content:center;
  align-items:center;
  height:2.5em;
  line-height:2.5em;
  border-radius:2.5em;
  white-space:nowrap;
}
form.flow_parent .confirm_box .inner .cancel::before{
  content: "\f057";
  font-family: "Font Awesome 6 Free";
  font-weight: 800;
  display: inline-block;
  margin-right: 0.2em;
}

.copy_placeholder{
  display:inline-flex;
  align-items:center;
  justify-content: center;
  font-size:0.94em;
  line-height:2.4em;
  height:2.4em;
  border-radius:2.4em;
  padding:0 1.5em;
  background:var(--main);
  color:#fff;
  font-weight:900;
  vertical-align:middle;
}

.operation_box{
  background:rgba(0,0,0,0.1);
  text-align:center;
  border-radius:0.5em;
  margin-bottom:1.5em;
}
.operation_box .inner{
  position:relative;
  padding:1.6em;
  display:flex;
  gap:0.8em;
  flex-wrap:wrap;
}


.qa_box dt{
  line-height:1.5em;
  padding:1em 2.5em 1em 3.2em;
  font-weight:900;
  position:relative;
  cursor:pointer;
}
.qa_box dt::before{
  content:"\e914";
  font-family:icomoon;
  font-size:2em;
  font-weight:200;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  left:0.3em;
  top:0.3em;
  color: var(--active);
}
.qa_box dt::after{
  content:"\e912";
  font-family:icomoon;
  font-size:1em;
  font-weight:200;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  right:1em;
  top:1em;
  margin:auto;
  color: var(--main);
}
.qa_box dt:hover,
.qa_box dt.active{
  background:var(--th-background);
}
.qa_box dt.active::after{
  transform:rotate(180deg);
}
.qa_box dd{
  line-height:1.5em;
  padding:1em 1em 2em 3.2em;
  position:relative;
  display:none;
}
.qa_box dd::before{
  content:"\e905";
  font-family:icomoon;
  font-size:2em;
  font-weight:200;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  left:0.3em;
  top:0.3em;
  color: var(--accent);
  opacity:0.9;
}
.qa_box dt:not(:last-of-type),
.qa_box dd:not(:last-of-type){
  border-bottom:1px solid var(--box-border);
}

.selected_file{
  color:var(--main);
}


.home_menu{
  display: flex;
  width:80%;
  max-width:100%;
  gap:1.5em;
  align-items:center;
  justify-content:left;
  flex-wrap:wrap;
  margin:0 auto;
}
.home_menu a{
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  aspect-ratio: 1 / 1;
  width:calc(25% - 1.2em);
  box-sizing:border-box;
  padding:0.9em;
}
.home_menu a:hover{
  transform:scale(1.05);
  opacity:1;
}

.home_menu a .inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction: column;
  align-items:center;
  justify-content:center;
  aspect-ratio: 1 / 1;
  font-weight:900;
  border:1px solid #fff;
}

.home_menu.pattern4 a{
  width:calc(25% - 1.2em);
}
.home_menu.pattern3 a{
  width:calc(33.3333% - 1em);
}
.home_menu.pattern2 a{
  width:calc(50% - 0.9em);
}

.home_menu a{
  background:rgba(255,255,255,0.85);
  color:var(--main);
}
.home_menu a .inner{
  border:1px solid var(--main);
}
.home_menu a:hover{
  background:rgba(255,255,255,1);
}

.home_menu a.color{
  background:rgba(41,159,111,0.85);
  color:#fff;
}
.home_menu a.color .inner{
  border:1px solid #fff;
}
.home_menu a.color:hover{
  background:rgba(41,159,111,1);
}


.home_menu a .inner .icon{
  display:flex;
  aspect-ratio: 1 / 1;
  width:50%;
  justify-content:center;
  align-items:center;
  position:relative;
}
.home_menu a .inner .text{
  display:flex;
  flex-direction: column;
  align-items:center;
  text-align:center;
  line-height:1.4em;
  font-size:1em;
  min-height:2.8em;
  justify-content: center;
}
.home_menu a .inner .icon::before{
  font-family:icomoon;
  font-size:4.5em;
  font-weight: 200;
  position:relative;
  z-index:1;
}
.home_menu a.dh_search .inner .icon::before{
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size:4.2em;
}
.home_menu a.dh_parttime_search .inner .icon::before{
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size:4.2em;
}
.home_menu a.dt_search .inner .icon::before{
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size:4.2em;
}
.home_menu a.favorite .inner .icon::before{
  content: "\e915";
}
.home_menu a.history .inner .icon::before{
  content: "\e908";
}
.home_menu a.diagnosis .inner .icon::before{
  content: "\e909";
}
.home_menu a.exam_result .inner .icon::before{
  content: "\e90a";
}
.home_menu a.profile .inner .icon::before{
  content: "\f4fe";
  font-family: "Font Awesome 6 Free";
  font-weight: 800;
  font-size:4em;
}


.home_menu a .inner .icon::after{
  content:"";
  font-family:icomoon;
  font-size:4.5em;
  font-weight: 200;
  color:rgba(80, 175, 136, 0.15);
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  z-index:0;
  margin:auto;
  mix-blend-mode:multiply;
  width:1em;
  height:1em;
  transform:scale(2);
}
.home_menu a.dh_search .inner .icon::after{
  content: "\e917";
}
.home_menu a.dh_parttime_search .inner .icon::after{
  /* content: "\e917"; */
}
.home_menu a.dt_search .inner .icon::after{
  content: "\e916";
}
@media screen and (max-width: 1800px){
  .home_menu{
    width:100%;
    font-size:1.1vw;
  }
}
@media screen and (max-width: 1600px) {
  .leadme_article {
    overflow: auto;
  }
  .mainbutton {
    padding: 0 1em;
  }
}
@media screen and (max-width: 1500px){
  .home_menu{
    font-size:1.4vw;
  }


}
@media screen and (max-width: 1300px){
  .home_menu{
    font-size:1.9vw;
  }
}
@media screen and (max-width: 1000px){
  .home_menu{
    font-size:2.7vw;
  }
}


.search_menu .menu_buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:left;
  gap:1em;
  margin-bottom:2em;
}
.search_menu .menu_buttons button{
  width:49%;
  border:3px solid var(--main);
  font-size:0.85em;
  border-radius:1em;
  box-sizing:border-box;
  padding:1.5em 5em 1.5em;
  text-align:left;
  position:relative;
  background:#fff;
  color:#333;
}
.search_menu .menu_buttons button .text{
  display:block;
  font-weight:900;
  font-size:1.2em;
  border-bottom:1px dashed #ccc;
  padding-bottom:0.3em;
  margin-bottom:0.3em;
}
.search_menu .menu_buttons button .text big{
  font-size:1.3em;
  line-height:1em;
}
.search_menu .menu_buttons button .selected{
  display:block;
  color:#999;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

.search_menu .menu_buttons button::before{
  font-family:icomoon;
  font-weight:200;
  font-size:2em;
  width:1em;
  height:1em;
  line-height:1em;
  position:absolute;
  left:0.8em;
  top:0;
  bottom:0;
  margin:auto;
  color:var(--active);
  text-align:center;
}
.search_menu .menu_buttons button.condition::before{
  content:"\e91c";
}
.search_menu .menu_buttons button.area::before{
  content:"\e91b";
}
.search_menu .menu_buttons button.station::before{
  content:"\e918";
}
.search_menu .menu_buttons button.salary::before{
  content:"\e91a";
}
.search_menu .menu_buttons button::after{
  content:"\2b";
  font-family: "Font Awesome 6 Free";
  font-weight: 800;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:1.6em;
  height:1.6em;
  background:#eee;
  color: var(--main);
  border-radius:100%;
  position:absolute;
  right:1.2em;
  top:0;
  bottom:0;
  margin:auto;
}
.search_menu .menu_buttons button.disabled{
  background:#eee;
  border:3px solid #bbb;
  /*pointer-events: none;*/
}
.search_menu .menu_buttons button.disabled::before{
  color:#bbb!important;
}
.search_menu .menu_buttons button.disabled::after{
  background:#ddd!important;
  color:#bbb!important;
}
.search_menu .menu_buttons button.disabled .text{
  color:#aaa;
}

.search_menu .menu_buttons button.disabled:hover{
  opacity:1;
}

.search_menu .freeword{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1em;
}
.search_menu .freeword input[type="text"]{
  width:30em;
  background:#fff;
  border:1px solid var(--main);
}

.key_submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--main);
  font-size: 1.3em;
  width:4em;
  height:2em;
  border-radius:0.3em;
}
.key_submit::before{
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color:#fff;
}

.search_box{
    background: #fff;
    width: 1000px;
    padding: 3em;
    border-radius: 0.5em;
    max-width: 94%;
    margin: 0 auto;
}
.search_box .inner{
  width:100%;
  max-height:80vh;
  overflow:auto;
}
.search_box h2{
  font-weight:900;
  padding:0.5em 0 0;
  margin-bottom:1em;
  text-align:center;
  font-size:1.3em;
}
.search_box h2 big{
  font-size:1.4em;
}
.search_box h2 big::before{
  font-family:icomoon;
  font-weight:200;
  color:var(--active);
  display:inline-block;
  margin-right:0.2em;
}
.search_box#condition_search h2 big::before{
  content:"\e91c";
}
.search_box#area_search h2 big::before{
  content:"\e91b";
}
.search_box#salary_search h2 big::before{
  content:"\e91a";
}
.search_box#station_search h2 big::before{
  content:"\e918";
}


.search_result{
  font-weight:900;
  font-size:1.3em;
  margin-bottom:1.5em;
}
.search_result big{
  color: var(--main);
  font-size:1.5em;
  display:inline-block;
  margin:0 0.1em;
}

.sheet_list{
  display:flex;
  justify-content:left;
  gap:1.8em 2%;
  flex-wrap:wrap;
}
.sheet_list li{
  width:23%;
  background:#fff;
  border-radius:0.6em;
  box-shadow:0 0 1em rgba(0,0,0,0.1);
  overflow:hidden;
}
.sheet_list li > a{
  display:block;
  color:inherit;
}
.sheet_list li .title{
  padding:0.8em;
  font-size:0.9em;
  background:#EDF5EB;
}
.sheet_list li .text{
  padding:1.2em 0.8em;
  font-size:0.9em;
}
.sheet_list li .thumb{
  width:100%;
  height:0;
  padding-top:50%;
  position:relative;
}
.sheet_list li .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  object-fit: cover;
}

.sheet_list li .thumb .fav{
  position:absolute;
  right:0.3em;
  bottom:0.3em;
  font-size:2em;
  width:1em;
  height:1em;
}
.sheet_list li .thumb .fav::before{
  content: "";
  background:#fff;
  border-radius:100%;
  position:absolute;
  width:0.9em;
  height:0.9em;
  left:0;
  top:0;
  bottom:0;
  right:0;
  margin:auto;
  z-index:0;
  box-shadow:0 0 0.6em #fff;
}
.sheet_list li .thumb .fav::after{
  content: "\e915";
  font-family: icomoon;
  display: inline-block;
  color: #f08484;
  font-weight: 200;
  width:1em;
  height:1em;
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  right:0;
  margin:auto;
  z-index:1;
}

.sheet_list li .tags{
  display:flex;
  flex-wrap:wrap;
  font-size:0.8em;
  gap:0.5em;
  margin-bottom:1em;
}
.sheet_list li .tags span{
  display:inline-flex;
  padding:0 0.5em;
  height:2em;
  align-items:center;
  background:#ECFEEC;
  border:1px solid #ADCEA7;
  color:#6CAC60;
  border-radius:0.3em;
  letter-spacing:0.05em;
}
.sheet_list li .tags.sp_tags span{
  background:#FFF3E5;
  border:1px solid #DFC5A7;
  color:#9F7341;
}

.sheet_list li .catch{
  font-weight:900;
  color: var(--main);
  font-size:1.2em;
  line-height:1.3em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.sheet_list li .clinic_name{
  font-size:1.25em;
  font-weight:900;
  padding-bottom:0.5em;
  margin-bottom:1em;
  border-bottom:1px solid #ddd;
}
.sheet_list li .info_table{
  table-layout:fixed;
  font-size:0.9em;
  margin-bottom:0.5em;
}
.sheet_list li .info_table th{
  font-weight:900;
}
.sheet_list li .info_table th,
.sheet_list li .info_table td{
  padding-bottom:0.75em;
  line-height:1.3em;
}
.sheet_list li .link{
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:1.2em;
  width:12em;
  max-width:100%;
  border-radius:0.3em;
  color:#fff;
  font-weight:900;
  height:2.4em;
  background: var(--main);
  margin:0.6em auto 0;
}


.search_detail #content section:not(:last-child){
  margin-bottom:3.5em;
}

.search_detail #content section h3{
  background:#eee;
  padding:0.6em 0.6em 0.25em;
  font-size:2.5em;
  font-weight:400;
  margin-bottom:1em;
}
.search_detail #content section h3 span{
  display:block;
  padding-bottom:0.2em;
  border-bottom:2px solid #fff;
}
.search_detail #content #application section h3{
  background:#EDF5EB;
  color: var(--main);
}

.search_detail .main_info{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:2em;
}
.search_detail .main_info .width100{
  width:100%;
  background:#EDF5EB;
  padding:1em;
}
.search_detail .main_info .left{
  width:calc(55% - 1em);
}
.search_detail .main_info .right{
  width:calc(45% - 1em);
}
.search_detail .tab_parent .switcher{
  display:none;
}

.search_detail .video{
  width:100%;
  margin:0 auto;
}
.search_detail .video .inner{
  width:35em;
  position:relative;
  max-width:100%;
}
.search_detail .video .inner::before{
  content:"";
  display:block;
  width:100%;
  height:0;
  padding-top:56.25%;
  position:relative;
  z-index:0;
}
.search_detail .video .inner video{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  z-index:1;
}
.search_detail .video .inner .play{
  font-size:5em;
  width:100%;
  height:100%;
  text-align:center;
  position:absolute;
  left:0;
  top:0;
  z-index:2;
  cursor:pointer;
  opacity:0.9;
}
.search_detail .video .inner .play::before{
  content:"\e91e";
  font-family:icomoon;
  color:#fff;
  text-shadow:0 0 0.5em rgba(0,0,0,0.2);
  font-size:inherit;
  width:1em;
  height:1em;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  line-height:1em;
  font-weight:200;
  -webkit-transition-property:opacity,transform;
  -webkit-transition-duration:0.2s;
  -webkit-transition-timing-function:ease;
  -moz-transition-property:opacity,transform;
  -moz-transition-duration:0.2s;
  -moz-transition-timing-function:ease;
  -o-transition-property:opacity,transform;
  -o-transition-duration:0.2s;
  -o-transition-timing-function:ease;
  transition-property:opacity,transform;
  transition-duration:0.2s;
  transition-timing-function:ease;
}
.search_detail .video .inner .play:hover::before{
  opacity:0.7;
  transform:scale(1.1);
}

.search_detail .tags{
  display:flex;
  flex-wrap:wrap;
  font-size:0.8em;
  gap:0.5em;
  margin-bottom:1em;
}
.search_detail .tags span{
  display:inline-flex;
  padding:0 0.5em;
  height:2em;
  align-items:center;
  background:#ECFEEC;
  border:1px solid #ADCEA7;
  color:#6CAC60;
  border-radius:0.3em;
  letter-spacing:0.05em;
}
.search_detail .tags.sp_tags span{
  background:#FFF3E5;
  border:1px solid #DFC5A7;
  color:#9F7341;
}
.search_detail .catch{
  font-size:1.6em;
  line-height:1.3em;
  color:var(--main);
  margin:0;
}
.search_detail .clinic_name{
  font-size:1.5em;
  line-height:1.3em;
  font-weight:900;
  border-bottom:1px solid #ccc;
  padding-bottom:0.5em;
  margin-bottom:1em;
}
.search_detail .desc{
  font-size:1em;
  line-height:1.6em;
  margin-top:1.2em;
}
.search_detail .thumb{
  width:80%;
  position:relative;
  margin:0 auto;
}
.search_detail .swiper-slide{
  content:"";
  position:relative;
  display:block;
  width: 100%;
  height:0;
  padding-top:75%;
  z-index:0;
}
.search_detail .thumb img{
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  right:0;
  bottom:0;
  margin:auto;
  object-fit: cover;
  z-index:1;
}

.search_detail .thumb .prev,
.search_detail .thumb .next{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.1em;
  width:4em;
  height:4em;
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
  background:#fff;
  z-index:2;
  border-radius:100%;
  cursor:pointer;
}

.search_detail .thumb .prev{
  left:-2.5em;
}
.search_detail .thumb .next{
  right:-2.5em;
}
.search_detail .thumb .prev::before,
.search_detail .thumb .next::before{
  font-family:"Font Awesome 6 Free";
  position:relative;
  font-weight:800;
  color:var(--main);
}
.search_detail .thumb .prev:hover,
.search_detail .thumb .next:hover{
  opacity:0.8;
  transform:scale(1.1);
}

.search_detail .thumb .prev::before{
  content:"\f104";
  left:1em;
}
.search_detail .thumb .next::before{
  content:"\f105";
  right:1em;
}

.search_detail .detail_table{
  table-layout:fixed;
  font-size:0.94em;
  width:100%;
}
.search_detail .detail_table th{
  font-weight:900;
}
.search_detail .detail_table th,
.search_detail .detail_table td{
  padding:1em 1.4em;
  line-height:1.5em;
  border-bottom:1px solid #ccc;
}
.search_detail #application textarea{
  height:10em;
}

/* ↓　求人詳細　下部ホバー -------------------------------------- */
.search_detail #floating{
  display:flex;
  display:none;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  background:rgba(0,0,0,0.3);
  padding:1em;
  border-radius:0.5em;
  position:fixed;
  left:0;
  bottom:1em;
}
.search_detail #floating .flex{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1em;
}
.search_detail #floating > div:not(:last-child){
  margin-bottom:1.2em;
}
.search_detail #floating .flex .favorite,
.search_detail #floating .flex .back{
  display:inline-flex;
  background:#fff;
  color:#333;
  font-size:0.85em;
  height:2.4em;
  padding:0 2em;
  border-radius:2.4em;
  justify-content:center;
  align-items:center;
  color:#333;
  font-weight:900;
}
.search_detail #floating .flex .back::before{
  content:"\f104";
  font-family:"Font Awesome 6 Free";
  font-weight:800;
  display:inline-block;
  margin-right:0.4em;
  position:relative;
  vertical-align:middle;
  transform:scale(0.8);
  top:-0.02em;
}
.search_detail #floating .flex .favorite::before{
  content:"\e915";
  font-family:icomoon;
  display:inline-block;
  color:#f08484;
  font-weight:200;
  margin-right:0.2em;
  position:relative;
  vertical-align:middle;
  top:-0.01em;
}
.search_detail #floating .flex .favorite.active{
  background:#f08484;
  color:#fff;
}
.search_detail #floating .flex .favorite.active::before{
  color:#fff;
}
/* ↑　求人詳細　下部ホバー -------------------------------------- */

/* ↓　求人詳細　下部ホバー ユマニテク */
.search_detail #floating_humanitec{
  display:flex;
  display:none;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  background:rgba(0,0,0,0.3);
  padding:1em;
  border-radius:0.5em;
  position:fixed;
  left:0;
  bottom:1em;
}

.search_detail #floating_humanitec .flex{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1em;
}

.search_detail #floating_humanitec > div:not(:last-child){
  margin-bottom:1.2em;
}

.search_detail #floating_humanitec .flex .back{
  display:inline-flex;
  background:#fff;
  color:#333;
  font-size:0.85em;
  height:2.4em;
  padding:0 2em;
  border-radius:2.4em;
  justify-content:center;
  align-items:center;
  color:#333;
  font-weight:900;
}
.search_detail #floating_humanitec .flex .back::before{
  content:"\f104";
  font-family:"Font Awesome 6 Free";
  font-weight:800;
  display:inline-block;
  margin-right:0.4em;
  position:relative;
  vertical-align:middle;
  transform:scale(0.8);
  top:-0.02em;
}

.search_detail #floating_humanitec .flex .favorite.active{
  background:#f08484;
  color:#fff;
}

.search_detail #floating_humanitec .flex .favorite.active::before{
  color:#fff;
}

/* ↑　求人詳細　下部ホバー ユマニテク */

/* ↓　求人詳細　下部ホバー メール無し */
.search_detail #enable_email_application{
  display:flex;
  display:none;
  flex-direction: column;
  justify-content:center;
  align-items:center;
  background:rgba(0,0,0,0.3);
  padding:1em;
  border-radius:0.5em;
  position:fixed;
  left:0;
  bottom:1em;
}

.search_detail #enable_email_application .flex{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1em;
}

.search_detail #enable_email_application > div:not(:last-child){
  margin-bottom:1.2em;
}

.search_detail #enable_email_application .flex .back{
  display:inline-flex;
  background:#fff;
  color:#333;
  font-size:0.85em;
  height:2.4em;
  padding:0 2em;
  border-radius:2.4em;
  justify-content:center;
  align-items:center;
  color:#333;
  font-weight:900;
}
.search_detail #enable_email_application .flex .back::before{
  content:"\f104";
  font-family:"Font Awesome 6 Free";
  font-weight:800;
  display:inline-block;
  margin-right:0.4em;
  position:relative;
  vertical-align:middle;
  transform:scale(0.8);
  top:-0.02em;
}

.search_detail #enable_email_application .flex .favorite.active{
  background:#f08484;
  color:#fff;
}

.search_detail #enable_email_application .flex .favorite.active::before{
  color:#fff;
}

/* ↑　求人詳細　下部ホバー メール無し */


.diagnosis .eyecatch h2{
  font-weight:900;
  font-size:1.7em;
  padding-top:1em;
  color: var(--main);
}
.diagnosis .eyecatch img{
  width:54em;
  max-width:94%;
  height:auto;
}
.diagnosis .eyecatch fieldset{
  border:2px solid var(--main);
  padding:1.5em;
  border-radius:1em;
}
.diagnosis .eyecatch fieldset legend{
  font-weight:900;
  color: var(--main);
  font-size:1.2em;
  padding:0 0.5em;
}
.diagnosis .eyecatch fieldset ul li{
  text-align:left;
  padding:0.3em 0.3em 0.3em 1.4em;
  line-height:1.3em;
  position:relative;
}
.diagnosis .eyecatch fieldset ul li::before{
  content:"";
  width:0.8em;
  height:0.8em;
  border-radius:0.2em;
  background:var(--main);
  position:absolute;
  left:0;
  top:0.5em;
}
.diagnosis .eyecatch fieldset ul li:not(:last-child){
  margin-bottom:0.5em;
}
.diagnosis .eyecatch fieldset ul li strong{
  color:var(--main);
}

header .inner .manual{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  margin-left:auto;
}
header .inner .manual::before{
  content:"\e91d";
  font-family: "icomoon";
  font-weight:200;
  font-size:2em;
  color: var(--active);
  margin-right:0.2em;
}
menu .logo_wrapper .manual{
    display:none;
}
header .inner .termsofservice{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  margin-left:1em;
}
header .inner .termsofservice::before{
  content:"\e91f";
  font-family: "icomoon";
  font-weight:200;
  font-size:1.5em;
  color: var(--active);
  margin-right:0.2em;
}
menu .logo_wrapper .termsofservice{
    display:none;
}

#userinfo{
    display:flex;
    align-items:center;
}
#userinfo .manual{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  /* margin-right:1.5em; */
}
#userinfo .manual::before{
  content:"\e91d";
  font-family: "icomoon";
  font-weight:200;
  font-size:2em;
  color: var(--active);
  margin-right:0.2em;
}
#userinfo .termsofservice{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  margin-right:1.5em;
}
#userinfo .termsofservice::before{
  content:"\e91f";
  font-family: "icomoon";
  font-weight:200;
  font-size:1.5em;
  color: var(--active);
  margin-right:0.2em;
}


.lity-close,
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
  font-size:1.8em;
  width:1.4em;
  height:1.4em;
  line-height:1.4em;
  position: absolute;
  right: 1.4em;
  top: 0.5em;
  text-shadow:unset;
  color:#fff;
  background: #111;
  border-radius:100%;
}
.lity-close:hover{
  opacity:0.9;
}

/* R/Leadme インタビュー */
#leadme {
  margin-bottom: 1em !important;
}
#leadme > h3 {
  /* display: flex;
  justify-content: space-between; */
}
.leadme_content {
  display: flex;
}
.leadme_mainimage {
  margin-right: 2.5em;
}
.leadme_mainimage img {
  width: 33em;
  height: fit-content;
}
.leadme_logo {
  font-size: 0.6em;
  display: flex;
  justify-content: flex-end;
}
.leadme_logo span {
  font-size: 1.3em;
  align-self: center;
  margin-right: 0.6em;
}
.leadme_logo img {
  width: 13.2em;
}
.leadme_article {
  position: relative;
}
.leadme_article > h4 {
  font-size: 1.8em;
  font-weight: 600;
  margin-bottom: 0.8em;
}
.leadme_article > h4 > span {
  display: block;
  margin-top: 0.5em;
}

.leadme_article > p {
  margin-bottom: 1.8em;
}

.leadme_dhname {
  font-size: 1.3em;
  font-weight: 600;
}
.leadme_school {
  display: block;
}
.leadme_interview {
  font-size: 1.1em;
}
.leadme_button {
  margin-bottom: 1em;
}
.full {
  width: 100%;
}
.tb_12 {
  display: none;
}
.tb_8 {
  display: none;
}


@media screen and (max-height: 800px){
  .center-contents{
    width:unset;
    height:unset;
  }
  body.swal2-height-auto.center-contents{
    height:auto!important;
  }

  .center-contents header{
    position:unset;
  }
  .center-contents main{
    width:unset;
    height:unset;
    padding-top:unset;
    padding-bottom:3em;
  }
  .center-contents main .inner{
    width:unset;
    height:unset;
    display:block;
  }
  .box .document{
    height:35vh;
  }
  .agreement .box .document{
    height:30vh;
  }
  .terms_of_use .box .document{
    height:30em;
  }
  .terms_of_service .box .document{
    height:unset;
  }

  menu .to_faq{
    position:static;
    margin:1em;
  }

}

@media screen and (min-width: 1921px){
  html,body{
    font-size:0.83vw;
  }
  form select,
  form .date_wrapper input[type="date"]{
    font-size:1rem;
  }
  .center-contents .box{
    width:34em;
  }
  .widecolumn .box{
    width:60em;
  }
  .widecolumn .entry_flow{
    width:60em;
  }
  .widecolumn .invisible_box{
    width:60em;
  }

  #advanced_search{
    width:63em;
  }
  .search_box{
    width:63em;
  }
}

@media screen and (max-width: 1700px){
  menu{
    width: 20%;
    font-size:0.8em;
  }
  .usercontent main{
    width: calc(100% - 20%);
  }
  .sheet_list li{
    width:32%;
  }
}
@media screen and (max-width: 1500px){
  header,
  .usercontent header,
  .center-contents header{
    position:fixed;
    display:block;
    right:0;
    width:100%;
    background:var(--main);
    z-index:100;
  }
  #userinfo .manual{
    display:none;
  }
  #userinfo .termsofservice{
    display:none;
  }
  header .inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  .center-contents header .inner,
  .widecolumn header .inner{
      display:flex;
      justify-content:space-between;
      align-items:center;
  }
  header .inner .manual{
    color:#fff;
    font-size:0.75em;
  }
  header .inner .manual::before{
    color:#fff;
  }
  menu .logo_wrapper .manual{
      display:inline-flex;
      width:unset;
      align-items:center;
      justify-content:center;
      font-size:1em;
      height:2.8em;
      line-height:2.8em;
      padding:0 0.7em;
      border-radius:0.3em;
      color:#fff;
      background: var(--active);
      vertical-align:middle;
      margin-top:1em;
  }
  menu .logo_wrapper .manual::before{
      content:"\e91d";
      font-family: "icomoon";
      font-weight:200;
      font-size:2em;
      color:#fff;
      margin-right:0.2em;
  }
  header .inner .termsofservice{
    color:#fff;
    font-size:0.75em;
  }
  header .inner .termsofservice::before{
    color:#fff;
  }
  menu .logo_wrapper .termsofservice{
      display:inline-flex;
      width:unset;
      align-items:center;
      justify-content:center;
      font-size:1em;
      height:2.8em;
      line-height:2.8em;
      padding:0 0.7em;
      border-radius:0.3em;
      color:#fff;
      background: var(--active);
      vertical-align:middle;
      margin-top:1em;
  }
  menu .logo_wrapper .termsofservice::before{
      content:"\e91f";
      font-family: "icomoon";
      font-weight:200;
      font-size:1.5em;
      color:#fff;
      margin-right:0.2em;
  }
  .usercontent header #user_toggle{
    font-size:1em;
  }
  .usercontent header #user_toggle strong,
  .usercontent header #user_toggle span,
  .usercontent header #user_toggle::after{
    display:none;
  }
  .usercontent header .logo_wrapper,
  .usercontent header #menu_toggle{
    display:block;
  }
  .usercontent header #menu_toggle{
    font-size:2em;
    width:1em;
    height:1em;
    line-height:1em;
  }
  .usercontent header #menu_toggle::before{
    content:"\f0c9";
    font-family:"Font Awesome 6 Free";
    font-weight:800;
    color:#fff;
  }

  menu{
    font-size:1.5vw;
    position:fixed;
    width:50%;
    height:100%;
    z-index:102;
    transform:translateX(-100%);
    -webkit-transition-property:opacity,color,left,right,transform;
    -webkit-transition-duration:0.2s;
    -webkit-transition-timing-function:ease;
    -moz-transition-property:opacity,color,left,right,transform;
    -moz-transition-duration:0.2s;
    -moz-transition-timing-function:ease;
    -o-transition-property:opacity,color,left,right,transform;
    -o-transition-duration:0.2s;
    -o-transition-timing-function:ease;
    transition-property:opacity,color,left,right,transform;
    transition-duration:0.2s;
    transition-timing-function:ease;
  }
  menu .logo_wrapper a{
    width:50%;
  }
  main,
  .center-contents main{
    width:96%;
    padding-top:8em;
    margin:0 auto;
  }
  .usercontent main{
    width:96%;
    padding:7em 0 3em;
    margin:0 auto;
  }
  .usercontent main #content{
    padding-top:2.5em;
  }
  .center-contents{
    height:unset;
  }
  body.swal2-height-auto.center-contents{
    height:unset!important;
  }
  .center-contents main{
    height:unset;
  }
  .center-contents main .inner{
    width:unset;
    height:unset;
    display:block;
  }

  .menu-open menu{
    display:block;
    left:0;
    top:0;
    transform:translateX(0);
    overflow:auto;
  }
  .menu-open menu i.close{
    position:absolute;
    right:0.5em;
    top:0.5em;
    line-height:1em;
    height:1em;
    font-size:2.5em;
    cursor:pointer;
    display:block;
  }
  .menu-open menu i.close::after{
    content:"\f057";
    font-family: "Font Awesome 6 Free";
    font-weight:800;
    color:#fff;
  }
  .menu-open menu i.close:hover{
    opacity:0.9;
  }

  .menu-open body{
    height:100vh;
    position:fixed;
  }
  .menu-open .overlay{
    display:block;
    width:100vw;
    height:100vh;
    position:fixed;
    left:0;
    top:0;
    z-index:101;
    background:rgba(0,0,0,0.5);
  }

  .h_table th, .h_table td{
    font-size:0.8em;
  }
  .h_table td {
    padding: 0.6em;
  }
  .minibutton{
    padding: 0 0.5em;
  }
  .box{
    padding:2em 1.5em 1.5em;
  }
  .box .box_heading{
    width: calc(100% + 3em);
    left: -1.5em;
  }
  .usercontent .box .box_heading{
    margin-bottom:-1em;
  }
  .search_detail .thumb{
    width:100%;
  }

}

@media screen and (max-width: 1200px){
  .leadme_mainimage {
    width: 50%;
  }
  .leadme_mainimage img {
    width: 24em;
  }
  .leadme_article {

  }
  .leadme_button {

  }
  .button_tb {

  }
  .pc {
    display: none;
  }
  .tb_12 {
    display: block;
  }
}

@media screen and (max-width: 1000px){
  menu{
    font-size:2vw;
  }
  main, .center-contents main{
    padding-top:6em;
  }
  .v_table,
  .v_table > tbody,
  .v_table > tbody > tr,
  .v_table > tbody > tr > th,
  .v_table > tbody > tr > td{
    display:block;
    width:100%!important;
  }
  .v_table{
    border:none!important;
  }
  .v_table > tbody > tr > th{
    border-bottom:0!important;
  }
  .v_table > tbody > tr:not(:last-child) > td{
    margin-bottom:1.5em;
  }
  .usercontent.home main #breadcrumb{
    display:none;
  }
  .box{
    padding: 2em 1em 1.5em;
  }
  .box .box_heading{
    width: calc(100% + 2em);
    left: -1em;
  }
  .usercontent .box .box_heading{
    margin-bottom:-1em;
  }

  .home main .news_list li a{
    display:block;
    padding:0.8em 2.6em 0.8em 0.8em;
  }
  .home main .news_list li a time{
    width:100%;
    color:#999;
    font-size:0.8em;
    margin-bottom:0.5em;
  }
  .home main .news_list li a span{
    display:none;
  }

  .info .info_detail time{
    font-size:0.8em;
    margin-bottom:0.7em;
    color:#999;
  }
  .info .info_detail h2{
    font-size:1.2em;
  }

  table.trans_table,
  table.trans_table > thead,
  table.trans_table > tbody,
  table.trans_table > tbody > tr{
    display:block;
    width:100%!important;
    text-align:center;
  }
  table.trans_table{
    border:none;
    min-width:unset!important;
  }
  table.trans_table > * > tr{
    border-top:1px solid var(--box-border);
  }
  table.trans_table > thead{
    display:none;
  }
  table.trans_table > tbody > tr{
    border-bottom:1px dashed #ddd;
    padding-bottom:1.5em;
  }
  table.trans_table > tbody > tr:not(:last-child){
    margin-bottom:1.5em;
  }
  table.trans_table > tbody > tr > td.tran_td{
    display:flex;
    position:relative;
    padding:0.8em;
    padding-left:35%;
    text-align:left;
    border-top:0;
    flex-wrap:wrap;
  }
  table.trans_table > tbody > tr > td.tran_td::before{
    content:attr(data-th)"";
    display:block;
    background:var(--th-background);
    font-weight:900;
    width:33%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
    box-sizing:border-box;
    padding:0.8em;
    text-align:left;
  }
  table.trans_table > tbody > tr > th.tran_td{
    display:flex;
    position:relative;
    padding:0.8em 0.2em;
    text-align:left;
    border-top:0;
    flex-wrap:wrap;
    font-size:1.2em;
    border:0;
    border-bottom:1px solid var(--box-border);
  }
  table.trans_table > tbody > tr > td:not(.tran_td){
    padding:0.8em 0.2em;
    font-size:0.9em;
    display:inline-block;
    border:none!important;
    background:transparent!important;
  }

  .sheet_list li{
    width:48%;
  }
  .usercontent main #breadcrumb{
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    overflow: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .usercontent main #breadcrumb::-webkit-scrollbar{
    display:none;
  }
  .usercontent main #breadcrumb li{
    line-height:1.2em;
  }
}

@media screen and (max-width: 768px){
  html,body{
    font-size:3.5vw;
  }
  a:hover{
    opacity:1;
  }
  button:hover{
    opacity:1;
  }
  .home main .news_list{
    font-size:1em;
  }
  menu{
    font-size:3vw;
    width:80%;
  }
  menu .menu_list > li.parent ul.child > li > a{
    font-size:1.1em;
  }
  header, .usercontent header, .center-contents header{
    padding:0.6em 1em;
  }
  body > header .logo{
    width:9em;
  }
  .pageinfo h1{
    font-size:1.5em;
  }
  .usercontent header #user_menu{
    right:0;
    top:3.7em;
  }

  .usercontent main{
    padding-top:4.5em;
  }

  .usercontent main h1 {
    font-size:1.5em;
    margin-bottom: 1.5em;
    line-height:1.3em;
  }
  main p {
    line-height: 1.4em;
  }


  .entry_flow{
    display:block;
    border:1px solid var(--main);
    background:#fff;
    font-size:0.9em;
    margin-bottom:2em;
  }
  .entry_flow li{
    width:100%;
    opacity:0.7;
    color: var(--main);
    height:2.6em;
    line-height:2.6em;
  }
  .entry_flow li:not(:last-child){
    border-right:unset;
  }

  .entry_flow li:not(:last-child)::before,
  .entry_flow li:not(:last-child)::after,
  .entry_flow li.active:not(:last-child)::before{
    display:none;
  }
  .entry_flow li.active{
    opacity:1;
  }
  .entry_flow li.active::after{
    display:none;
  }

  .v_table{
    border:none;
  }
  .v_table > tbody > tr >th{
    padding:0.5em;
    border:none;
    margin-bottom:1.4em;
  }
  .v_table > tbody > tr > td{
    padding:0;
    border:none;
    margin-bottom:2.5em!important;
  }
  .row {
    margin: 0 0 1.5em;
  }
  form .row.flex {
    gap: 1em;
  }
  .h_table.staff_num{
    width:100%;
  }
  .upload_images{
    flex-wrap: wrap;
    gap:1em;
  }
  .upload_images > div{
    width:calc(50% - 0.5em);
  }

  form.flow_parent .confirm_box .inner .save{
    right:0.5em;
    top:0.5em;
    font-size:0.7em;
    border:1px solid var(--main);
    padding:0 1em;
    height:2.2em;
    line-height:2.2em;
    border-radius:2.2em;
  }
  form.flow_parent .confirm_box .inner .cancel{
    left:0.5em;
    top:0.5em;
    font-size:0.7em;
    border:1px solid #fff;
    padding:0 1em;
    height:2.2em;
    line-height:2.2em;
    border-radius:2.2em;
  }
  form.flow_parent .confirm_box .inner{
    padding:2.8em 0 1.2em;
  }
  form.flow_parent .confirm_box .mainbutton{
    font-size:1.2em;
  }
  form.flow_parent .confirm_box .linkbutton.pattern2{
    font-size: 0.85em;
    padding: 0 1.5em;
    height:2.6em;
    line-height:2.6em;
    border-radius:2.6em;
  }
  form.flow_parent .confirm_box .inner .flex{
    gap:0.8em;
  }

  .s_table{
    margin-bottom:1em;
  }
  .s_table,
  .s_table > tbody,
  .s_table > tbody > tr,
  .s_table > tbody > tr > th,
  .s_table > tbody > tr > td{
    display:block;
    width:100%;
  }
  .s_table > tbody > tr > th{
    margin-bottom:0.8em;
  }
  .gmap{
    padding-top:60%;
  }
  .v_table > tbody > tr > th,
  .v_table > tbody > tr > td{
    font-size:1em;
  }
  input[type="text"],
  input[type="search"],
  input[type="tel"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="date"],
  textarea,
  select{
      font-size:16px;
  }
  .microbutton{
    height:2.4em;
    line-height:2.4em;
    font-size:0.94em;
  }
  .trans_table2 {
    -ms-writing-mode : tb-lr;
    writing-mode : vertical-lr;
    font-size:0.8em;
  }
  .trans_table2 th,
  .trans_table2 td{
    text-align:center;
    vertical-align: middle;
  }
  .trans_table2 th > span,
  .trans_table2 td > span{
      -ms-writing-mode : lr-tb;
      writing-mode : horizontal-tb;
      white-space : nowrap;
  }
  .trans_table2 th > span small{
    display:block;
    font-size:0.9em;
    margin-top:0.3em;
  }
  #advanced_search{
    padding:1.5em;
  }
  .search_box{
    padding:1.5em;
  }
  form .date_wrapper{
    width:10em;
  }
  form .date_wrapper input[type="date"]{
    font-size:1em;
  }

  .usercontent main #school_name{
    font-size:0.9em;
  }

  .sheet_list{
    width:96%;
    margin:0 auto;
    gap:2.5em;
  }
  .sheet_list li{
    width:100%;
  }

  .search_menu{
    width:98%;
    margin:0 auto;
    margin-top:-1em;
  }
  .search_menu .menu_buttons{
    display:block;
    border:3px solid var(--main);
    border-radius:1em;
  }
  .search_menu .menu_buttons button{
    width:100%;
    border-radius:unset;
    border:none;
    padding: 1em 4em 1em;
  }
  .search_menu .menu_buttons button.disabled{
    border:none;
    border-radius:unset;
  }
  .search_menu .menu_buttons button::before {
    left: 0.6em;
  }
  .search_menu .menu_buttons button:first-child{
    border-radius:1em 1em 0 0;
  }
  .search_menu .menu_buttons button:last-child{
    border-radius:0 0 1em 1em;
  }
  .search_menu .menu_buttons button:not(last-child){
    border-bottom:2px solid #eee;
  }
  .search_menu .freeword{
    width:98%;
    margin:0 auto;
  }
  .search_box h2 {
    font-size: 1.1em;
  }

  .invisible_box{
    margin-bottom:2em;
  }

  .lity-close,
  .lity-close:hover,
  .lity-close:focus,
  .lity-close:active,
  .lity-close:visited {
    font-size:1.4em;
  }

  .search_detail.usercontent main #content{
    padding-top:1em;
  }

  .search_detail .box:not(#application){
    width:100vw;
    position:relative;
    left:-2%;
    padding:0;
    border-radius:0;
    border:none;
  }

  .search_detail .main_info{
    gap:0;
  }
  .search_detail .main_info .right{
    order:1;
    width:100%;
  }
  .search_detail .main_info .width100{
    order:2;
    padding:0.8em;
    margin-bottom:0.2em;
  }
  .search_detail .main_info .left{
    order:3;
    width:100%;
    padding:0.8em;
  }
  .search_detail .thumb {
    width: 100%;
  }
  .search_detail .catch{
    font-size:1.3em;
  }
  .search_detail .clinic_name {
    font-size: 1.3em;
  }

  .search_detail .tab_parent{
    margin-top:-2.5em;
  }
  .search_detail .tab_parent .switcher{
    display:flex;
    margin-bottom:2em;
  }
  .search_detail .tab_parent .switcher button{
    width:50%;
    font-size:1.2em;
    height:3em;
    line-height:3em;
    background:#F8F8F8;
    color:var(--main);
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
  }
  .search_detail .tab_parent .switcher button::before{
    content:"\e903";
    font-family:icomoon;
    display:inline-block;
    vertical-align: middle;
    margin-right:0.4em;
    font-weight:200;
    transform:rotate(90deg);
    position:relative;
    top:-0.02em;
  }
  .search_detail .tab_parent .switcher button.active{
    background:var(--main);
    color:#fff;
  }
  .search_detail .tab_parent .switcher button.active::after{
    content: "";
    width: 0;
    height: 0;
    font-size: 0.6em;
    border-top: 1em solid var(--main);
    border-right: 1.25em solid transparent;
    border-left: 1.25em solid transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.9em;
    margin: auto;
  }
  .search_detail .tab_parent .switcher button:hover{
    opacity:1;
  }

  .search_detail .tab_parent .company_info{
    display:none;
  }
  .search_detail .tab_parent .sub_info h3{
    display:none;
  }

  .search_detail .detail_table,
  .search_detail .detail_table tbody,
  .search_detail .detail_table tbody tr,
  .search_detail .detail_table tbody tr th,
  .search_detail .detail_table tbody tr td{
    display:block;
    padding:0;
    border:0;
  }
  .search_detail .detail_table{
    width:96%;
    margin:0 auto;
  }
  .search_detail .detail_table tbody tr th{
    padding:0 0.8em;
  }
  .search_detail .detail_table tbody tr td{
    padding:0.4em 0.8em 0.8em;
    margin-bottom:1em;
    border-bottom:1px solid #ccc;
  }
  .search_detail #application textarea{
    height:13em;
  }

  .search_detail #content #application section h3{
    font-size:1.5em;
    text-align:center;
    font-weight:900;
    margin-bottom:1.5em;
    background:transparent;
    border-bottom:2px solid var(--main);
  }

  .search_detail #floating{
    font-size:0.9em;
  }

  .search_detail #floating .flex{
    display:flex;

  }

  .search_detail #floating > div:not(:last-child) {
    margin-bottom: 0.8em;
  }

  .search_detail #floating_humanitec{
    font-size:0.9em;
  }
  .search_detail #floating_humanitec > div:not(:last-child) {
    margin-bottom: 0.8em;
  }

  .search_detail #enable_email_application{
    font-size:0.9em;
  }
  .search_detail #enable_email_application > div:not(:last-child) {
    margin-bottom: 0.8em;
  }

  .home_menu a .inner .text{
    font-size:1.2em;
  }
  .sheet_list li{
    font-size:1.1em;
  }

  .search_detail .video{
    width:94%;
    margin:-1em auto 0;
    padding-bottom:3em;
  }
  .search_detail #content section.video h3{
    font-size:1.2em;
    font-weight:700;
    margin-bottom:1.5em;
  }
  .search_detail .video .inner .play{
    display:none;
  }
  .pagenation{
    font-size:0.85em;
  }
  .pagenation > * {
    padding:0 0.4em
  }
  .box .document section.terms_renew,
  .box .document section.terms_old{
    padding:1em;
  }

  .leadme {
    width: 94%;
    margin: -1em auto 0;
    padding-bottom: 4em;
  }
  .search_detail #content section h3 {
    font-size: 1.2em;
    font-weight: 700;
    margin-bottom: 1.5em;
  }
  .leadme_content {
    display: block;
  }
  .leadme_mainimage {
    width: 100%;
    margin: auto;
    margin-bottom: 1.6em;
  }
  .leadme_mainimage img {
    margin: auto;
    width: 100%;
  }
  .leadme_article > h4 {
    font-size: 1.3em;
  }
  .leadme_dhname {
    font-size: 1em;
  }
  .leadme_school {
    font-size: 1em;
  }
  .button_tb {
    padding: 0 0.4em;
  }
  .leadme_button {
    margin-bottom: 2em;
  }
}
