@charset "utf-8";

/* リセットの打ち消しと詳細ページ専用設定 */

html {
  line-height: 1.8 !important;
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

*,
*::before,
*::after {
  margin: revert;
  padding: revert;
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
}

#page_visual {
  margin-top: -150px;
  padding-top: 150px;
  height: 370px;
  box-sizing: border-box;
  background-color: #dc2f2f;
  position: relative;
  z-index: 1;
}

#page_visual.category {
  height: 518px;
}
#page_visual .container {
  max-width:1100px;
  margin:0 auto;
  padding:0;
  width:100%;
  height: 100%;
  display: flex;
  align-items: center;
}
#page_visual.category .container {
  max-width:1160px;
}

#page_title {
  margin: 0;
  color: #fff;
  font-size: 30px;
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: .05rem;
}

#page_title span {
  display: block;
  font-size: 46.7%;
  margin-bottom: 1rem;
}

#page_visual.category #page_title {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: clamp(22px, 4vw, 40px);
}
.page_visual_icon {
  width: 212px;
  height: 212px;
  border-radius: 50%;
  background: #ffffff;
  position: relative;
  flex: 0 0 auto;
}

.page_visual_icon::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  background: no-repeat center / contain;
}

#page_visual[data_category="category-2"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon01.png");
  width: 55px;
  height: 55px;
}

#page_visual[data_category="category-5"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon02.png");
  width: 55px;
  height: 55px;
}

#page_visual[data_category="category-9"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon03.png");
  width: 55px;
  height: 55px;
}

#page_visual[data_category="category-21"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon04.png");
  width: 55px;
  height: 55px;
}

#page_visual[data_category="category-22"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon05.png");
  width: 55px;
  height: 55px;
}

#page_visual[data_category="category-others"] .page_visual_icon::before {
  background-image: url("/common_cgc/images/category_icon06.png");
  width: 55px;
  height: 55px;
}

#breadcrumb {
  background:#f2f2f2;
}

#breadcrumb .container {
  max-width:1160px;
  margin:0 auto;
  padding:15px 0;
}

@media (max-width:1160px) {
  
  #page_visual.category {
    height: 110px;
  }
  #page_visual, .category #page_visual{
    margin-top:70px;
    padding: 0;
    min-height: 110px;
    height:auto;
    padding-top:0;
    background-size:auto 100px;
  }
  .category #page_visual{
    height:167px;
  }
  #page_visual .container{
    height:100%;
    gap: 16px;
    font-size: 28px;
  }
  .page_visual_icon {
    width: 70px;
    height: 70px;
  }

  .page_visual_icon::before {
    max-width: 28px;
  }
  #page_title {
    margin: 1rem;
    font-size: 75%;
    gap: 10px;
  }
  #page_title span {
    margin-bottom: 0;
    font-size: 60%;
  }

  #breadcrumb {
    margin-bottom: 0;
  }
  #breadcrumb .container {
    padding:15px 16px;
  }
}

#breadcrumb ol {
  margin:0;
  padding:0;
  list-style:none;
  gap:10px;
  align-items:center;
  font-size: 81.3%;
}
#breadcrumb li:first-child{
  align-items:center;
  padding-left:0;
}

#breadcrumb li:first-child::before{
  content:"" !important;
  display:inline-block;
  width:16px;
  height:16px;
  min-width:16px;
  background:url("../images/breadcrumb.png") no-repeat center / contain;
  margin-right: 10px;
}


#breadcrumb li {
  display:inline;
  align-items:center;
  gap:10px;
  color:#000;
}

#breadcrumb li:not(:last-child)::after {
  content:"";
  width:6px;
  height:6px;
  border-right:1px solid rgba(0,0,0,0.55);
  border-bottom:1px solid rgba(0,0,0,0.55);
  transform:rotate(-45deg);
  display:inline-block;
  margin: 0 10px;
  vertical-align: middle;
}

#breadcrumb a {
  color:#094b83;
  text-decoration:none;
}

#category_list {
  padding: 0
}

#category_list .container {
  max-width:1160px;
  margin:0 auto;
  padding:0;
}

.category_card {
  background:#fff;
  border:1px solid #c1c1c1;
  border-radius:20px;
  padding:36px 34px;
}

.category_card + .category_card {
  margin-top:25px;
}

.category_no {
  font-weight:700;
  color:#959595;
  font-size:150%;
}

