@charset "UTF-8";
/* variable */
/* breakpoint */
/* font family */
/* mixin */
/* contact & catalog main visual */
.contact_main_visual, .catalog_main_visual {
  background: url("../../cocoon-master/images/bg_contact-catalog01.png") no-repeat;
  background-size: cover;
  background-position: center;
  padding-top: 122px !important;
  text-align: center;
}

.contact_main_visual .section_heading {
  position: relative;
}
.contact_main_visual .section_heading::before {
  content: "お問合せ";
  position: absolute;
  -webkit-text-stroke: 0;
}
.contact_main_visual.contact_main_visual_confirm .section_heading::before {
  content: "お問合せ確認";
}
@media screen and (max-width: 721px) {
  .contact_main_visual .section_heading {
    font-size: 40px;
  }
}

.catalog_main_visual .section_heading {
  position: relative;
}
.catalog_main_visual .section_heading::before {
  content: "資料ダウンロード";
  position: absolute;
  -webkit-text-stroke: 0;
}
@media screen and (max-width: 721px) {
  .catalog_main_visual .section_heading {
    font-size: 40px;
  }
}

/* contact detail */
.contact_detail {
  width: 70%;
  max-width: 650px;
  margin: 0 auto 60px;
  align-items: center;
  text-align: center;
  font-size: 18px;
  border-top: 3px solid #2D5280;
  border-bottom: 3px solid #2D5280;
  color: #2D5280;
  justify-content: center;
}
.contact_detail .flex_item {
  width: 50%;
}
@media screen and (max-width: 721px) {
  .contact_detail .flex_item {
    width: 100%;
  }
}
@media screen and (max-width: 1200px) {
  .contact_detail {
    flex-direction: column;
    padding: 20px 0;
    width: 90%;
  }
}
@media screen and (max-width: 350px) {
  .contact_detail {
    padding-left: 5px;
    padding-right: 5px;
  }
}

.contact_flex_left {
  position: relative;
}
.contact_flex_left span {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  margin-right: -20px;
}
.contact_flex_left span::before {
  content: "";
  background: url("../../cocoon-master/images/ico_contact01.png") no-repeat;
  background-size: cover;
  display: inline-block;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 0.1em;
  left: -1.5em;
}
@media screen and (max-width: 350px) {
  .contact_flex_left span::before {
    left: -1em;
  }
}
.contact_flex_left::after {
  content: "";
  background-color: #2D5280;
  width: 2px;
  height: 105px;
  display: inline-block;
  position: absolute;
  right: 0;
  top: -33px;
}
@media screen and (max-width: 1200px) {
  .contact_flex_left::after {
    display: none;
  }
}

.contact_flex_right {
  padding: 20px;
  text-align: right;
}
@media screen and (max-width: 721px) {
  .contact_flex_right {
    padding: 0;
    text-align: center;
    margin-top: 15px;
  }
}

.contact_detail_tel {
  margin-bottom: 5px;
  margin-left: -10px;
}
.contact_detail_tel span {
  font-size: 35px;
  font-weight: bold;
  color: #2D5280;
}
@media screen and (max-width: 721px){
	
	_::-webkit-full-page-media, _:future, :root .contact_detail_tel span {
		font-size: 26px;
	}
}

.contact_detail_time {
  margin-bottom: 5px;
  font-size: 13px;
  text-align: right;
  margin-right: -10px;
}
@media screen and (max-width: 721px) {
  .contact_detail_time {
    text-align: center;
  }
}

.contact_detail_address {
  margin-bottom: 0;
  margin-left: -10px;
  margin-right: 5px;
}

