@charset "utf-8";
/*-----------------------------------------------------

  sub.css
  sub page CSS

------------------------------------------------------*/

@charset "utf-8";
/*-----------------------------------------------------
  header
-----------------------------------------------------*/

#page_header {
  background: rgba(187, 206, 211, 0.3);
  padding-bottom: clamp(46.67px, calc(70 * var(--vw)), 70px);
}

.breadcrumbs {
  display: flex;
  justify-content: flex-end;
  padding: clamp(20px, calc(30 * var(--vw)), 30px) 4.17% 0 0;
}

.breadcrumbs ul {
  display: flex;
  justify-content: flex-end;
}

.breadcrumbs li {
  color: #909090;
  font-size: clamp(10.67px, calc(14 * var(--vw)), 14px);
  line-height: 1;
  position: relative;
  margin-right: clamp(10px, calc(16 * var(--vw)), 16px);
}


.breadcrumbs li:last-child {
  margin-right: 0;
}

.breadcrumbs li::after {
  content: '>';
  /* ここに好きな文字を入れます */
  position: absolute;
  font-size: clamp(10px, calc(14 * var(--vw)), 14px);
  /* 文字のサイズ（お好みで調整） */
  right: clamp(-13px, calc(-13 * var(--vw)), -8.67px);
  top: 50%;
  transform: translateY(-50%);
}

.breadcrumbs li a {
  color: #909090;
}

.breadcrumbs li a:link {
  text-decoration: underline;
}

.breadcrumbs li a:hover {
  text-decoration: none;
}

.breadcrumbs li:last-child:after {
  display: none;
}


#page_header h1 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(40px, calc(60 * var(--vw)), 60px);
  line-height: 1;
  margin: clamp(50px, calc(75 * var(--vw)), 75px) 0 clamp(50px, calc(75 * var(--vw)), 75px) 4.17%;
}

#page_header h2 {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  font-weight: 400;
  margin-left: clamp(173.33px, calc(260 * var(--vw)), 260px);
}


/*-----------------------------------------------------
  contents
------------------------------------------------------*/

.sect_inner1400 {
  width: clamp(933.33px, calc(1400* var(--vw)), 1400px);
  margin: 0 auto;
}

.sect_inner1120 {
  width: clamp(746.67px, calc(1120 * var(--vw)), 1120px);
  margin: 0 auto;
}

.sect_inner880 {
  width: 45.833%;
  margin: 0 auto;
}

#lead,
#service,
#data {
  padding-bottom: 50px;
}

#lead .lead_description {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

#lead .sect_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#lead .lead_description .hashtag_box_photo img {
  width: clamp(413.33px, calc(620 * var(--vw)), 620px);
}

#lead .lead_service .sect_box_R {
  width: clamp(613.33px, calc(920 * var(--vw)), 920px);
  margin-right: clamp(13.33px, calc(20 * var(--vw)), 20px);
  display: flex;
  flex-wrap: wrap;
}

#lead .hashtag_box {
  width: clamp(306.67px, calc(460 * var(--vw)), 460px);
  height: clamp(186.67px, calc(280 * var(--vw)), 280px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
}

#lead .hashtag_box .hashtag_box_bg {
  position: absolute;
  top: clamp(13.33px, calc(20 * var(--vw)), 20px);
  left: clamp(13.33px, calc(20 * var(--vw)), 20px);
  width: 100%;
  height: 100%;
  background-color: var(--bg-white);
  z-index: -1;
}

#lead .hashtag_box figure {
  text-align: center;
}

#lead .hashtag_box figcaption {
  margin-bottom: clamp(32px, calc(48 * var(--vw)), 48px);
}

#lead .hashtag_box figcaption span {
  background-color: var(--bg-gray);
  padding: 1px clamp(4.67px, calc(7 * var(--vw)), 7px) clamp(2px, calc(3 * var(--vw)), 3px);
  line-height: 1;
}

#lead .lead_description .sect_box_R {
  width: clamp(413.33px, calc(620 * var(--vw)), 620px);
}

#lead .lead_description h3 {
  font-weight: 600;
  font-size: clamp(40px, calc(60 * var(--vw)), 60px);
  color: var(--text-blue);
  line-height: 1;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
  font-feature-settings: "palt";
}

#lead .lead_description h3 span {
  font-size: clamp(26.67px, calc(40 * var(--vw)), 40px);
  display: block;
  margin-bottom: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

#lead .lead_service {
  align-items: flex-start;
  margin-top: clamp(106.67px, calc(160 * var(--vw)), 160px);
}

#lead .lead_service h3 {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(26.67px, calc(40 * var(--vw)), 40px);
  color: var(--text-blue);
  line-height: 1;
}

#lead .lead_service h3 .h3_en {
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, calc(24 * var(--vw)), 24px);
  display: block;
  color: var(--text-color);
  margin-bottom: clamp(11.33px, calc(17 * var(--vw)), 17px);
}


/*---- building ----*/

.address {
  font-size: clamp(16px, calc(24 * var(--vw)), 24px);
  line-height: normal;
  font-weight: 500;
}

body#building #lead .hashtag_box.box_01 img {
  margin-bottom: 0;
}

body#building #lead .hashtag_box.box_02 img {
  margin-bottom: 0;
}

body#building #lead .hashtag_box.box_03 img {
  margin-bottom: 0;
}


body#building #lead .hashtag_box.box_01 img {
  margin-bottom: clamp(5.33px, calc(8 * var(--vw)), 8px);
  width: clamp(120.667px, calc(181 * var(--vw)), 181px);
}

body#building #lead .hashtag_box.box_02 img {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
  width: clamp(131.33px, calc(197 * var(--vw)), 197px);
}

body#building #lead .hashtag_box.box_03 img {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
  width: clamp(130px, calc(195 * var(--vw)), 195px);
}

body#building #lead .hashtag_box.box_04 img {
  width: clamp(112.67px, calc(169 * var(--vw)), 169px);
}


#case {
  background: rgba(187, 206, 211, 0.3);
}

#case .sect_box p.sect_lead {
  margin-bottom: clamp(20px, calc(30 * var(--vw)), 30px);
}

.hashtag_box.list_contents {
  background: #fff;
}

.hashtag_box.list_contents dl {
  margin: clamp(26.67px, calc(40 * var(--vw)), 40px) 0 clamp(6.67px, calc(10 * var(--vw)), 10px) clamp(148px, calc(222 * var(--vw)), 222px);
  display: flex;
  flex-wrap: wrap;
}