.category_title {
  margin:0;
  font-size:150%;
  font-weight:700;
  color:#209e7a;
}

.category_desc {
  margin:10px 0 0;
  font-size:87.5%;
  line-height:1.7;
  color:#333;
}

.category_divider {
  height:5px;
  background:#c1c1c1;
  margin:20px 0;
}

.category_links {
  display:grid;
  gap:10px 40px;
}

.category_links .category_link {
  position: relative;
  padding-left: 24px;
}

.category_links .category_link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 2px;
  background: #209e7a;
  transform: translateY(-50%);
}

.category_links.onecol {
  grid-template-columns:1fr;
}

.category_links.twocol {
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.category_link {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#209e7a;
  font-weight:700;
  min-width:0;
}

.category_link_no {
  color:#777;
  font-weight:700;
  white-space:nowrap;
}

.category_link_txt {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-decoration: underline;
}

.category_link:hover .category_link_txt {
  text-decoration:underline;
}

@media (max-width:1160px) {
  .category_card {
    padding:18px 16px;
  }

  .category_links.twocol {
    grid-template-columns:1fr;
  }

  .category_link_txt {
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}


.right {
  text-align: right;
}
.left {
  text-align: left;
}
.center {
  text-align: center;
}


/* ===== page ===== */
#main_content .container {
  padding: 0;
}
#page_layout{
  display:flex;
  gap:50px;
  align-items:flex-start;
  margin-top: 50px;
}

#page_main{
  flex:1;
  min-width:0;
}

#page_side{
  flex:0 0 250px;
}

@media (max-width:1160px){
  #page_layout{
    flex-direction:column;
    gap:24px;
  }
  #page_side{
    flex:0 0 auto;
    width:100%;
  }
}

/* ===== page_main ===== */
#page_main{
  flex:1;
  min-width:0;
}

@media (max-width:1160px){
  #page_main{
    width: 100%;
  }
}
#page_main .detail_intro{
  background:#f3f3f3;
  border-radius:13px;
  padding:18px 20px;
  margin:0 0 50px;
}

#page_main .detail_intro ul{
  list-style:none;
  padding:0;
  margin:12px 0 0;
}

#page_main .detail_intro li{
  position:relative;
  padding-left:20px;
  margin:6px 0;
}

#page_main .detail_intro li::before{
  content:"";
  position:absolute;
  left:0;
  top:40%;
  width:8px;
  height:8px;
  background:none;
  border-radius:0;
  border-right:2px solid #094b83;
  border-bottom:2px solid #094b83;
  transform:translateY(-50%) rotate(45deg); /* ▼ */
}

#page_main .detail_intro a{
  color:#094b83;
  text-decoration:underline;
  font-weight:700;
}

#page_main .detail_intro p{
  margin:0 0 10px;
  color:#333;
  font-size:87.5%;
  font-weight: 700;
}
#page_main .detail_intro ul{
  margin:0;
  padding:0;
  list-style:none;
}
#page_main .detail_intro li{
  margin:6px 0 0;
}
#page_main .detail_intro a{
  color:#094b83;
  text-decoration:underline;
  font-size:87.5%;
}
#page_main .detail_image{
  margin:0 0 14px;
}
#page_main .detail_image img{
  width:100%;
  height:auto;
  display:block;
}
#page_main .page_outline {
  border: 2px solid #2e579c;
  padding: 5px 10px;
  margin: 5px 0;
}
#page_main .page_outline_double {
  border: 1px solid #2e579c;
  padding: 5px 10px;
  margin: 5px 0;
  position: relative;
}
#page_main .page_outline_double::before {
  content: "";
  display: block;
  width: calc(100% + 15px);
  height: calc(100% + 15px);
  border: solid 1px #2e579c;
  position: absolute;
  top: -7px;
  left: -7px;
}
#page_main .detail_gallery2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
  margin:0 0 18px;
}
#page_main .detail_gallery3{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin:0 0 22px;
}
#page_main .detail_gallery4{
  display:grid;
  grid-template-columns: max-content 1fr;
  margin:0 0 9px;
}
#page_main .detail_gallery1_3{
  display:grid;
  grid-template-columns: 1fr 3fr;
  gap:18px;
  margin:0 0 9px;
}
#page_main .detail_gallery2 img,
#page_main .detail_gallery3 img,
#page_main .detail_gallery4 img,
#page_main .detail_gallery1_3 img{
  width:100%;
  height:auto;
  display:block;
}
#page_main .detail_gallery2 figure,
#page_main .detail_gallery3 figure,
#page_main .detail_gallery1_3 figure{
  margin:0;
}
#page_main .detail_gallery4 figure{
  margin: 0 0.5rem 0 0;
}
#page_main .detail_gallery2 p{
  margin:8px 0 0;
}
#page_main .detail_section{
  margin:0 0 28px;
}
#page_main .pagetitle_a2,
#page_main .pagetitle_a3,
#page_main .pagetitle_a4,
#page_main .pagetitle_a5,
#page_main .pagetitle_a6{
  margin:28px 0 30px;
  font-weight:700;
  color:#843b3b;
  line-height: 1.5;
}
#page_main .pagetitle_a2{
  font-size: 187.5%;
}
#page_main .pagetitle_a3{
  font-size: 162.5%;
}
#page_main .pagetitle_a4,
#page_main .pagetitle_a6{
  font-size: 150%;
}
#page_main .pagetitle_a6{
  color: #094b83;
}