/* basic form */
.basic_form {
  width: 80%;
  max-width: 1000px;
  margin: 0 auto;
}
.basic_form .flex_item {
  border: 1px solid #CCCCCC;
}
@media screen and (max-width: 721px) {
  .basic_form .flex_item {
    flex-direction: column;
  }
}
.basic_form .submit_button_blue {
  font-size: 26px;
  font-weight: bold;
  background-color: #2D5280;
  color: #fff;
  max-width: 330px;
  border: 1px solid #707070;
  width: 30%;
  text-align: center;
  padding: 16px 0;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .basic_form .submit_button_blue {
    width: 40%;
  }
}
@media screen and (max-width: 721px) {
  .basic_form .submit_button_blue {
    width: 90%;
  }
}
.basic_form .submit_button_blue:disabled {
  background: #ccc;
  color: #999;
  border: 1px solid #999;
}
.basic_form .submit_button_blue:disabled:hover {
  background: #ccc;
  color: #999;
}
.basic_form .submit_button_gray {
  font-size: 26px;
  font-weight: bold;
  background-color: #797979;
  color: #fff;
  max-width: 330px;
  border: 1px solid #707070;
  width: 30%;
  margin-right: 30px;
  text-align: center;
  padding: 16px 0;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .basic_form .submit_button_gray {
    width: 40%;
  }
}
@media screen and (max-width: 721px) {
  .basic_form .submit_button_gray {
    width: 90%;
    margin: 0 auto 15px;
  }
}
@media screen and (max-width: 721px) {
  .basic_form {
    width: 100%;
  }
}

.basic_form_label_wrap {
  width: 35%;
  background-color: #F4F4F4;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.basic_form_label_wrap.large {
  align-items: flex-start;
}
@media screen and (max-width: 1200px) {
  .basic_form_label_wrap {
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: baseline;
  }
}
@media screen and (max-width: 721px) {
  .basic_form_label_wrap {
    width: 100%;
    flex-direction: initial;
    justify-content: flex-start;
    align-items: center;
  }
}

.basic_form_label {
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
}

.basic_form_input_wrap {
  width: 65%;
  padding: 10px 20px;
}
.basic_form_input_wrap input[type=text], .basic_form_input_wrap input[type=email], .basic_form_input_wrap input[type=tel] {
  border-radius: initial;
  border: 1px solid #6A6A6A;
}
@media screen and (max-width: 1200px) {
  .basic_form_input_wrap input[type=text], .basic_form_input_wrap input[type=email], .basic_form_input_wrap input[type=tel] {
    height: 100%;
  }
  .basic_form_input_wrap input[type=text][size="3"], .basic_form_input_wrap input[type=text][size="4"], .basic_form_input_wrap input[type=email][size="3"], .basic_form_input_wrap input[type=email][size="4"], .basic_form_input_wrap input[type=tel][size="3"], .basic_form_input_wrap input[type=tel][size="4"] {
    height: initial;
  }
}
.basic_form_input_wrap input[type=radio].next {
  margin-left: 10px;
}
.basic_form_input_wrap input[type=radio] + label {
  padding-left: 5px;
}
.basic_form_input_wrap textarea {
  resize: none;
  border-radius: initial;
  border: 1px solid #6A6A6A;
  height: 100%;
}
.basic_form_input_wrap textarea::placeholder {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #222526;
}
.basic_form_input_wrap select {
  border-radius: initial;
  border: 1px solid #6A6A6A;
  appearance: none;
  color: #222526;
}
.basic_form_input_wrap select::-ms-expand {
  display: none;
}
.basic_form_input_wrap select:invalid {
  color: #222526;
}
.basic_form_input_wrap.flex {
  justify-content: space-between;
}
.basic_form_input_wrap.flex input {
  width: 48%;
}
.basic_form_input_wrap.address input[size="3"] {
  width: 15%;
  margin: 0 10px;
}
@media screen and (max-width: 721px) {
  .basic_form_input_wrap.address input[size="3"] {
    width: 18%;
    margin: 0 5px;
  }
}
.basic_form_input_wrap.address input[size="4"] {
  width: 20%;
  margin: 0 10px;
}
@media screen and (max-width: 721px) {
  .basic_form_input_wrap.address input[size="4"] {
    width: 23%;
    margin: 0 5px;
  }
}
.basic_form_input_wrap.address input[type=button] {
  background-color: #2D5280;
  color: #fff;
  font-weight: bold;
  border: 1px solid #CCCCCC;
  padding: 10px 15px;
  margin-left: 15px;
  margin-top: -15px;
  width: 102px;
}
@media screen and (max-width: 721px) {
  .basic_form_input_wrap.address input[type=button] {
    width: 90px;
    margin-left: 5px;
  }
}
.basic_form_input_wrap.address #yubin_wrap {
  margin-bottom: 10px;
}
@media screen and (max-width: 721px) {
  .basic_form_input_wrap {
    width: 100%;
  }
}

