@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;
}

.attention-text-red {
    font-weight: 700;
    color: #ff1919;
}



.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;
}
.yellow_bk{
  background:linear-gradient(transparent 50%, #fffcbb 50%);
}

.keikou{
  background: linear-gradient(transparent 60%, rgba(0, 141, 223, 0.2) 0%);
}

.flexs {
  display: flex;
  gap: 1.2em 1.5em;
}



.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;
}

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;
}

.mb-1 {
  margin: 0 0 1em 0;
}

.ali-c {
  align-self: center;
}

/*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;
    }
    .pagenation{
      font-size:0.85em;
    }
    .pagenation > * {
      padding:0 0.4em
    }
}

/*カスタマイズスタート*/

:root {
  --main:#435187;
  --dark1:#374270;
  --dark2:#2F3964;
  --active:#7489CB;
  --link:#688DCC;
  --main-background:#F9F7F6;
  --accent:#DE4362;
  --form:#CDD6DD;
  --box-border:#CFD9DC;
  --box-heading:#F2F1ED;
  --info-box-border: #fff;
  --info-flame-border: #D6E2F6;
  --info-flame-bgcolor: #F6FAFB;
  --info-header: #435187;
  --info-1: #435187;
  --info-2: #7489CB;
  --info-3: #4C8CC4;
  --th-background-dentistry:#EDF0F6;
  --delete: #FFD700;
  --delete2:#fcc800;
}

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{
  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:var(--main-background);
}

body > header{
    padding:1em;
}
body > header .logo{
    width:12em;
    height:auto;
    vertical-align:middle;
}
.center-contents header .inner,
.widecolumn header .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
header .inner .manual{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  margin-left:auto;
}
header .inner .manual::before{
  content:"\e915";
  font-family: "icomoon";
  font-weight:200;
  font-size:2em;
  color: var(--active);
  margin-right:0.2em;
}
header .inner .termsofservice{
  display:inline-flex;
  align-items:center;
  font-size:0.9em;
  margin-left:1em;
}
header .inner .termsofservice::before{
  content:"\e918";
  font-family: "icomoon";
  font-weight:200;
  font-size:1.5em;
  color: var(--active);
  margin-right:0.2em;
}


:where(.swal2-styled) {
  margin: 0.3125em;
  padding: 0.625em 1.1em;
  transition: box-shadow .1s;
  box-shadow: 0 0 0 3px rgba(0,0,0,0);
  font-weight: 500;
}

.overlay{
  display:none;
}

.center-contents{
  width:100%;
  height:100%;
}
body.swal2-height-auto.center-contents{
  height:100%!important;
}

.center-contents header{
  width:100%;
  position:absolute;
  left:0;
  top:0;
}
.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;
}
#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:"\e915";
  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:"\e918";
  font-family: "icomoon";
  font-weight:200;
  font-size:1.5em;
  color: var(--active);
  margin-right:0.2em;
}

.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;
}

.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;
}
.agree_box label{
  display:block;
  cursor:pointer;
  background:var(--th-background-dentistry);
}
.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;
}

.center-contents .box{
  width:540px;
  max-width:100%;
}

.widecolumn{
  padding-bottom:3em;
}
.widecolumn .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: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:1.5em;
  align-items:flex-end;
}
.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;
}

.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;
}
/* info ページ用 */
.linkbutton.patterninfo {
  background-color: var(--info-1);
  padding: 0.2em 3.3em;
  font-size: 1.4em;
  font-weight:900;
  color: #fff;
}

.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;
  font-weight:900;
  border-radius:0.3em;
  font-size:0.9em;
  white-space:nowrap;
}
.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.edit.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.copy::before{
  font-family:"Font Awesome 6 Free";
  content: "\f0ea";
  font-weight:800;
}
.minibutton.copy.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.stop::before{
  font-family:"Font Awesome 6 Free";
  content: "\f05e";
  font-weight:800;
}
.minibutton.stop.disabled{
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.dt_stop::before{
  font-family:"Font Awesome 6 Free";
  content: "\f05e";
  font-weight:800;
}

.minibutton.delete{
  color:#000;
  background: var(--delete2);
}
.minibutton.delete::before{
  content: "\e916";
  font-family: "icomoon";
  font-weight:200;
}

.minibutton.recovery {
  background-color: #6AB898;
  color:#fff;
}
.minibutton.recovery::before {
  content: "\e917";
  font-family: "icomoon";
  font-weight:200;
}


.minibutton.extend::before{
  content:"\f1b8";
  font-weight:800;
  font-family:"Font Awesome 6 Free";
}
.minibutton.extend.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.dt_extend::before{
  content:"\f1b8";
  font-weight:800;
  font-family:"Font Awesome 6 Free";
}
.minibutton.dt_extend.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.dhp_extend::before{
  content:"\f1b8";
  font-weight:800;
  font-family:"Font Awesome 6 Free";
}
.minibutton.dhp_extend.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}