#page_main .pagetitle_a5{
  margin:22px 0 30px;
  padding:5px 14px;
  background:#dfeaf4;
  border-radius:15px;
  font-size: 150%;
  color: #094b83;
}
#page_main .pagetitle_a2::after{
  content:"";
  display:block;
  height:5px;
  background:#e6d8d8;
  margin-top:10px;
}
#page_main .pagetitle_a3::after,
#page_main .pagetitle_a4::after{
  content:"";
  display:block;
  height:2px;
  background:#af7f7f;
  margin-top:10px;
}
#page_main .text_box{
  border-radius:20px;
  padding:16px 20px;
  margin:0 0 1.5rem;
}
#page_main .text_box.box01{
  background:#dfeaf4;
}
#page_main .text_box.box02{
  background:#f6f6f6;
}
#page_main .text_box.box03{
  background:#fcf4f7;
}
#page_main .text_box p{
  margin:0;
}

#page_main .table_wrap {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  margin-bottom: 2rem;
}
#page_main table {
  border-collapse: collapse;
  width: 100%;
}
#page_main table th,
#page_main table td{
  border:1px solid #abb7c4;
  padding:12px 12px;
}
#page_main table th{
  background:#f4f4f4;
  color:#094b83;
  text-align:left;
  font-weight:700;
}

#page_main table .bor_none_t {
  border-top: none;
}

#page_main table .bor_none_b {
  border-bottom: none;
}

@media (max-width:1160px){
  #page_main table {
    min-width: 500px;
  }
}

#page_main .labels{
  margin:10px 0 12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:center;
}
#page_main .label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:18px;
  padding:0 8px;
  border-radius:3px;
  font-size:75%;
  font-weight:700;
  color:#fff;
}

.important a[href$=".pdf"]::before,
.important a[href$=".doc"]::before,
.important a[href$=".docx"]::before,
.important a[href$=".xls"]::before,
.important a[href$=".xlsx"]::before,
.important a[href$=".ppt"]::before,
.important a[href$=".pptx"]::before
 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: .3rem .5rem 0 0;
  padding: 0;
  color: #fff;
  font-size: 62.5%;
  font-weight: 700;
  white-space: nowrap;
  width: 43px;
  height: 17px;
  text-align: center;
  float: left;
}

.file_item {
  position:relative;
  display:inline-block;
  padding-left:51px;
}

.file_item a {
  flex: 1;
  min-width: 0;
}

.icon_pdf,
.icon_docx,
.icon_xlsx,
.icon_pptx {
  flex-shrink: 0;
  text-transform: uppercase;
}

.icon_pdf, .icon_doc, .icon_docx, .icon_xlsx, .icon_xls, .icon_pptx, .icon_ppt {
  display:inline-flex;
  align-items: center;
  justify-content: center;
  margin: .4rem 0 0 0;
  padding: 0;
  color: #fff;
  font-size: 62.5%;
  font-weight: 700;
  white-space: nowrap;
  width: 43px;
  height: 17px;
  text-align: center;
  float: left;
  flex-shrink: 0;
  position:absolute;
  left:0;
  top:0;
}
.icon_pdf {
  background-color: #ab2844;
}
.icon_doc, .icon_docx {
  background-color: #2c488f;
}
.icon_xls, .icon_xlsx {
  background-color: #37754e;
}
.icon_ppt, .icon_pptx {
  background-color: #ab3528;
}