.basic_form_select_wrap {
  overflow: hidden;
  display: inline-block;
  width: 35%;
  float: left;
  position: relative;
}
.basic_form_select_wrap::after {
  content: "";
  background: url("../../cocoon-master/images/ico_contact02.png") no-repeat;
  background-size: cover;
  display: inline-block;
  width: 12px;
  height: 7px;
  position: absolute;
  top: calc(50% - 7px / 2);
  right: 10px;
  pointer-events: none;
}
.basic_form_select_wrap + input[type=text] {
  width: 63%;
  float: right;
}
@media screen and (max-width: 1200px) {
  .basic_form_select_wrap + input[type=text] {
    width: 100%;
    clear: both;
    display: block;
    height: initial;
  }
}
@media screen and (max-width: 721px) {
  .basic_form_select_wrap + input[type=text] {
    margin-top: 0;
  }
}
@media screen and (max-width: 1200px) {
  .basic_form_select_wrap {
    width: 67%;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 350px) {
  .basic_form_select_wrap {
    width: 100%;
  }
}

.basic_form_confirm_wrap {
  width: 65%;
  padding: 10px 20px;
}
.basic_form_confirm_wrap p {
  margin-bottom: 0;
  display: inline-block;
}
@media screen and (max-width: 1200px) {
  .basic_form_confirm_wrap.address {
    display: block;
  }
}
@media screen and (max-width: 1200px) {
  .basic_form_confirm_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (max-width: 721px) {
  .basic_form_confirm_wrap {
    width: 100%;
  }
}

.required_label {
  background-color: #D34444;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  padding: 2px 4px;
}
@media screen and (max-width: 721px) {
  .required_label {
    margin-left: 7px;
  }
}

.agree_check_wrap {
  margin-top: 60px;
  text-align: center;
}

.agree_check_label {
  font-weight: bold;
}

.agree_check_link {
  color: #0886B1;
  text-decoration: underline;
  display: block;
  width: fit-content;
  margin: 0 auto 40px;
}

.thanks_heading {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

.tahnks_text {
  font-size: 18px;
}

#kiyaku_wrap {
  border: 3px solid #ccc;
  text-align: left;
  margin: 0 0 20px;
  padding: 20px;
  height: 400px;
  overflow-y: auto;
}
#kiyaku_wrap a {
  color: #0886B1;
  text-decoration: underline;
}
#kiyaku_wrap a:hover {
  color: #ED7A2C;
}
#kiyaku_wrap #renrakusaki_wrap {
  margin-top: 2em;
}

/* 資料ダウンロードフォーム改修 2023.06.27 */
.download_form {
  width: 100%;
  margin: 0 auto 100px;
}
.download_form .flex_item {
  border: 1px solid #CCCCCC;
  height: 54px;
  align-items: center;
}
@media screen and (max-width: 721px) {
  .download_form .flex_item {
    flex-direction: column;
    height: initial;
  }
}
.download_form .submit_button_blue {
  font-size: 26px;
  font-weight: bold;
  background-color: #2D5280;
  color: #fff;
  max-width: 330px;
  border: 1px solid #707070;
  width: 30%;
  text-align: center;
  padding: 16px 0;
  cursor: pointer;
  margin-top: 20px;
}
@media screen and (max-width: 1200px) {
  .download_form .submit_button_blue {
    width: 40%;
  }
}
@media screen and (max-width: 721px) {
  .download_form .submit_button_blue {
    width: 90%;
  }
}
.download_form .submit_button_blue:disabled {
  background: #ccc;
  color: #999;
  border: 1px solid #999;
}
.download_form .submit_button_blue:disabled:hover {
  background: #ccc;
  color: #999;
}
.download_form .submit_button_gray {
  font-size: 26px;
  font-weight: bold;
  background-color: #797979;
  color: #fff;
  max-width: 330px;
  border: 1px solid #707070;
  width: 30%;
  margin-right: 30px;
  text-align: center;
  padding: 16px 0;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .download_form .submit_button_gray {
    width: 40%;
  }
}
@media screen and (max-width: 721px) {
  .download_form .submit_button_gray {
    width: 90%;
    margin: 0 auto 15px;
  }
}
@media screen and (max-width: 721px) {
  .download_form {
    width: 100%;
  }
}