.minibutton.dt_stop.disabled{
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}
.minibutton.edit{
  color:#fff;
  background: var(--link);
}
.minibutton.copy{
  color: var(--main);
}
.minibutton.stop{
  color: var(--accent);
}
.minibutton.dt_stop{
  color: var(--accent);
}


.minibutton.extend{
  background:var(--accent);
  color:#fff;
}
.minibutton.dt_extend{
  background:var(--accent);
  color:#fff;
}
.minibutton.dhp_extend{
  background:var(--accent);
  color:#fff;
}

.minibutton.selectdelete {
  color:#000;
  background: var(--delete2);
  cursor:pointer;
}
.minibutton.selectdelete::before {
  content: "\e916";
  font-family: "icomoon";
  font-weight:200;
}
.minibutton.selectdelete.disabled {
  pointer-events:none;
  background:#B4B4B4;
  color:#8B8B8B;
}
.minibutton.selectdelete:hover {
  opacity: .7;
}

.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: var(--main);
  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 .logo_wrapper .manual{
  display:none;
}
menu .logo_wrapper .termsofservice{
  display:none;
}

menu .close{
  display:none;
}
menu .menu_list > li > a{
  display:block;
  font-size:1.2em;
  padding:1.4em 2em 1.4em 4em;
  color:white;
  font-weight:900;
  position:relative;
}
menu .menu_list > li > a::before{
  color:var(--link);
  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.offer > a::before{
  content:"\e90c";
  font-family:icomoon;
}
menu .menu_list > li.offer_parttime > a::before{
  content:"\e90c";
  font-family:icomoon;
}
menu .menu_list > li.users > a::before{
  content:"\f4fe";
  font-family:"Font Awesome 6 Free";
  font-size:1.3em;
  font-weight:800;
}
menu .menu_list > li.profile > a::before{
  content:"\e90f";
  font-family:icomoon;
}
menu .menu_list > li > a:hover,
menu .menu_list > li > a.active{
  background:var(--dark1);
  opacity:1;
}
menu .menu_list > li > a:hover::before,
menu .menu_list > li > a.active::before{
  color:#fff;
}
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;
}
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:var(--box-border);
  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:#fff;
  font-weight:900;
  opacity:1;
}

/*あとで実装のため一旦消す*/
menu .menu_list > li.offer_parttime{
  display:none;
}


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;
  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);
}

.vertical_middle {
  margin: auto 0;
}

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;
}


.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(47, 57, 100, 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 #breadcrumb{
  font-size:0.75em;
}
.usercontent main #breadcrumb li{
  display:inline-block;
}
.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-dentistry);
  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";
}
.offer main h1::before{
  content: "\e90c";
  font-family: icomoon;
  font-weight:200;
}
.offer_entry main h1::before{
  content: "\e901";
  font-family: icomoon;
  font-weight:200;
}
.offer_edit main h1::before{
  content: "\e902";
  font-family: icomoon;
  font-weight:200;
}
.offer_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;
}
.profile h1::before{
  content: "\e90f";
  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-dentistry);
  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;
}

/* 一覧 */
.check_th {
  width: 1rem;
}

.end_th {
  width: 6rem;
}

.check_padding {
  margin: .3rem .6rem;
}

.h_table{
  table-layout:fixed;
  border:1px solid var(--box-border);
  width:100%;
}
.h_table th{
  background: var(--th-background-dentistry);
  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;
}
.h_table .attention td{
  background:#FEFBEE;
}
.h_table .disabled td{
  background:#efefef;
}
.h_table .disabled.delete_record td {
  background-color: #ccc;
}