#case .hashtag_box.list_contents dt {
  width: clamp(264px, calc(396 * var(--vw)), 396px);
  height: clamp(24.67px, calc(37 * var(--vw)), 37px);
  margin: 0 clamp(28px, calc(42 * var(--vw)), 42px) clamp(20px, calc(30 * var(--vw)), 30px) 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: clamp(18.67px, calc(28 * var(--vw)), 28px);
  background-color: var(--bg-blue);
  color: var(--text-white);
  text-align: center;
  line-height: clamp(24.67px, calc(37 * var(--vw)), 37px);
}

#case .hashtag_box.list_contents dd {
  margin-bottom: clamp(20px, calc(30 * var(--vw)), 30px);
  font-weight: 500;
  display: flex;
  align-items: center;
}

#case_slider_wrapper {
  position: relative;
  margin: clamp(106.67px, calc(160 * var(--vw)), 160px) 0 0;
}

#case_slider {
  display: flex;
  justify-content: flex-start;
}

#case_slider .slider_box {
  width: clamp(252px, calc(378 * var(--vw)), 378px);
  padding-left: clamp(38.67px, calc(58 * var(--vw)), 58px);
  position: relative;
}

#case_slider .case_number {
  position: absolute;
  transform: rotate(90deg);
  transform-origin: left bottom;
  top: clamp(-27px, calc(-27 * var(--vw)), -18px);
  left: clamp(13.33px, calc(20 * var(--vw)), 20px);
  font-family: "Barlow", sans-serif;
  font-weight: 700;
  font-size: clamp(10.67px, calc(16 * var(--vw)), 16px);
}

#case_slider .slider_container {
  width: clamp(213.33px, calc(320 * var(--vw)), 320px);
  height: clamp(213.33px, calc(320 * var(--vw)), 320px);
  margin-bottom: clamp(10px, calc(15 * var(--vw)), 15px);
  overflow: hidden;
  position: relative;
}

#case_slider .swiper-slide {
  width: clamp(213.33px, calc(320 * var(--vw)), 320px);
  height: clamp(213.33px, calc(320 * var(--vw)), 320px);
}

#case_slider .swiper-slide img {
  width: clamp(213.33px, calc(320 * var(--vw)), 320px);
  height: auto;
}

.slide_control {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  gap: clamp(1.33px, calc(2 * var(--vw)), 2px);
  z-index: 2;
}

.slide_prev,
.slide_next {
  width: clamp(33.33px, calc(50 * var(--vw)), 50px);
  height: clamp(33.33px, calc(50 * var(--vw)), 50px);
  background-color: var(--bg-black);
  cursor: pointer;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.slide_prev:hover,
.slide_next:hover {
  background-color: var(--hover-blue);
}

.slide_prev {
  background-image: url(../images/common/arrow_btn_L.png);
  background-size: clamp(7.33px, calc(11 * var(--vw)), 11px);
  background-repeat: no-repeat;
  background-position: center center;
}

.slide_next {
  background-image: url(../images/common/arrow_btn_R.png);
  background-size: clamp(7.33px, calc(11 * var(--vw)), 11px);
  background-repeat: no-repeat;
  background-position: center center;
}

#case_slider_wrapper #case_bg_line {
  width: 100%;
  position: absolute;
  top: clamp(106.67px, calc(160 * var(--vw)), 160px);
}

.case_notice {
  margin-top: 10px;
  font-size: clamp(8px, calc(12 * var(--vw)), 12px);
  color: #7c8c98;
  text-align: center;
}





.flow_box {
  width: 100%;
  margin-bottom: clamp(13.33px, calc(20 * var(--vw)), 20px);
  padding: clamp(13.33px, calc(20 * var(--vw)), 20px) clamp(36.67px, calc(55 * var(--vw)), 55px) clamp(23.33px, calc(35 * var(--vw)), 35px) clamp(43.33px, calc(65 * var(--vw)), 65px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background-color: var(--bg-white);
}

.flow_box .letter_space {
  letter-spacing: 0;
}




.flow_box h3 {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
  font-size: clamp(26.67px, calc(40 * var(--vw)), 40px);
  color: var(--text-blue);
}

.flow_box h3 span {
  font-size: clamp(12px, calc(18 * var(--vw)), 18px);
  line-height: 2.5;
}


/*---- realestate ----*/

#lead .lead_description h3 span {
  line-height: 1.5;
}

body#realestate #lead .hashtag_box.box_01 img {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
  width: clamp(132.67px, calc(199 * var(--vw)), 199px);
}

body#realestate #lead .hashtag_box.box_02 img {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
  width: clamp(112px, calc(168 * var(--vw)), 168px);
}

body#realestate #lead .hashtag_box.box_03 img {
  margin-bottom: clamp(13.33px, calc(20 * var(--vw)), 20px);
  width: clamp(172.67px, calc(259 * var(--vw)), 259px);
}

body#realestate #lead .hashtag_box.box_04 img {
  margin-bottom: clamp(3.33px, calc(5 * var(--vw)), 5px);
  width: clamp(112.67px, calc(169 * var(--vw)), 169px);
}

body#realestate #lead .hashtag_box.box_05 img {
  margin-bottom: clamp(10px, calc(15 * var(--vw)), 15px);
  width: clamp(157.33px, calc(236 * var(--vw)), 236px);
}

body#realestate #lead .hashtag_box.box_06 img {
  margin-bottom: clamp(11.33px, calc(17 * var(--vw)), 17px);
  width: clamp(103.33px, calc(155 * var(--vw)), 155px);
}

.sect_lead {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  margin-bottom: clamp(43.33px, calc(65 * var(--vw)), 65px);
}


/*---- owner ----*/

#property {
  background: rgba(187, 206, 211, 0.3);
  padding-bottom: clamp(86.67px, calc(130 * var(--vw)), 130px);
}

#property_slider_wrapper {
  margin-top: clamp(43.33px, calc(65 * var(--vw)), 65px);
}


body#owner #case_slider,
body#building #case_slider {
  justify-content: space-between;
  flex-wrap: wrap;
}

body#owner #case_slider .slider_box,
body#building #case_slider .slider_box {
  width: clamp(213.33px, calc(320 * var(--vw)), 320px);
  margin-bottom: clamp(23.33px, calc(35 * var(--vw)), 35px);
  padding: 0;
}


body#owner #case_slider::after,
body#building #case_slider::after {
  content: "";
  display: block;
  width: clamp(213.33px, calc(320 * var(--vw)), 320px);
  height: 0;
}