#page_main .label_new{
  background:#b13b3b;
}
#page_main .label_link{
  color:#10785a;
  text-decoration:underline;
  font-size:87.5%;
}

#page_main ol{
  margin:20px 0;
  padding:0;
  list-style:none;
  counter-reset:num;
}

#page_main ol li{
  position:relative;
  padding-left:28px;
  line-height:1.8;
}

#page_main ol li::before{
  counter-increment:num;
  content: counter(num) ".";
  position:absolute;
  left:0;
  top:0;
  width:28px;
  text-align:right;
}

#page_main ul{
  margin:20px 0 ;
  padding:0;
  list-style:none;
}

#page_main ul li{
  position:relative;
  padding-left:28px;
  line-height:1.8;
}

#page_main ul li::before{
  content:"";
  position:absolute;
  left:12px;
  top:0.7em;
  width:7px;
  height:7px;
  background:#256b70;
  border-radius:50%;
}

#page_main .map,
#page_main .movie{
  margin:2rem 0;
  overflow:hidden;
  background:#e6e6e6;
}
#page_main .map iframe{
  width:100%;
  height:340px;
  border:0;
  display:block;
}
#page_main .movie{
  position:relative;
  padding-top:56.25%;
}
#page_main .movie iframe{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
@media (max-width:1160px){
  #page_main .detail_gallery2{
    grid-template-columns:1fr;
  }
  #page_main .detail_gallery3{
    grid-template-columns:1fr;
  }
  #page_main .map iframe{
    height:200px;
  }
}
.reader {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 75%;
  margin-top: 80px !important;
}
.reader_img img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
}
.reader_txt {
  line-height: 1.6;
}

#page_main .contact_box{
  background:#f3f3f3;
  border-radius:10px;
  margin: 30px 0;
  padding:18px 22px;
  font-size: 87.5%;
}

#page_main .contact_title{
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:1px solid #bfbfbf;
  font-weight:700;
}

#page_main .contact_body p{
  margin:0;
  line-height:1.9;
}

#page_main .contact_link{
  margin-top:10px;
}

#page_main .contact_link a{
  position:relative;
  padding-left:18px;
  text-decoration:underline;
  color:#10785a;
  font-weight:700;
}
#page_main a.arrow_right::before{
  transform:rotate(-45deg);
}


#page_main a.arrow_right,
#page_main a.arrow_down{
  position:relative;
  padding-left:20px;
  color:#094b83;
  text-decoration:underline;
  font-weight:700;
}

#page_main a.arrow_right::before,
#page_main a.arrow_down::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:8px;
  height:8px;
  border-right:2px solid #094b83;
  border-bottom:2px solid #094b83;
  transform-origin:center;
}

@media (max-width:1160px){
  #main_content .container{
    padding:0px !important;
  }

  #breadcrumb .container{
    padding:10px 16px !important;
  }

  #breadcrumb ol {
    display:flex;
    overflow-x: auto;
    justify-content: initial;
    padding: 5px 0;
  }

  #breadcrumb li:first-child{
    display:flex;
  }

  #breadcrumb li:first-child::before{
    display:block;
    margin-right: initial;
  }

  #breadcrumb li {
    display:flex;
    white-space: nowrap;
  }

  #main_content {
    padding: 0 16px 100px;
    margin: 0;
  }
  #page_layout{
    margin-top:24px;
    gap:24px;
  }

  #page_side{
    width:100%;
  }

  .reader{
    flex-direction:column;
    gap:12px;
    margin-top:32px !important;
  }

  #page_main .detail_intro{
    padding:16px;
    margin:0 0 28px;
  }

  #page_main .detail_gallery2,
  #page_main .detail_gallery3,
  #page_main .detail_gallery1_3{
    grid-template-columns:1fr;
    gap:14px;
  }
  #page_main .detail_gallery2 p{
    margin:6px 0 0;
  }
}

/* ===== page_side ===== */
#page_side{
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
}

.side_nav_title,
.side_pdf_title,
.side_tags_title{
  margin:0 0 14px;
  font-weight:700;
  color:#000;
  font-size: 87.5%;
}
.side_nav_title span,
.side_pdf_title span,
.side_tags_title span{
  margin-left: 15px;
}

.side_nav_title::after,
.side_pdf_title::after,
.side_tags_title::after{
  content:"";
  display:block;
  height:5px;
  background:#cecece;
  margin-top:14px;
}