/* ホームの一覧のカラム幅 -----------------------------------------------------------------*/
.h_table.sheet_list.home_list colgroup col:nth-child(1){
  width: 4.5em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(2){
  width: 8em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(3){
  width: 15em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(4){
  width: 6em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(5){
  width: 6em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(6){
  width: 4.5em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(7){
  width: 6em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(8){
  width: 6em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(9){
  width: 5.6em;
}
.h_table.sheet_list.home_list colgroup col:nth-child(10){
  width: 5.2em;
}
/* .h_table.sheet_list.home_list colgroup col:nth-child(11){

} */

/* ホームを除く一覧のカラム幅 -------------------------------------------------------------*/
.h_table.sheet_list colgroup col:nth-child(1){
  width: 2.8em;
}
.h_table.sheet_list colgroup col:nth-child(2){
  width: 5em;
}
.h_table.sheet_list colgroup col:nth-child(3){
  width: 8em;
}
.h_table.sheet_list colgroup col:nth-child(4){
  width: 7em;
}
.h_table.sheet_list colgroup col:nth-child(5){
  width: 6em;
}
.h_table.sheet_list colgroup col:nth-child(6){
  width: 6em;
}
.h_table.sheet_list colgroup col:nth-child(7){
  width: 5.4em;
}
.h_table.sheet_list colgroup col:nth-child(8){
  width: 6.2em;
}
.h_table.sheet_list colgroup col:nth-child(9){
  width: 6.2em;
}
.h_table.sheet_list colgroup col:nth-child(10){
  width: 5.8em;
}
.h_table.sheet_list colgroup col:nth-child(11){
  width: 5.4em;
}

.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;
}

.h_table td .check {
  font-size: 1.5em;
  text-align: center;
}


.prefecture_label{
  display:inline-block;
  background:var(--th-background-dentistry);
  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 th{
  font-weight:900;
  font-size:0.9em;
}
.s_table th,
.s_table td{
  vertical-align:middle;
}

.s_table tr:not(:last-child) th,
.s_table tr:not(:last-child) td{
  padding-bottom:1.5em;
}

form .s_table td .row label {
  font-weight: 400;
  margin-bottom: 0;
  font-size:0.9em;
}
.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;
}

.offer_flow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  overflow:hidden;
  margin-bottom:3em;
  border:2px solid var(--main);
}
.offer_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;
}
.offer_flow li:not(:last-child)::before{
  content:"";
  width:0;
  height:0;
  border-left:1em solid #fff;
  border-top:2em solid transparent;
  border-bottom:2em solid transparent;
  position:absolute;
  transform:scale(1.1);
  right:-1em;
  top:0;
  bottom:0;
  margin:auto;
  z-index:2;
}
.offer_flow li:not(:last-child)::after{
  content:"";
  width:0;
  height:0;
  border-left:1em solid var(--main);
  border-top:2em solid transparent;
  border-bottom:2em solid transparent;
  position:absolute;
  right:-1.1em;
  transform:scale(1.15);
  top:0;
  bottom:0;
  margin:auto;
  z-index:1;
}
.offer_flow li.active:not(:last-child)::before{
  border-left:1em solid var(--main);
}

.offer_flow li.active{
  color:#fff;
  background: var(--main);
}

.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;
}

.insurance_caution{
  color: #dd4814;
}

.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;
}
.offer_edit .delete_section{
  text-align:right;
  margin-top:-0.6em;
  padding-bottom: 2em;
}
.offer_edit .delete_section .delete{
  color:var(--accent);
  display:inline-flex;
  font-size:0.75em;
  background:rgba(0,0,0,0.03);
  padding:0 1em;
  line-height:2.5em;
  border-radius:0.3em;
}
.offer_edit .delete_section .delete::before{
  content: "\f2ed";
  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;
}

.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-dentistry);
}
.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);
}

/* ------ TODO: info ページ ----------*/
.sp {
  display: none;
}

.info-contents {
  width:100%;
  height:100%;
}

/* .info-contents header {
  width:100%;
  height: 80px;
  background-color: #435187;
} */

.info-contents .info-header {
  width:100%;
  height: 80px;
  background-color: #435187;
  /* padding: 1em; */
}

.info-header {
  padding-top: 1.7em;
  padding-left: 1.5em;
}

.info-header h1 {
  font-size: 1.8em;
  font-weight: 900;
  color: #fff;
}