body#owner #case_slider .slider_container,
body#building #case_slider .slider_container {
  margin-bottom: clamp(6.67px, calc(10 * var(--vw)), 10px);
}



small {
  font-size: small;
}


#achievements {
  display: flex;
  flex-wrap: wrap;
}

#achievements .hashtag_box_frame {
  width: 50%;
}

#achievements .hashtag_box_frame_inner {
  height: 100%;
  padding: clamp(20px, calc(30 * var(--vw)), 30px) clamp(26.67px, calc(40 * var(--vw)), 40px);
  display: flex;
  flex-direction: column;
  align-items: center;
}

#achievements .hashtag_box_frame_inner h3 {
  font-size: clamp(26.67px, calc(40 * var(--vw)), 40px);
  color: var(--text-blue);
  text-align: center;
  line-height: 1.5;
}

#achievements .hashtag_box_frame_inner h3 span {
  font-size: 0.7em;
  display: block;
}

.img_data {
  height: clamp(116.67px, calc(175 * var(--vw)), 175px);
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img_data.img_data_01 img {
  width: clamp(150.67px, calc(226 * var(--vw)), 226px);
}

.img_data.img_data_02 img {
  width: clamp(217.33px, calc(326 * var(--vw)), 326px);
}

.img_data.img_data_03 img {
  width: clamp(208px, calc(312 * var(--vw)), 312px);
}

.img_data.img_data_04 img {
  width: clamp(337.33px, calc(506 * var(--vw)), 506px);
}



.img_service {
  height: clamp(116.67px, calc(175 * var(--vw)), 175px);
  margin-top: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.img_service.img_service_01 img {
  width: clamp(180px, calc(240 * var(--vw)), 240px);
}

.img_service.img_service_02 img {
  width: clamp(140px, calc(220 * var(--vw)), 220px);
}

.img_service.img_service_03 img {
  width: clamp(208px, calc(312 * var(--vw)), 312px);
}

.img_service.img_service_04 img {
  width: clamp(120px, calc(170 * var(--vw)), 170px);
}

.img_service.img_service_05 img {
  width: clamp(240px, calc(340 * var(--vw)), 340px);
}

.img_service.img_service_06 img {
  width: clamp(120px, calc(170 * var(--vw)), 170px);
}


#achievements .hashtag_box_frame_inner p {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  margin-top: 20px;
}

.notice_achievements {
  margin-top: clamp(26.67px, calc(40 * var(--vw)), 40px);
  text-align: center;
  font-size: clamp(8px, calc(12 * var(--vw)), 12px);
  font-weight: 500;
  color: #7c8c98;
}



/*---- philosophy ----*/

.philosophy_lead h3 {
  font-size: clamp(30px, calc(40 * var(--vw)), 40px);
  font-weight: 600;
  color: var(--text-blue);
  margin-bottom: clamp(36.67px, calc(55 * var(--vw)), 55px);
}

.philosophy_lead p {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  margin-bottom: clamp(20px, calc(30 * var(--vw)), 30px);
}

body#company section#about {
  padding-top: 0;
}

#about .sect_box {
  display: flex;
  justify-content: space-between;
}

#about .sect_box_L .hashtag_box_frame_inner {
  /*width: clamp(413.33px, calc(620 * var(--vw)), 620px);*/
  width: clamp(320px, calc(500 * var(--vw)), 500px);
  height: clamp(186.67px, calc(280 * var(--vw)), 280px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--bg-white);
}

#about #info_miyasangyo .hashtag_box_frame_inner img {
  width: clamp(218.67px, calc(328 * var(--vw)), 328px);
}

#about #info_miyaestate .hashtag_box_frame_inner img {
  width: clamp(254px, calc(381 * var(--vw)), 381px);
}

#about .sect_box_R {
  /*width: clamp(420px, calc(630 * var(--vw)), 630px);*/
  width: clamp(460px, calc(700 * var(--vw)), 700px);
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

#info_miyasangyo {
  margin-bottom: clamp(93.33px, calc(140 * var(--vw)), 140px);
}

#about .sect_box_R th,
#about .sect_box_R td {
  vertical-align: top;
  text-align: left;
}

#about .sect_box_R th {
  color: var(--text-blue);
  font-weight: 600;
  line-height: 2.5;
  padding-right: clamp(33.33px, calc(50 * var(--vw)), 50px);
}

#about .sect_box_R td {
  width: clamp(300px, calc(450 * var(--vw)), 450px);
  line-height: 2.5;
}

section#history {
  background: rgba(187, 206, 211, 0.3);
}



#history .flow_wrapper::before {
  display: none;
}

.history_list .flow_box {
  padding: clamp(23.33px, calc(35 * var(--vw)), 35px) 0 clamp(26.67px, calc(40 * var(--vw)), 40px) clamp(43.33px, calc(65 * var(--vw)), 65px);
}

.history_list .flow_box h3 {
  font-size: clamp(10.67px, calc(16 * var(--vw)), 16px);
  margin-bottom: clamp(3.33px, calc(5 * var(--vw)), 5px);
}

.history_list .flow_box p {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

.philosophy_box {
  padding: 0 clamp(120px, calc(180 * var(--vw)), 180px);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.philosophy_box .sect_box_L {
  width: 46%;
}

.philosophy_box .sect_box_R {
  width: 44%;
}

.philosophy_box .sect_box_R img {
  width: 100%;
  aspect-ratio: 620 / 413;
}

/*---- contact ----*/

#sect_contact .sect_inner1400 {
  width: 72.92%;
}

#sect_contact .sect_box p.sect_lead {
  margin-bottom: clamp(96.67px, calc(145 * var(--vw)), 145px);
}

#sect_contact .sect_box p.sect_lead a:link {
  text-decoration: underline;
  color: var(--text-color);
}

#sect_contact .sect_box p.sect_lead a:visited {
  text-decoration: underline;
  color: var(--text-color);
}

#sect_contact .sect_box p.sect_lead a:hover {
  text-decoration: underline;
  color: var(--hover-blue);
}

.contact_tel {
  background: var(--bg-gray);
}

.contact_tel .hashtag_box_frame_bg {
  background: var(--bg-gray);
}

.hashtag_box.contact_tel hashtag_box_frame_bg {
  width: calc(100% - clamp(26.67px, calc(40 * var(--vw)), 40px));
  height: calc(100% - clamp(26.67px, calc(40 * var(--vw)), 40px));
  background: var(--bg-blue-gray);
  position: absolute;
  z-index: -1;
  top: clamp(13.33px, calc(20 * var(--vw)), 20px);
  left: clamp(13.33px, calc(20 * var(--vw)), 20px);
}