.side_nav_list{
  list-style:none;
  margin:0;
  padding:0;
}

.side_nav_list li{
  border-bottom:1px solid #cecece;
  transition: background-color 0.3s ease;
}

.side_nav_list li:hover{
  background-color:#f8eded;
}

.side_nav_list a{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 0 16px 43px;
  text-decoration:none;
  color:#094b83;
  font-weight:700;
  font-size: 87.5%;
}

.side_nav_list a::before{
  content:"";
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  width:14px;
  height:2px;
  background:#094b83;
}

.side_nav_list a:hover{
  text-decoration:underline;
}

.side_nav_list li.side-menu_selected{
  background-color:#f8eded;
}

.side_tags{
  margin-top:80px;
}

.side_tags_list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.side_tags_list a{
  display:inline-flex;
  align-items:center;
  padding:2px 10px;
  background:#094b83;
  color:#fff;
  border-radius:5px;
  font-size:75%;
  font-weight:700;
  text-decoration:none;
}

.side_tags_list a:hover{
  opacity:.9;
}


/* ===== category page ===== */
#main_content.category {
  width: 100%;
  max-width: 1160px;
  margin: 36px auto 0;
  padding: 0 0 200px;
}

.category_intro {
  margin-bottom: 24px;
}

.category_cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}
@media (max-width: 767px) {
  #main_content.category {
    margin: 0 auto;
    padding-bottom: 4rem;
  }
  #main_content.category .container {
    padding: 1.5rem 1rem !important;
  }
  #main_content.category #page_layout {
    margin-top: 0;
  }
  .category_cols {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

.category_heading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 137.5%;
  font-weight: 700;
  color: #094b83;
  padding-bottom: 14px;
  border-bottom: 5px solid #cecece;
  margin-bottom: 18px;
}

.category_heading::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("/common_cgc/images/arw02.png") no-repeat center / contain;
  flex: 0 0 auto;
}

.category_list  {
  list-style: none;
  margin: 0;
  padding: 0;
}
.category_list li {
  padding-left: 0 !important;
}
.category_list li::before {
  content: none !important;
}

.category_list a {
  display: inline-block;
  padding: 14px 0 14px 30px;
  color: #005d82;
  position: relative;
}

.category_list a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 27px;
  width: 14px;
  height: 2px;
  background: #005d82;
}

.category_list a:hover,
.category_list a:focus-visible {
  text-decoration: underline;
  outline: none;
}

@media (max-width: 767px) {
  .category_heading {
    margin-top: 0;
  }
  .category_cols {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* simulation */
#myForm {
  width: max-content;
  margin: 0 auto;
}

#loan, #warranty, #rate {
  width: 400px !important;
}

#loan-div, #warranty-div {
  border-bottom: 1px solid #dc2f2f;
  padding: 1rem 0;
}

#rate-div {
  padding: 1rem 0;
}

#repayments, #submit-div, #results, #reset-div {
  text-align: center;
}

#submit {
  display: inline-block;
  padding: 7px 45px;
  border-radius: 10px;
  color: #fff;
  background: #dc2f2f;
  cursor: pointer;
  transition: background-color 0.4s ease;
  margin: 20px 0;
  font-size: 130%;
}

#submit:hover {
  background-color: #d87777;
  transition: background-color 0.4s ease;
}

/* ===== 検索結果ページ (Google Custom Search) ===== */
/* サイトの table td ルールがGSCのテーブルに当たるのをリセット */
#page_main td.gsc-result-info-container,
#page_main td.gsc-orderby-container {
  border: none !important;
  background: transparent !important;
  padding: 4px !important;
}
/* 件数・並べ替えエリア周囲の枠線・背景 */
#page_main .gsc-above-wrapper-area,
#page_main .gsc-above-wrapper-area-container {
  border: none !important;
  box-shadow: none !important;
}
/* GSCコンテナを横幅いっぱいに */
#page_main .gsc-control-cse {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
#page_main .gsc-wrapper {
  max-width: none !important;
}

#reset {
  display: inline-block;
  padding: 3px 30px;
  border-radius: 10px;
  color: #fff;
  background: #C2C2C2;
  cursor: pointer;
  transition: background-color 0.4s ease;
}

#reset:hover {
  background: #828282fd;
  transition: background-color 0.4s ease;
}

#results {
  padding: 10px 0 30px 0;
}