.download_form_label_wrap {
  width: 35%;
  background-color: #F4F4F4;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.download_form_label_wrap.large {
  align-items: flex-start;
}
@media screen and (max-width: 721px) {
  .download_form_label_wrap {
    width: 100%;
    flex-direction: initial;
    justify-content: flex-start;
    align-items: center;
  }
}

.download_form_label {
  font-weight: bold;
  display: table-cell;
  vertical-align: middle;
}

.download_form_input_wrap {
  width: 65%;
  padding: 10px 20px;
}
.download_form_input_wrap input[type=text], .download_form_input_wrap input[type=email], .download_form_input_wrap input[type=tel] {
  border-radius: initial;
  border: 1px solid #6A6A6A;
  padding: 8px 11px;
}
@media screen and (max-width: 1200px) {
  .download_form_input_wrap input[type=text], .download_form_input_wrap input[type=email], .download_form_input_wrap input[type=tel] {
    height: 100%;
  }
  .download_form_input_wrap input[type=text][size="3"], .download_form_input_wrap input[type=text][size="4"], .download_form_input_wrap input[type=email][size="3"], .download_form_input_wrap input[type=email][size="4"], .download_form_input_wrap input[type=tel][size="3"], .download_form_input_wrap input[type=tel][size="4"] {
    height: initial;
  }
}
.download_form_input_wrap input[type=radio].next {
  margin-left: 10px;
}
.download_form_input_wrap input[type=radio] + label {
  padding-left: 5px;
}
.download_form_input_wrap textarea {
  resize: none;
  border-radius: initial;
  border: 1px solid #6A6A6A;
  height: 100%;
}
.download_form_input_wrap textarea::placeholder {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #222526;
}
.download_form_input_wrap select {
  border-radius: initial;
  border: 1px solid #6A6A6A;
  appearance: none;
  color: #222526;
}
.download_form_input_wrap select::-ms-expand {
  display: none;
}
.download_form_input_wrap select:invalid {
  color: #222526;
}
.download_form_input_wrap.flex {
  justify-content: space-between;
}
.download_form_input_wrap.flex input {
  width: 48%;
}
.download_form_input_wrap.address input[size="3"] {
  width: 15%;
  margin: 0 10px;
}
@media screen and (max-width: 721px) {
  .download_form_input_wrap.address input[size="3"] {
    width: 18%;
    margin: 0 5px;
  }
}
.download_form_input_wrap.address input[size="4"] {
  width: 20%;
  margin: 0 10px;
}
@media screen and (max-width: 721px) {
  .download_form_input_wrap.address input[size="4"] {
    width: 23%;
    margin: 0 5px;
  }
}
.download_form_input_wrap.address input[type=button] {
  background-color: #2D5280;
  color: #fff;
  font-weight: bold;
  border: 1px solid #CCCCCC;
  padding: 10px 15px;
  margin-left: 15px;
  margin-top: -15px;
  width: 102px;
}
@media screen and (max-width: 721px) {
  .download_form_input_wrap.address input[type=button] {
    width: 90px;
    margin-left: 5px;
  }
}
.download_form_input_wrap.address #yubin_wrap {
  margin-bottom: 10px;
}
@media screen and (max-width: 721px) {
  .download_form_input_wrap {
    width: 100%;
  }
}