.hashtag_box.contact_tel .hashtag_box_inner {
  width: clamp(906.67px, calc(1360 * var(--vw)), 1360px);
  height: clamp(246.67px, calc(370 * var(--vw)), 370px);
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hashtag_box.contact_tel dl {
  width: 66.1%;
  margin-bottom: clamp(26.67px, calc(40 * var(--vw)), 40px);
  display: flex;
  justify-content: flex-start;
}

.hashtag_box.contact_tel dt {
  width: clamp(169.33px, calc(254 * var(--vw)), 254px);
  margin-right: clamp(33.33px, calc(50 * var(--vw)), 50px);
}

.hashtag_box.contact_tel dt.contact_logo_miyasangyo img {
  width: clamp(145.33px, calc(218 * var(--vw)), 218px);
}

.hashtag_box.contact_tel dt.contact_logo_miyaestate img {
  width: clamp(169.33px, calc(254 * var(--vw)), 254px);
}

.hashtag_box.contact_tel dd.type {
  width: clamp(152px, calc(228 * var(--vw)), 228px);
  margin-right: clamp(26.67px, calc(40 * var(--vw)), 40px);
  font-size: clamp(16px, calc(24 * var(--vw)), 24px);
  font-weight: 500;
  line-height: 1;
  color: var(--bg-white);
  background-color: var(--bg-blue);
  display: flex;
  justify-content: center;
  align-items: center;
}

.hashtag_box.contact_tel dd.tel_number {
  font-size: clamp(16px, calc(24 * var(--vw)), 24px);
  color: var(--text-blue);
  font-weight: 500;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hashtag_box.contact_tel .reception_hours {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  line-height: 1;
  margin-top: 30px;
  font-weight: 500;
}

#contact_form {
  margin-top: clamp(90px, calc(135 * var(--vw)), 135px);
}

#contact_form dl {
  display: flex;
  margin-bottom: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

#contact_form dl.contact_category {
  margin-bottom: clamp(33.33px, calc(50 * var(--vw)), 50px);
}

#contact_form dt {
  width: clamp(193.33px, calc(290 * var(--vw)), 290px);
  padding-top: clamp(10px, calc(15 * var(--vw)), 15px);
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
  color: var(--text-blue);
  font-weight: 500;
  line-height: 1;
}

#contact_form dt span {
  font-size: clamp(9.33px, calc(14 * var(--vw)), 14px);
  display: inline-block;
  color: var(--bg-white);
  margin-left: clamp(13.33px, calc(20 * var(--vw)), 20px);
  padding: clamp(1.33px, calc(2 * var(--vw)), 2px) clamp(3.33px, calc(5 * var(--vw)), 5px);
}

#contact_form dt span.required {
  background-color: var(--bg-blue);
}

#contact_form dt span.optional {
  background-color: #c3c3c3;
}

#contact_form dd {
  width: clamp(393.33px, calc(590 * var(--vw)), 590px);
  font-weight: 500;
}

#contact_form dd label {
  display: block;
  margin-bottom: clamp(10px, calc(15 * var(--vw)), 15px);
}

#contact_form dd input[type="text"] {
  width: 100%;
  height: clamp(33.33px, calc(50 * var(--vw)), 50px);
  padding: 0 clamp(13.33px, calc(20 * var(--vw)), 20px);
  border: solid 1px var(--border-black);
  font-size: clamp(12px, calc(18 * var(--vw)), 18px);
  font-family: "Noto Sans JP", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  line-height: 1;
}

#contact_form dd textarea {
  width: 100%;
  height: clamp(153.33px, calc(230 * var(--vw)), 230px);
  padding: clamp(6.67px, calc(10 * var(--vw)), 10px) clamp(13.33px, calc(20 * var(--vw)), 20px);
  border: solid 1px var(--border-black);
  font-family: "Noto Sans JP", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  line-height: 1.75;
  font-size: clamp(12px, calc(18 * var(--vw)), 18px);
}

#contact_form input::placeholder,
#contact_form dd textarea::placeholder {
  color: #c3c3c3;
  letter-spacing: 0.1em;
}

#contact_form input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  accent-color: var(--bg-black);
  width: clamp(13.33px, calc(20 * var(--vw)), 20px);
  height: clamp(13.33px, calc(20 * var(--vw)), 20px);
  border: solid 1px var(--border-black);
  background-color: var(--bg-white);
  cursor: pointer;
  vertical-align: middle;
  margin-right: clamp(10px, calc(15 * var(--vw)), 15px);
}

#contact_form input[type="checkbox"]:checked {
  background-color: var(--bg-black);
  position: relative;
}