#results #result-title {
  display: block;
  font-weight: bold;
}

#results #result {
  font-size: 200%;
}

@media (max-width: 767px) {
  #myForm {
    text-align: unset;
    width: 100%;
    margin: auto;
  }

  #repayments {
    text-align: unset;
  }

  #repayments label {
    display: block;
  }

  #submit, #reset {
    width: 100%;
  }

  #results {
    text-align: center;
  }

  #loan, #warranty, #rate {
    width: 80% !important;
    margin: 0 10px !important;
  }

  #rate-div {
    padding-right: initial;
  }
}

/* 入力フォーム系 */
#main_content input[type="text"],
#main_content input[type="email"],
#main_content input[type="select"],
#main_content input[type="password"],
#main_content select,
#main_content textarea {
  margin: 10px 0;
  padding: 1rem;
  max-width: initial !important;
  border: 1px solid #d9d9d9;
  background: #FFF;
}

#main_content input[type="text"],
#main_content input[type="email"],
/* #main_content select, */
#main_content textarea {
  width: 100%;
}

#online_sodan_btn,
#mail_btn {
  display: flex;
  justify-content: center;
  gap: 3rem;
}

#online_sodan_btn .btn_l input,
#online_sodan_btn .btn_l button,
#mail_btn .btn_l input,
#mail_btn .btn_l button {
  display: inline-block;
  padding: 1rem 7rem;
  border-radius: 10px;
  color: #fff;
  background: #dc2f2f;
  cursor: pointer;
  transition: background-color 0.4s ease;
}

#online_sodan_btn .btn_l input:hover,
#online_sodan_btn .btn_l button:hover,
#mail_btn .btn_l input:hover,
#mail_btn .btn_l button:hover {
  background-color: #d87777;
  transition: background-color 0.4s ease;
}

#online_sodan_btn .btn_r input,
#online_sodan_btn .btn_r button,
#mail_btn .btn_r input,
#mail_btn .btn_r button {
  display: inline-block;
  padding: 1rem 7rem;
  border-radius: 10px;
  color: #fff;
  background: #C2C2C2;
  cursor: pointer;
  transition: background-color 0.4s ease;
}

#online_sodan_btn .btn_r input:hover,
#online_sodan_btn .btn_r button:hover,
#mail_btn .btn_r input:hover,
#mail_btn .btn_r button:hover {
  background: #828282fd;
  transition: background-color 0.4s ease;
}

@media (max-width: 1160px) {
  #main_content input[type="text"],
  #main_content input[type="email"],
  #main_content input[type="select"],
  #main_content input[type="password"],
  #main_content select,
  #main_content textarea {
    width: 100%;
  }

  #online_sodan_btn,
  #mail_btn {
    display: block;
  }

  #online_sodan_btn .btn_l input,
  #online_sodan_btn .btn_r input,
  #mail_btn .btn_l input,
  #mail_btn .btn_r input,
  #online_sodan_btn .btn_l button,
  #online_sodan_btn .btn_r button,
  #mail_btn .btn_l button,
  #mail_btn .btn_r button {
    width: 100%;
    margin: 10px 0;
  }
}

#main_content .agree {
  margin-top: 3rem;
}

#main_content .agree #chkbox-text {
  color: #C0C0C0;
}

#main_content .agree #chkbox-text.is-active {
  color: #000;
}

#main_content .form_set {
  display: flex;
  align-items: center;
}

#main_content .form_title {
  padding-right: 5rem;
  flex-shrink: 0;
}

#main_content .pr0_8r {
  padding-right: 0.8rem;
}

#main_content .pr6r {
  padding-right: 6rem;
}

#main_content .pr7r {
  padding-right: 7rem;
}


#main_content .form_name {
  display: flex;
  gap: 10px;
}

#main_content .required {
  position: absolute;
}

@media screen and (max-width: 1160px) {
    #main_content .form_set,
    #main_content .form_name {
      display: block;
    }

    #main_content .pr0_8r,
    #main_content .pr6r,
    #main_content .pr7r {
      padding-right: 0;
    }
}

/* =============================================
SITEMAP
============================================= */
#sitemap_list dd dl {
  margin-left: 20px;
  padding: 5px;
}

#sitemap_list dd dd dl,
#sitemap_list dd dd dd dl {
  margin-left: 20px;
  padding: 5px;
}

#sitemap_list ul {
  margin: 0 !important;
  padding: 3px !important;
  height: 100%;
}