.download_form_select_wrap {
  overflow: hidden;
  display: inline-block;
  width: 35%;
  float: left;
  position: relative;
}
.download_form_select_wrap::after {
  content: "";
  background: url("../../cocoon-master/images/ico_contact02.png") no-repeat;
  background-size: cover;
  display: inline-block;
  width: 12px;
  height: 7px;
  position: absolute;
  top: calc(50% - 7px / 2);
  right: 10px;
  pointer-events: none;
}
.download_form_select_wrap + input[type=text] {
  width: 63%;
  float: right;
}
@media screen and (max-width: 1200px) {
  .download_form_select_wrap + input[type=text] {
    width: 100%;
    clear: both;
    display: block;
    height: initial;
  }
}
@media screen and (max-width: 721px) {
  .download_form_select_wrap + input[type=text] {
    margin-top: 0;
  }
}
@media screen and (max-width: 1200px) {
  .download_form_select_wrap {
    width: 67%;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 350px) {
  .download_form_select_wrap {
    width: 100%;
  }
}

.download_form_confirm_wrap {
  width: 65%;
  padding: 10px 20px;
}
.download_form_confirm_wrap p {
  margin-bottom: 0;
  display: inline-block;
}
@media screen and (max-width: 1200px) {
  .download_form_confirm_wrap.address {
    display: block;
  }
}
@media screen and (max-width: 1200px) {
  .download_form_confirm_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
@media screen and (max-width: 721px) {
  .download_form_confirm_wrap {
    width: 100%;
  }
}

.required_label {
  background-color: #D34444;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  padding: 2px 4px;
}
@media screen and (max-width: 721px) {
  .required_label {
    margin-left: 7px;
  }
}

.download_form .agree_check_wrap {
  margin-top: 34px;
  text-align: center;
}

.agree_check_label {
  font-weight: bold;
}
@media (max-width: 390px){
  .download_form .agree_check_label{
    font-size: 13px;
  }
}

.agree_check_link {
  color: #0886B1;
  text-decoration: underline;
  display: block;
  width: fit-content;
  margin: 0 auto 40px;
}

.thanks_heading {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

.tahnks_text {
  font-size: 18px;
}

.download_form #kiyaku_wrap {
  border: 3px solid #ccc;
  text-align: left;
  margin: 0 0 60px;
  padding: 20px;
  height: 400px;
  overflow-y: auto;
}
#kiyaku_wrap a {
  color: #0886B1;
  text-decoration: underline;
}
#kiyaku_wrap a:hover {
  color: #ED7A2C;
}
#kiyaku_wrap #renrakusaki_wrap {
  margin-top: 2em;
}
.download_form-item{
  justify-content: space-between;
}
@media (max-width: 960px){
  .download_form-item{
  flex-direction: column;
  row-gap: 60px;
  }
}
.download_form-item--before{
  flex-direction: column;
  align-items: center;
  row-gap: 25px;
  width: 36.834%;
}
@media (max-width: 960px){
  .download_form-item--before{
    flex-direction: row;
    width: 100%;
  }
}
@media (max-width: 520px){
  .download_form-item--before{
    flex-direction: column;
    align-items: center;
    row-gap: 40px;
  }
}
.download_form-item--before figure{
  width: min(100%, 312px);
}
@media (max-width: 960px){
  .download_form-item--before figure{
    width: 30%;
  }
}
@media (max-width: 520px){
  .download_form-item--before figure{
    width: min(65%, 300px);
  }
}
.download_form-item--before div.wrap{
  width: 100%;
  position: relative;
  border: 3px solid #8CA609;
  padding: 56px 0 34px;
}
@media (max-width: 960px){
  .download_form-item--before div.wrap{
    width: 63%;
    margin: initial;
    margin-left: auto;
  }
}
@media (max-width: 520px){
  .download_form-item--before div.wrap{
    width: 100%;
  }
}
.download_form-item--before div.wrap span{
  position: absolute;
  background-color: #8CA609;
  border: 3px solid #8CA609;
  border-radius: 100vh;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  padding: 4.145px 26.34px;
  display: inline-table;
  left: 0;
  right: 0;
  top: -25px;
  margin: 0 auto;
}
.download_form-item--before div.wrap ul{
  max-width: 235px;
  margin: 0 auto;
}
.download_form-item--before div.wrap ul li{
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding-left: 40px;
}
.download_form-item--before div.wrap ul li:not(:last-child){
  margin-bottom: 20px;
}
.download_form-item--before div.wrap ul li::before{
  content: '';
  background: url('../images/ico_download01.webp') no-repeat;
  background-size: contain;
  width: 25px;
  height: 25px;
  position: absolute;
  left: 3px;
  top: calc(50% - 25px / 2);
}
.download_form-item--after{
  width: 61.334%;
}
@media (max-width: 960px){
  .download_form-item--after{
    width: 100%;
  }
}
.download_form-item--after p.txt{
  font-size: 17px;
}
@media (max-width: 960px){
  .download_form-item--after p.txt{
    font-size: 18px;
    margin-bottom: 0;
  }
}
.download_form-item--after div.flex_item-wrap{
  margin-top: 46px;
}
@media (max-width: 960px){
  .download_form-item--after div.flex_item-wrap{
    margin-top: 30px;
  }
}