#contact_form input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: clamp(3.33px, calc(5 * var(--vw)), 5px);
  top: 1px;
  width: clamp(3.33px, calc(5 * var(--vw)), 5px);
  height: clamp(6.67px, calc(10 * var(--vw)), 10px);
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.agree {
  margin-top: clamp(100px, calc(150 * var(--vw)), 150px);
  text-align: center;
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

.agree a:link {
  text-decoration: underline;
  color: var(--text-color);
}

.agree a:visited {
  text-decoration: underline;
  color: var(--text-color);
}

.agree a:hover {
  text-decoration: underline;
  color: var(--hover-blue);
}

.btn_submit {
  margin-top: clamp(56.67px, calc(85 * var(--vw)), 85px);
}

.btn_submit .btn_more {
  margin: 0 auto;
  width: clamp(266.67px, calc(400 * var(--vw)), 400px);
  height: clamp(42.67px, calc(64 * var(--vw)), 64px);
  position: relative;
}

.btn_submit .btn_more input[type="submit"] {
  display: block;
  width: 100%;
  height: 100%;
  padding-left: clamp(26.67px, calc(40 * var(--vw)), 40px);
  background-color: var(--bg-black);
  display: flex;
  align-items: center;
  text-align: left;
  -webkit-transition: all .2s;
  transition: all .2s;
  cursor: pointer;
  color: var(--text-white);
  border: none;
  font-family: "Noto Sans JP", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: clamp(12px, calc(18 * var(--vw)), 18px);
}

.btn_submit .btn_more::before {
  content: '';
  position: absolute;
  width: clamp(64px, calc(96 * var(--vw)), 96px);
  height: 1px;
  background:
    repeating-linear-gradient(to right,
      var(--border-white) 0 clamp(16px, calc(24 * var(--vw)), 24px),
      transparent clamp(16px, calc(24 * var(--vw)), 24px) clamp(18.67px, calc(28 * var(--vw)), 28px),
      var(--border-white) clamp(18.67px, calc(28 * var(--vw)), 28px) clamp(21.33px, calc(32 * var(--vw)), 32px),
      transparent clamp(21.33px, calc(32 * var(--vw)), 32px) clamp(24px, calc(36 * var(--vw)), 36px),
      var(--border-white) clamp(24px, calc(36 * var(--vw)), 36px) clamp(40px, calc(60 * var(--vw)), 60px),
      transparent clamp(40px, calc(60 * var(--vw)), 60px) clamp(42.67px, calc(64 * var(--vw)), 64px),
      var(--border-white) clamp(42.67px, calc(64 * var(--vw)), 64px) clamp(45.33px, calc(68 * var(--vw)), 68px),
      transparent clamp(45.33px, calc(68 * var(--vw)), 68px) clamp(48px, calc(72 * var(--vw)), 72px),
      var(--border-black) clamp(48px, calc(72 * var(--vw)), 72px) clamp(64px, calc(96 * var(--vw)), 96px));

  top: 50%;
  transform: translateY(-50%);
  right: clamp(-24px, calc(-24 * var(--vw)), -16px);
  z-index: 9;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn_submit .btn_more::after {
  content: '';
  position: absolute;
  width: clamp(10px, calc(15 * var(--vw)), 15px);
  height: clamp(10px, calc(15 * var(--vw)), 15px);
  border-right: solid 1px var(--border-black);
  border-bottom: solid 1px var(--border-black);
  right: clamp(-21px, calc(-21 * var(--vw)), -14px);
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn_submit .btn_more input[type="submit"]:hover {
  background-color: var(--hover-blue);
}

.btn_submit .btn_more:hover::before {
  transform: translateX(clamp(5.33px, calc(8 * var(--vw)), 8px)) translateY(-50%);
  background:
    repeating-linear-gradient(to right,
      var(--border-white) 0 clamp(16px, calc(24 * var(--vw)), 24px),
      transparent clamp(16px, calc(24 * var(--vw)), 24px) clamp(18.67px, calc(28 * var(--vw)), 28px),
      var(--border-white) clamp(18.67px, calc(28 * var(--vw)), 28px) clamp(21.33px, calc(32 * var(--vw)), 32px),
      transparent clamp(21.33px, calc(32 * var(--vw)), 32px) clamp(24px, calc(36 * var(--vw)), 36px),
      var(--border-white) clamp(24px, calc(36 * var(--vw)), 36px) clamp(40px, calc(60 * var(--vw)), 60px),
      transparent clamp(40px, calc(60 * var(--vw)), 60px) clamp(42.67px, calc(64 * var(--vw)), 64px),
      var(--border-black) clamp(42.67px, calc(64 * var(--vw)), 64px) clamp(45.33px, calc(68 * var(--vw)), 68px),
      transparent clamp(45.33px, calc(68 * var(--vw)), 68px) clamp(48px, calc(72 * var(--vw)), 72px),
      var(--border-black) clamp(48px, calc(72 * var(--vw)), 72px) clamp(64px, calc(96 * var(--vw)), 96px));
}

.btn_submit .btn_more:hover::after {
  transform: translateY(-50%) translateX(clamp(5.33px, calc(8 * var(--vw)), 8px)) rotate(-45deg);
}

#sect_privacy {
  background: rgba(187, 206, 211, 0.3);
}

.privacy_box {
  margin-bottom: clamp(23.33px, calc(35 * var(--vw)), 35px);
  line-height: 2;
}

.privacy_box h3 {
  font-size: clamp(13.33px, calc(20 * var(--vw)), 20px);
}

.privacy_box p.indent {
  margin-left: 1em;
}

.h3_sect_lead {
  font-weight: 600;
  font-size: clamp(26.67px, calc(40 * var(--vw)), 40px);
  color: var(--text-blue);
  margin-bottom: clamp(36.67px, calc(55 * var(--vw)), 55px);
}


/*-----------------------------------------------------
  footer
------------------------------------------------------*/

body.subpage footer {
  position: relative;
  bottom: inherit;
}


/* ===================================
   PC表示：画面右下に追従
   =================================== */
.floating-nav {
  position: fixed;
  right: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
}

.floating-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: normal;
  width: 200px;
  /* 文字が短いので少し細めに変更 */
  height: 60px;
  padding: 14px 10px;
  border-radius: 10px;
  /* 丸みをつけて押しやすいボタンデザインに */
  color: #ffffff !important;
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* ホバー時の動き */
.floating-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* 各事業の背景色 */
.btn-a {
  background-color: var(--text-light-blue);
}

/* A事業の色 */
.btn-b {
  background-color: #AEAE5F
}

/* B事業の色 */
.btn-c {
  background-color: #5BA9A2;
}

/* C事業の色 */


/* ===================================
   スマホ表示：画面下部に横並びで固定
   =================================== */
@media (max-width: 768px) {
  .floating-nav {
    right: 0;
    bottom: 0;
    left: 0;
    flex-direction: row;
    /* 横並び */
    gap: 8px;
    /* ボタン間の余白 */
    background-color: rgba(255, 255, 255, 0.95);
    /* 少し背景を透けさせる */
    backdrop-filter: blur(4px);
    /* 背景ぼかし効果 */
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    padding: 10px;
  }

  .floating-btn {
    flex: 1;
    /* 残ったボタンで画面幅を均等分割 */
    width: auto;
    border-radius: 6px;
    padding: 12px 5px;
    font-size: 13px;
  }
}



/*-----------------------------------------------------

  SP layout

------------------------------------------------------*/


@media screen and (max-width: 767px) {


  /*-----------------------------------------------------
  SP general　
-----------------------------------------------------*/

  #wrapper {
    overflow: hidden;
  }

  /*-----------------------------------------------------
  SP header　
-----------------------------------------------------*/

  .breadcrumbs {
    padding: calc(32 * var(--vw-sp)) calc(32 * var(--vw-sp)) 0 0;
  }

  .breadcrumbs li {
    font-size: calc(18 * var(--vw-sp));
  }

  #page_header {
    padding-bottom: calc(140 * var(--vw-sp));
  }

  #page_header h1 {
    font-size: calc(60 * var(--vw-sp));
    line-height: 1.75;
    margin: calc(80 * var(--vw-sp)) calc(75 * var(--vw-sp)) calc(45 * var(--vw-sp));
  }

  #page_header h2 {
    margin: 0 calc(75 * var(--vw-sp)) 0 calc(75 * var(--vw-sp));
    font-size: calc(30 * var(--vw-sp));
  }


  /*-----------------------------------------------------
  SP contents　
-----------------------------------------------------*/



  .sect_inner1400 {
    width: 100%;
  }

  main section {
    padding: calc(140 * var(--vw-sp)) 0;
  }

  main section h2 {
    margin-bottom: calc(150 * var(--vw-sp));
  }

  #lead .lead_description .sect_box_R {
    width: 100%;
  }

  #lead .lead_description {
    flex-direction: column-reverse;
    margin: 0 auto calc(160 * var(--vw-sp));
  }

  #lead .lead_description h3 {
    font-size: calc(56 * var(--vw-sp));
    line-height: 1.2;
    margin: 0 0 calc(55 * var(--vw-sp));
  }

  #lead .lead_description h3 span {
    font-size: calc(40 * var(--vw-sp));
    line-height: 1.6;
  }

  #lead .lead_description .hashtag_box_photo img {
    width: calc(600* var(--vw-sp));
  }

  #lead .sect_box p {
    font-size: calc(30 * var(--vw-sp));
  }

  #lead .lead_description .sect_box_R {
    width: 80%;
    margin: 0 auto calc(75 * var(--vw-sp));
  }

  #lead .lead_description .sect_box_L {
    width: 90.6667%;
    margin: 0 auto;
  }

  #lead .lead_service {
    flex-direction: column;
    margin: 0 auto calc(160 * var(--vw-sp));
  }

  #lead .lead_service .sect_box_L {
    width: 80%;
    margin: 0 auto calc(70 * var(--vw-sp));
  }

  #lead .lead_service h3 .h3_en {
    font-size: calc(20 * var(--vw-sp));
  }

  #lead .lead_service h3 {
    font-size: calc(60 * var(--vw-sp));
  }

  #lead .lead_service .sect_box_R {
    width: auto;
    margin: 0 calc(11 * var(--vw-sp));
  }

  #lead .hashtag_box {
    width: calc(364 * var(--vw-sp));
    height: calc(280 * var(--vw-sp));
  }

  body#realestate #lead .hashtag_box.box_01 img {
    width: calc(199 * var(--vw-sp));
    margin-bottom: 0;
  }

  body#realestate #lead .hashtag_box.box_02 img {
    width: calc(168 * var(--vw-sp));
    margin-bottom: 0;
  }

  body#realestate #lead .hashtag_box.box_03 img {
    width: calc(259 * var(--vw-sp));
    margin-bottom: 0;
  }

  body#realestate #lead .hashtag_box.box_04 img {
    width: calc(169 * var(--vw-sp));
    margin-bottom: calc(-10 * var(--vw-sp));
  }

  body#realestate #lead .hashtag_box.box_05 img {
    width: calc(236 * var(--vw-sp));
    margin-bottom: 0;
  }

  body#realestate #lead .hashtag_box.box_06 img {
    width: calc(155 * var(--vw-sp));
    margin-bottom: 0;
  }


  #lead .hashtag_box figcaption span {
    font-size: calc(20 * var(--vw-sp));
    padding: 1px calc(7 * var(--vw-sp)) calc(3 * var(--vw-sp));
  }

  #lead .hashtag_box figcaption {
    margin-bottom: calc(40 * var(--vw-sp));
  }

  body#building #lead .hashtag_box.box_01 img {
    margin-bottom: 0;
    width: calc(181* var(--vw-sp))
  }

  body#building #lead .hashtag_box.box_02 img {
    margin-bottom: 0;
    width: calc(197* var(--vw-sp))
  }

  body#building #lead .hashtag_box.box_03 img {
    margin-bottom: 0;
    width: calc(195* var(--vw-sp))
  }

  body#building #lead .hashtag_box.box_04 img {
    margin-bottom: calc(-10 * var(--vw-sp));
    width: calc(169* var(--vw-sp))
  }


  .sect_lead {
    width: 80%;
    margin: 0 calc(65 * var(--vw-sp));
    font-size: calc(30 * var(--vw-sp));
  }

  main section#lead {
    padding-bottom: 0;
  }

  #case {
    margin-top: calc(140 * var(--vw-sp));
    padding-top: calc(140 * var(--vw-sp));
  }

  #case .sect_box p.sect_lead {
    margin-bottom: calc(65 * var(--vw-sp));
  }

  .hashtag_box.list_contents {
    margin: auto;
    width: calc(680 * var(--vw-sp));
  }

  .hashtag_box.list_contents dl {
    margin: calc(80 * var(--vw-sp)) 0 0;
    flex-direction: column;
    align-items: center;
  }

  #case .hashtag_box.list_contents dt {
    width: calc(410 * var(--vw-sp));
    height: calc(37 * var(--vw-sp));
    font-size: calc(32 * var(--vw-sp));
    margin: 0 0 calc(35 * var(--vw-sp));
    line-height: calc(37 * var(--vw-sp));
  }

  .hashtag_box.list_contents dd {
    text-align: center;
  }

  #case .hashtag_box.list_contents dd {
    margin-bottom: calc(70 * var(--vw-sp));
    font-weight: 400;
  }

  #case_slider {
    width: calc(680 * var(--vw-sp));
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 0;
  }

  #case_slider .slider_container {
    width: calc(320 * var(--vw-sp));
    height: calc(320 * var(--vw-sp));
    margin-bottom: calc(15 * var(--vw-sp));
  }

  #case_slider .swiper-slide img {
    width: calc(320 * var(--vw-sp));
  }

  #case_slider .case_number {
    display: none;
  }

  #case_slider .slider_box {
    width: calc(320 * var(--vw-sp));
    margin-bottom: calc(80 * var(--vw-sp));
    padding-left: 0;
  }

  #case_slider .slider_box:nth-child(odd) {
    margin-right: calc(40 * var(--vw-sp));
  }

  .slide_prev,
  .slide_next {
    width: calc(50 * var(--vw-sp));
    height: calc(50 * var(--vw-sp));
    background-size: calc(11 * var(--vw-sp)) auto;
  }

  .case_notice {
    font-size: calc(20 * var(--vw-sp));
    margin-top: 0;
  }

  #case_slider_wrapper #case_bg_line {
    display: none;
  }

  .feature_box {
    width: 80%;
    margin: 0 auto calc(130 * var(--vw-sp));
  }

  .feature_box h3 {
    font-size: calc(40 * var(--vw-sp));
    margin-bottom: calc(50 * var(--vw-sp));
  }

  /*
.feature_box h3 span {
  font-size: 1.4em;
  line-height: 1.5;
}*/

  .feature_box p {
    font-size: calc(30 * var(--vw-sp));
  }

  #realestate .feature_box .btn_more {
    margin-top: calc(60 * var(--vw-sp));
  }

  main section#flow {
    padding-top: 0;
  }


  section#flow .sect_inner880 {
    width: 80%;
    margin: 0 auto;
  }

  body#building .flow_wrapper::before {
    height: calc(100% - calc(384 * var(--vw-sp)));
    left: calc(-75 * var(--vw-sp));
    margin-left: 0;
    transform: translateY(calc(-50% - calc(15 * var(--vw-sp))));
  }

  .flow_box {
    padding: calc(55 * var(--vw-sp)) calc(50 * var(--vw-sp));
    margin-bottom: calc(20 * var(--vw-sp));
  }

  .flow_box h3 {
    margin-bottom: calc(35 * var(--vw-sp));
    font-size: calc(40 * var(--vw-sp));
    line-height: 1;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
  }

  .flow_box h3 span {
    font-size: calc(30 * var(--vw-sp));
    line-height: 1;
  }

  .flow_box h3.line_height {
    line-height: 1.3;
  }

  .flow_box p {
    font-size: calc(24 * var(--vw-sp));
  }



  /*---- owner ----*/

  body#owner #lead .lead_description h3 span {
    line-height: 2;
  }

  #property {
    margin-top: 0;
    padding-top: calc(140 * var(--vw-sp));
    padding-bottom: calc(90 * var(--vw-sp));
  }

  .sect_inner1120 {
    width: 100%;
  }

  body#owner #case_slider .slider_box,
  body#building #case_slider .slider_box {
    width: calc(320 * var(--vw-sp));
    margin-bottom: calc(60 * var(--vw-sp));
  }


  #achievements {
    width: 90.6667%;
    margin: calc(70 * var(--vw-sp)) auto 0;
    flex-direction: column;
  }

  #achievements .hashtag_box_frame {
    width: 100%;
  }

  #achievements .hashtag_box_frame_inner {
    padding: calc(30 * var(--vw-sp)) calc(40 * var(--vw-sp));
  }

  #achievements .hashtag_box_frame_inner h3 {
    font-size: calc(40 * var(--vw-sp));
  }

  #achievements .hashtag_box_frame_inner p {
    font-size: calc(30 * var(--vw-sp));
  }

  .img_data {
    height: auto;
    margin: 10px;
    padding: calc(25 * var(--vw-sp)) 0 calc(15 * var(--vw-sp));
  }

  .img_data.img_data_01 img {
    width: calc(304 * var(--vw-sp));
  }

  .img_data.img_data_02 img {
    width: calc(457 * var(--vw-sp));
  }

  .img_data.img_data_03 img {
    width: calc(362 * var(--vw-sp));
  }

  .img_data.img_data_04 img {
    width: calc(514 * var(--vw-sp));
  }

  .notice_achievements {
    font-size: calc(20 * var(--vw-sp));
  }


  .img_service {
    height: 100px;
    margin-top: 10px;
    padding: calc(25 * var(--vw-sp)) 0 calc(15 * var(--vw-sp));
  }

  .img_service.img_service_01 img {
    width: calc(304 * var(--vw-sp));
  }

  .img_service.img_service_02 img {
    width: calc(240 * var(--vw-sp));
  }

  .img_service.img_service_03 img {
    width: calc(400 * var(--vw-sp));
  }

  .img_service.img_service_04 img {
    width: calc(180 * var(--vw-sp));
  }

  .img_service.img_service_05 img {
    width: calc(420 * var(--vw-sp));
  }

  .img_service.img_service_06 img {
    width: calc(200 * var(--vw-sp));
  }

  .notice_achievements {
    font-size: calc(20 * var(--vw-sp));
  }



  /*---- company ----*/

  body#company #page_header h1 {
    margin-bottom: 0;
  }

  #philosophy .philosophy_lead {
    width: 80%;
    margin: 0 auto;
    margin-bottom: calc(125 * var(--vw-sp));
  }

  .philosophy_lead h3 {
    font-size: calc(50 * var(--vw-sp));
    line-height: 2;
  }

  .philosophy_lead p {
    font-size: calc(30 * var(--vw-sp));
    margin-bottom: calc(50 * var(--vw-sp));
  }

  #about .sect_box {
    width: 90.6667%;
    margin: 0 auto;
    flex-direction: column;
  }

  #about .hashtag_box_frame {
    width: 100%;
  }

  #about .sect_box_L .hashtag_box_frame_inner {
    width: 100%;
    height: calc(315 * var(--vw-sp));
  }

  #info_miyasangyo .hashtag_box_frame_inner img {
    width: calc(328 * var(--vw-sp));
  }

  #info_miyaestate .hashtag_box_frame_inner img {
    width: calc(312 * var(--vw-sp));
  }

  #about .sect_box_L {
    margin-bottom: calc(70 * var(--vw-sp));
  }

  #about .sect_box_R {
    width: 94%;
    font-size: calc(28 * var(--vw-sp));
    margin: 0 auto;
  }

  #about .sect_box_R table {
    width: 100%;
  }

  #about .sect_box_R th {
    padding-right: 0;
  }

  #about .sect_box_R td {
    width: calc(450 * var(--vw-sp));
    padding-left: 16px;
  }

  #about .sect_box#info_miyasangyo {
    margin-bottom: calc(140 * var(--vw-sp));
  }

  #history .sect_inner880 {
    width: 90.6667%;
  }

  .history_list .flow_box {
    padding: calc(50 * var(--vw-sp)) calc(42 * var(--vw-sp)) calc(50 * var(--vw-sp)) calc(52 * var(--vw-sp));
  }

  .history_list .flow_box h3 {
    font-size: calc(28 * var(--vw-sp));
  }

  .history_list .flow_box p {
    font-size: calc(30 * var(--vw-sp));
  }

  .philosophy_box {
    display: block;
    padding: 0;
  }

  .philosophy_box .sect_box_R {
    width: 90.6667%;
    margin: 0 auto;
  }

  /*---- contact ----*/

  #contact #page_header h1 {
    margin-bottom: 0;
  }

  #contact main section h2 .h2_jp {
    font-size: calc(50 * var(--vw-sp));
  }

  #sect_contact .sect_inner1400 {
    width: 100%;
  }

  #sect_contact .sect_box p.sect_lead {
    margin-bottom: calc(145 * var(--vw-sp));
  }

  .hashtag_box.contact_tel {
    width: 90.667%;
    height: auto;
    margin: 0 auto;
  }

  .hashtag_box.contact_tel .hashtag_box_inner {
    width: 100%;
    height: auto;
    margin: 0;
    padding: calc(75 * var(--vw-sp)) 0 calc(40 * var(--vw-sp));
    flex-direction: column;
    align-items: center;
  }

  .hashtag_box.contact_tel dl {
    width: auto;
    margin-bottom: calc(75 * var(--vw-sp));
    flex-direction: column;
    align-items: center;
  }

  .hashtag_box.contact_tel dt {
    width: 100%;
    margin: 0 0 calc(42 * var(--vw-sp));
    display: flex;
    justify-content: center;
  }

  .hashtag_box.contact_tel dt.contact_logo_miyasangyo img {
    width: calc(285 * var(--vw-sp));
  }

  .hashtag_box.contact_tel dt.contact_logo_miyaestate img {
    width: calc(332 * var(--vw-sp));
  }

  .hashtag_box.contact_tel dd.type {
    width: calc(404 * var(--vw-sp));
    margin: 0 0 calc(35 * var(--vw-sp));
    padding: 0 0 calc(5 * var(--vw-sp));
    font-size: calc(36 * var(--vw-sp));
  }

  .hashtag_box.contact_tel dd.tel_number {
    font-size: calc(36 * var(--vw-sp));
  }

  .hashtag_box.contact_tel .reception_hours {
    font-size: calc(30 * var(--vw-sp));
  }

  #contact_form dl {
    flex-direction: column;
  }

  .sect_inner880 {
    width: 100%;
  }

  #contact_form {
    width: 90.667%;
    margin: calc(155 * var(--vw-sp)) auto 0;
  }

  #contact_form dl,
  #contact_form dl.contact_category {
    margin-bottom: calc(45 * var(--vw-sp));
  }

  #contact_form dt {
    width: 100%;
    margin-bottom: calc(28 * var(--vw-sp));
    font-size: calc(30 * var(--vw-sp));
  }

  #contact_form dt span {
    margin-left: calc(20 * var(--vw-sp));
    padding: calc(2 * var(--vw-sp)) calc(5 * var(--vw-sp));
    font-size: calc(24 * var(--vw-sp));
  }

  #contact_form dd {
    width: 100%;
    font-size: calc(28 * var(--vw-sp));
    font-weight: 400;
  }

  #contact_form input[type="checkbox"] {
    width: calc(30 * var(--vw-sp));
    height: calc(30 * var(--vw-sp));
    margin: 0 calc(10 * var(--vw-sp)) 0 0;
  }

  #contact_form input[type="checkbox"]:checked::after {
    width: calc(8 * var(--vw-sp));
    height: calc(17 * var(--vw-sp));
    left: calc(8 * var(--vw-sp));
  }

  #contact_form dd input[type="text"] {
    width: 100%;
    height: calc(100 * var(--vw-sp));
    padding: 0 calc(42 * var(--vw-sp));
    font-size: calc(30 * var(--vw-sp));
  }

  #contact_form dd textarea {
    width: 100%;
    height: calc(360 * var(--vw-sp));
    font-size: calc(30 * var(--vw-sp));
    padding: calc(20 * var(--vw-sp)) calc(42 * var(--vw-sp));
  }

  .agree {
    font-size: calc(30 * var(--vw-sp));
    margin-top: calc(150 * var(--vw-sp));
  }

  .btn_submit {
    margin-top: calc(75 * var(--vw-sp));
  }

  .btn_submit .btn_more {
    width: calc(600 * var(--vw-sp));
    height: calc(96 * var(--vw-sp));
    position: relative;
    font-size: calc(30 * var(--vw-sp));
  }

  .btn_submit .btn_more input[type="submit"] {
    display: block;
    width: 100%;
    height: 100%;
    padding-left: calc(60 * var(--vw-sp));
    background-color: var(--bg-black);
    display: flex;
    align-items: center;
    -webkit-transition: all .2s;
    transition: all .2s;
    font-size: calc(30 * var(--vw-sp));
  }

  .btn_submit .btn_more::before {
    content: '';
    position: absolute;
    width: calc(96 * var(--vw-sp));
    height: 1px;
    background:
      repeating-linear-gradient(to right,
        var(--border-white) 0 calc(24 * var(--vw-sp)),
        transparent calc(24 * var(--vw-sp)) calc(28 * var(--vw-sp)),
        var(--border-white) calc(28 * var(--vw-sp)) calc(32 * var(--vw-sp)),
        transparent calc(32 * var(--vw-sp)) calc(36 * var(--vw-sp)),
        var(--border-white) calc(36 * var(--vw-sp)) calc(60 * var(--vw-sp)),
        transparent calc(60 * var(--vw-sp)) calc(64 * var(--vw-sp)),
        var(--border-black) calc(64 * var(--vw-sp)) calc(68 * var(--vw-sp)),
        transparent calc(68 * var(--vw-sp)) calc(72 * var(--vw-sp)),
        var(--border-black) calc(72 * var(--vw-sp)) calc(96 * var(--vw-sp)));

    top: 50%;
    transform: translateY(-50%);
    right: calc(-32 * var(--vw-sp));
    z-index: 9;
    -webkit-transition: all .3s;
    transition: all .3s;
  }

  .btn_submit .btn_more::after {
    content: '';
    position: absolute;
    width: calc(15 * var(--vw-sp));
    height: calc(15 * var(--vw-sp));
    border-right: solid 1px var(--border-black);
    border-bottom: solid 1px var(--border-black);
    right: calc(-29 * var(--vw-sp));
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transition: all .3s;
    transition: all .3s;
  }

  main section h2#privacy_tit {
    margin-bottom: calc(65 * var(--vw-sp));
  }

  .privacy_box {
    margin: 0 calc(57 * var(--vw-sp));
    line-height: 1.75;
  }

  .privacy_box h3 {
    font-size: calc(32 * var(--vw-sp));
  }

  .privacy_box p {
    font-size: calc(30 * var(--vw-sp));
    margin-bottom: calc(55 * var(--vw-sp));
  }

  .h3_sect_lead {
    width: 80%;
    margin: 0 calc(65 * var(--vw-sp)) calc(65 * var(--vw-sp));
    font-size: calc(40 * var(--vw-sp));
    line-height: 1.5;
  }




  footer .footer_inner {
    padding-top: calc(100 * var(--vw-sp));
  }

}