#sitemap_list ul li {
  background: none !important;
  margin-left: 10px !important;
  margin-bottom: 0 !important;
}

#sitemap_list ul li:after {
  content: "";
  background: none;
}

#sitemap_list .sm_article {
  margin-left: 20px;
  padding: 5px 5px 5px 23px !important;
  display: block;
  position: relative;
}
#sitemap_list .sm_article::before {
  content: "";
  display: block;
  position: absolute;
  left: 1px;
  top: 0.5em;
  width: 18px;
  height: 18px;
  background: url("/common_cgc/images/icon_file_s.png") no-repeat 0 0 / contain;
  border-radius: 0;
}

#sitemap_list .sm_category1,
#sitemap_list .sm_category2,
#sitemap_list .sm_category3,
#sitemap_list .sm_category4,
#sitemap_list .sm_category5,
#sitemap_list .sm_category6,
#sitemap_list .sm_category7,
#sitemap_list .sm_category8 {
  font-weight: bold;
  padding: 5px 5px 5px 26px !important;
  display: block;
  position: relative;
}
#sitemap_list .sm_category1::before,
#sitemap_list .sm_category2::before,
#sitemap_list .sm_category3::before,
#sitemap_list .sm_category4::before,
#sitemap_list .sm_category5::before,
#sitemap_list .sm_category6::before,
#sitemap_list .sm_category7::before,
#sitemap_list .sm_category8::before {
  content: "";
  display: block;
  position: absolute;
  left: 1px;
  top: 0.6em;
  width: 20px;
  height: 20px;
  background: url("/common_cgc/images/icon_folder_s.png") no-repeat 0 0 / contain;
  border-radius: 0;
}

#sitemap_list input {
  border: 1px solid #c9c9c9;
  padding: 0;
  width: 25px;
  background: #FFFFFF;
  margin: 0 10px;
  position: absolute;
  text-align: center;
}

#sitemap_list ul>li::before {
  content: none;
}

/* margin */
.mb0 {margin-bottom: 0 !important;}
.mt1r {margin-top:1rem !important;}.mt2r {margin-top:2rem !important;}.mt3r {margin-top:3rem !important;}.mt4r {margin-top:4rem !important;}.mt5r {margin-top:5rem !important;}
.mb1r {margin-bottom:1rem !important;}.mb2r {margin-bottom:2rem !important;}.mb3r {margin-bottom:3rem !important;}.mb4r {margin-bottom:4rem !important;}.mb5r {margin-bottom:5rem !important;}
.ml1r {margin-left:1rem !important;}.ml2r {margin-left:2rem !important;}.ml3r {margin-left:3rem !important;}.ml4r {margin-left:4rem !important;}.ml5r {margin-left:5rem !important;}
.mr1r {margin-right:1rem !important;}.mr2r {margin-right:2rem !important;}.mr3r {margin-right:3rem !important;}.mr4r {margin-right:4rem !important;}.mr5r {margin-right:5rem !important;}
.mx1r {margin-left:1rem !important;margin-right:1rem !important;}.mx2r {margin-left:2rem !important;margin-right:2rem !important;}.mx3r {margin-left:3rem !important;margin-right:3rem !important;}.mx4r {margin-left:4rem !important;margin-right:4rem !important;}.mx5r {margin-left:5rem !important;margin-right:5rem !important;}
.my1r {margin-top:1rem !important;margin-bottom:1rem !important;}.my2r {margin-top:2rem !important;margin-bottom:2rem !important;}.my3r {margin-top:3rem !important;margin-bottom:3rem !important;}.my4r {margin-top:4rem !important;margin-bottom:4rem !important;}.my5r {margin-top:5rem !important;margin-bottom:5rem !important;}