.info-contents main {
  width:100%;
  height:100%;
  text-align:center;
  padding-top:3em;
}

.info-contents main .info-container {
  width: 1084px;
  max-width: 100%;
  margin: auto;
}

.info-contents main .info-container .box {
  position: relative;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--info-box-border);
  border-radius: 2.1em;
  padding: 4em 6em 4em 6em;
  margin-bottom: 1.6em;
  overflow: hidden;
}

.info-container .box h2 {
  font-size: 2em;
  font-weight: 900;
  color: var(--info-header);
  margin-bottom: 1.2em;
}

.info-container .box .section-sentence {
  text-align: justify;

}

.info-container .box .flame-border {
  text-align: justify;
  border: 1px solid var(--info-flame-border);
  background-color: var(--info-flame-bgcolor);
  margin-bottom: 2.2em;
  padding: 1.1em;
}

.info-container .box .img-outer {
  margin-top: 1em;
  margin-bottom: 1.5em;
}

.info-container .box .img-inner {
  width: fit-content;
  margin: auto;
}

.flame-border .text-margin1 {
  margin-bottom: 0.4em;
}

.info-container .box .flame-border.infomation {
  margin-bottom: 0em;
  padding: 2.3em 2.5em;
  text-align: center;
}

.flame-border > h3 {
  font-weight: 900;
  font-size: 1.3em;
  margin-bottom: 0.7em;
}

.flame-border > p {
  font-size: 1em;
}

.info-container .box .sentence-color {
  color: var(--info-2);
}

.step-section-outer {
  display: flex;
  position: relative;
  height: 100%;
}

.vertical-line-wrapper {
  width: 8em;
  position: absolute;
  height: calc(100% - 4.4em);
}

.vertical-line-wrapper > .vertical-dotted-line {
  width: 1px;
  border-left: 1px dotted #000;
  position: relative;
  height: 100%;
  right: 0%;
  left: 42%;
}

.step-section-wrapper {
  width: calc(100% - 1px);
  flex-grow: 1;
}

.step-section {
  display: flex;
  margin-bottom:2.2em;
}

.step-section > .step-img {
  position: relative;
  background-color: #ffffff;
  margin-right: 1em;
  padding-bottom: 0.5em;
  padding-top: 0.2em;
  height: fit-content;
}

.step-section > .step-ex-border {
  background-color: var(--main-background);
  flex-grow: 1;
  padding: 1.8em 2em;
  border-radius: 1.2em;
  text-align: justify;
}

.step-ex-border > h3 {
  font-weight: 900;
  font-size: 1.3em;
  margin-bottom: 0.5em;
}

.step-ex-border > p {
  line-height: 2em;
}

.flame-border.infomation > h3 {
  color: var(--info-header);
}

.flame-border .jimukyoku {
  font-size: 1.2em;
  margin-bottom: 0.2em;
}

.mb18 {
  margin-bottom: 1.8em;
}

.mr20 {
  margin-right: 2em;
}

.mlr10 {
  margin-left: 1em;
  margin-right: 1em;
}

/* 求人詳細 */
.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;
}



@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:30vh;
  }
  .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;
  }

  .info-contents {
    font-size: 0.84vw;
  }
  .info-contents header {
    height: 5.03em;
  }
  .info-contents .info-header {
    height: 5.03em;
  }

  .info-contents main .info-container {
    width: 68em;
    margin: auto;
  }
  .info-container .box .section-sentence {
    font-size: 0.85vw;
  }
  .img-inner img {
    width: 11.3em;
  }
  .step-section img {
    width: 6.9em;
  }

}

@media screen and (max-width: 1700px){
  menu{
    width: 20%;
    font-size:0.8em;
  }
  .usercontent main{
    width: calc(100% - 20%);
  }
}

@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;
  }
  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;
  }
  #userinfo .manual{
    display:none;
  }
  #userinfo .termsofservice{
    display:none;
  }
  .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%;
  }

  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:"\e915";
    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:"\e916";
      font-family: "icomoon";
      font-weight:200;
      font-size:1.5em;
      color:#fff;
      margin-right:0.2em;
  }

  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.sheet_list colgroup col:nth-child(5){
    width:7em;
  }
  .h_table.sheet_list colgroup col:nth-child(6){
    width:5.5em;
  }
  .h_table.sheet_list colgroup col:nth-child(7){
    width:6.5em;
  }
  .h_table.sheet_list colgroup col:nth-child(9){
    width:6.5em;
  }

  .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;
  }
}