.mt10 {margin-top:10px !important;}.mt20 {margin-top:20px !important;}.mt30 {margin-top:30px !important;}.mt40 {margin-top:40px !important;}.mt50 {margin-top:50px !important;}.mt60 {margin-top:60px !important;}.mt70 {margin-top:70px !important;}.mt80 {margin-top:80px !important;}.mt90 {margin-top:90px !important;}.mt100 {margin-top:100px !important;}
.mb10 {margin-bottom:10px !important;}.mb20 {margin-bottom:20px !important;}.mb30 {margin-bottom:30px !important;}.mb40 {margin-bottom:40px !important;}.mb50 {margin-bottom:50px !important;}.mb60 {margin-bottom:60px !important;}.mb70 {margin-bottom:70px !important;}.mb80 {margin-bottom:80px !important;}.mb90 {margin-bottom:90px !important;}.mb100 {margin-bottom:100px !important;}
.ml10 {margin-left:10px !important;}.ml20 {margin-left:20px !important;}.ml30 {margin-left:30px !important;}.ml40 {margin-left:40px !important;}.ml50 {margin-left:50px !important;}.ml60 {margin-left:60px !important;}.ml70 {margin-left:70px !important;}.ml80 {margin-left:80px !important;}.ml90 {margin-left:90px !important;}.ml100 {margin-left:100px !important;}
.mr10 {margin-right:10px !important;}.mr20 {margin-right:20px !important;}.mr30 {margin-right:30px !important;}.mr40 {margin-right:40px !important;}.mr50 {margin-right:50px !important;}.mr60 {margin-right:60px !important;}.mr70 {margin-right:70px !important;}.mr80 {margin-right:80px !important;}.mr90 {margin-right:90px !important;}.mr100 {margin-right:100px !important;}
.mx10 {margin-left:10px !important;margin-right:10px !important;}.mx20 {margin-left:20px !important;margin-right:20px !important;}.mx30 {margin-left:30px !important;margin-right:30px !important;}.mx40 {margin-left:40px !important;margin-right:40px !important;}.mx50 {margin-left:50px !important;margin-right:50px !important;}.mx60 {margin-left:60px !important;margin-right:60px !important;}.mx70 {margin-left:70px !important;margin-right:70px !important;}.mx80 {margin-left:80px !important;margin-right:80px !important;}.mx90 {margin-left:90px !important;margin-right:90px !important;}.mx100 {margin-left:100px !important;margin-right:100px !important;}
.my10 {margin-top:10px !important;margin-bottom:10px !important;}.my20 {margin-top:20px !important;margin-bottom:20px !important;}.my30 {margin-top:30px !important;margin-bottom:30px !important;}.my40 {margin-top:40px !important;margin-bottom:40px !important;}.my50 {margin-top:50px !important;margin-bottom:50px !important;}.my60 {margin-top:60px !important;margin-bottom:60px !important;}.my70 {margin-top:70px !important;margin-bottom:70px !important;}.my80 {margin-top:80px !important;margin-bottom:80px !important;}.my90 {margin-top:90px !important;margin-bottom:90px !important;}.my100 {margin-top:100px !important;margin-bottom:100px !important;}

/* ==================================================
  recruit テンプレート共通
================================================== */
#page_main .pagetitle_a7{
  font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'Noto Serif JP';
  margin:0 0 30px 0;
  font-weight: normal;
  line-height: 1.2;
  font-size: 200%;
}
#page_main #interviewee div {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 10px;
  margin: 0 0 40px;
}
#page_main #interviewee p {
  padding: 20px 18px;
}
#page_main #interviewee p:first-child {
  background-color: #1B559E;
  color: #fff;
}
#page_main #interview_contents p {
  margin: 0;
}
#page_main #from_junior h2 {
  color: #1B559E !important;
  position: relative;
  padding-left: 30px;
  margin: 15px 0 20px 0;
}
#page_main #from_junior h2::before {
  content: "";
  position: absolute;
  display: block;
  background-image: url(/common_cgc/images/microphone.png);
  width: 30px;
  height: 30px;
  top: 3px;
  left: -5px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#page_main #schedule h2 {
  color: #dc2f2f !important;
  position: relative;
  padding-left: 50px;
  margin: 15px 0 20px 0;
}
#page_main #schedule h2::before {
  content: "";
  position: absolute;
  display: block;
  background-image: url(/common_cgc/images/clock.png);
  width: 35px;
  height: 35px;
  top: 0;
  left: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
#page_main #schedule ul {
  padding: 10px 40px;
}
#page_main #schedule ul li {
  padding: 10px 0;
}
#page_main #schedule ul li div:first-child {
  font-weight: 600;
}
#page_main #schedule ul li::before {
  content: "";
  position: static;
}
@media (max-width:1160px){
  #page_main #schedule ul {
    padding: 0;
  }
}
#page_main blockquote {
  font-style: italic;
  font-family: Georgia, Times, "Times New Roman", serif;
  padding: 2px 0;
  border-style: solid;
  border-color: #ccc;
  border-width: 0;
}