@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;
  }

  .h_table.trans_table,
  .h_table.trans_table > thead,
  .h_table.trans_table > tbody,
  .h_table.trans_table > tbody > tr{
    display:block;
    width:100%!important;
    text-align:center;
  }
  .h_table.trans_table{
    border:none;
  }
  .h_table.trans_table > * > tr{
    border-top:1px solid var(--box-border);
  }
  .h_table.trans_table > thead{
    display:none;
  }
  .h_table.trans_table > tbody > tr:not(:last-child){
    border-bottom:1px dashed #ddd;
    padding-bottom:0.5em;
    margin-bottom:1.5em;
  }
  .h_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;
    min-height:2.8em;
  }
  .h_table.trans_table > tbody > tr > td.tran_td div{
    width:100%;
  }
  .h_table.trans_table > tbody > tr > td.tran_td::before{
    content:attr(data-th)"";
    display:block;
    background:var(--th-background-dentistry);
    font-weight:900;
    width:33%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
    box-sizing:border-box;
    padding:0.8em;
    text-align:left;
  }
  .h_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;
  }
  .h_table td .check{
    text-align:left;
  }
  .h_table.trans_table > tbody > tr > td.tran_td.spbtn::before {
    padding:1.8em 0.8em;
  }


  .minibutton{
    font-size:1.1em;
    width: 60%;
    margin: auto;
  }

  .img-inner img {
    width: 9.1em;
  }
  .vertical-line-wrapper {
    height: calc(100% - 7.5em);
  }
  .info-contents main .info-container .box {
    margin: 0 1.3em;
  }
}

@media screen and (max-width: 768px){
  html,body{
    font-size:3.5vw;
  }
  .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;
  }
  main p {
    line-height: 1.4em;
  }

  .offer_flow{
    display:block;
    border:1px solid var(--main);
    background:#fff;
    font-size:0.9em;
    margin-bottom:2em;
  }
  .offer_flow li{
    width:100%;
    opacity:0.7;
    color: var(--main);
    height:2.6em;
    line-height:2.6em;
  }
  .offer_flow li:not(:last-child)::before,
  .offer_flow li:not(:last-child)::after,
  .offer_flow li.active:not(:last-child)::before{
    display:none;
  }
  .offer_flow li.active{
    opacity:1;
  }

  .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;
  }

  .box .document section.terms_renew,
  .box .document section.terms_old{
    padding:1em;
  }

  /* TODO:  */
  .sp {
    display: block;
  }

  .info-header {
    padding-top: 1.4em;
    padding-left: 1.5em;
  }

  .info-header h1 {
    font-size: 1.9em;
    line-height: 1.4em;
  }


  .info-contents {
    font-size:2vw;
  }

  /* .info-contents header {
    height: 8.4em;
  } */

  .info-contents .info-header {
    height: 8.4em;
  }

  .info-contents main {
    padding-top: 3em;
  }

  .info-contents main .info-container .box {
    padding: 4.3em 2em 3em 2em;
    margin: 0 1.3em;
    margin-bottom: 3em;
  }

  .info-container .box h2 {
    font-size: 2.5em;
  }

  .section-sentence > p {
    font-size: 1.4em;
    line-height: 1.8em;
  }

  .img-inner img {
    width: 11.3em;
  }

  .flame-border > p {
    font-size: 1.4em;
  }

  .linkbutton.patterninfo {
    padding: 0.1em 2.4em;
    font-size: 1.8em;
  }

  .step-section > .step-img {
    width: 6.9em;
  }

  .step-ex-border > h3 {
    font-weight: 900;
    font-size: 1.4em;
    margin-bottom: 0.5em;
  }

  .step-ex-border > p {
    font-size: 1.4em;
    line-height: 1.7em;
  }

  .flame-border.infomation > h3 {
    font-size: 1.9em;
    margin-bottom: 0.8em;
  }

  .flame-border.infomation > p {
    line-height: 1.7em;
  }

  .flame-border .jimukyoku {
    margin-bottom: 0.3em;
    font-size: 1.7em;
  }

  .vertical-line-wrapper {
    height: calc(100% - 7.5em);
  }
}
