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

body,form,fieldset{margin: 0px;padding: 0px;}
fieldset          {border:none;}
h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,dd{margin: 0px;padding: 0px;}
blockquote,li,dt,dd{}
li                {list-style:none;}
input,textarea    {font-size: 1em; font-family: inherit;}
img{border: 0px none;margin: 0;padding: 0;vertical-align: bottom;}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html              {scroll-behavior: smooth; height:100%;}

/* Tag Castam ----------------------------------------------------------------------------------------------------------------- */
@media(min-width: 920px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}	



body              { font-family: "a-otf-ud-shin-maru-go-pr6n", sans-serif; font-style: normal;     font-weight: 500; color: #000; font-feature-settings: "palt"; overflow:hidden auto;}
em                {font-weight: normal;font-style: normal;}
strong            {}
a                 {text-decoration: none; color: #000;}
a:link            {}
a:visited         {}
a:active          {}
a:focus           {}


.ma5              {margin-bottom:5px;}
.ma10             {margin-bottom:10px;}
.ma20             {margin-bottom:20px;}
.ma30             {margin-bottom:30px;}
.ma40             {margin-bottom:40px;}
.ma50             {margin-bottom:50px;}
.ma60             {margin-bottom:60px;}
.ma80             {margin-bottom:80px;}

.pa40             {padding: 0 40px;}

.w100             { width:100%;}

.flex             { display:flex;}
.right            { float: right;}
.center           { text-align:center;}
.end              { text-align:end;}
.justify          { text-align:justify}
.bold             { font-weight: bold;}

p                 { font-size:16px; line-height:1.6rem;}

h3                { font-size: 28px;}
h3                { font-size: 24px;}
h4                { font-size: 20px;}
h5                { font-size: 18px;}

.sp               { display:none;}

.line_break       { display: contents;}


@font-face {
    font-family: "AnzuMoji";
    src: url("../common/font/AP.woff") format("woff");
    font-weight: normal;
    font-style: normal;
    /*font-display: swap;*/}

.anzu             { font-family: "AnzuMoji", sans-serif; font-weight: 100;}



/* header */
.header_back                       { background: url("img/head_back_top.png") no-repeat; background-size: contain; background-position: top; position: relative;}
.header_back:after                 {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  background-size: contain;
  background-image: url("img/head_back_bottom.png");
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 99%;
}

.head_band                         { background: #ff6d20; color: #fff; padding: 5px 0; font-size: 14px;}

header                             { max-width:1200px; margin:0 auto; padding:0 0 20px; justify-content:space-between; position:relative; align-items:center;}

.head_top                          { display: flex; justify-content: space-between; align-items: center; padding-top: 20px;}

.head_menu_pc                      { gap:40px; position: relative; top: -20px;}
.head_menu_sp                      { display: none;}

.head_tel_pc                       { 
  background-color: #f3d22b;
  padding: 6px 20px;
  border-radius: 0 0 10px 10px;
  text-align: center;
  font-size: 12px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));
  min-height: 73px;
  max-height: 73px;
  line-height: 1.2rem;}
.head_tel_pc .anzu                 { font-size: 16px;}
.head_tel_pc .flex                 { align-items: center; font-weight: bold; justify-content: center;}
.head_tel_pc .flex a               { font-size: 22px;}
.head_tel_pc .flex img             { margin-right: 0.5rem;}

.head_mail_pc a                    {
  display: block;
  background-color: #5ca9ba;
  padding: 10px;
  border-radius: 0 0 10px 10px;
  text-align: center;
  font-size: 12px;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));
  color: #fff;
  min-height: 73px;
  max-height: 73px;}
.head_mail_pc .anzu                { font-size: 18px;}
.head_mail_pc .flex                { font-weight: bold; justify-content: center;}
.head_mail_pc .flex a              { font-size: 24px;}
.head_mail_pc .flex img            { margin-right: 0.5rem;}

.head_box                          { background-size: contain; margin-top: 20px;}
.head_box ul.flex                  { justify-content: center; gap:30px;}
.head_box ul.flex a                { font-size: 20px;}

.head_box ul.flex li               { position: relative; line-height: 25px;}
.head_box ul.flex li img           { margin-right: 0.5rem;}
.head_box ul.flex li.nav01         { border-bottom: #cf6e83 solid 2px; padding: 0 5px 4px;}
.head_box ul.flex li.nav02         { border-bottom: #ff6d20 solid 2px; padding: 0 5px 4px;}
.head_box ul.flex li.nav03         { border-bottom: #83c1df solid 2px; padding: 0 5px 4px;}
.head_box ul.flex li.nav04         { border-bottom: #c0d360 solid 2px; padding: 0 5px 4px;}
.head_box ul.flex li.nav05         { border-bottom: #80adbd solid 2px; padding: 0 5px 4px;}


/* footer */
footer                               { padding:40px 0;}
footer .foot_box                     { max-width:1200px; margin:0 auto;}
footer .foot_box hr                  { width: 35%; margin: 15px auto; border: none; border-top: 1px solid #000;}
footer .foot_box p                   { font-size: 13px;}
footer .foot_box .flex               { justify-content: center; gap:20px;}
footer .foot_box .flex li            { border-right: 1px solid #000; padding-right: 20px;}
footer .foot_box .flex li:last-child { border-right: none;}


/* copy */
#copy                              { width: 100%; padding: 8px 0; margin: 40px 0 -40px; background: #00cc66;}
#copy small                        { font-size: 12px; color: #000; letter-spacing: 0.05em; align-items: baseline; color: #fff;}



#content                           {
  display: flex;
  background:url("img/base_back.jpg") no-repeat;
  background-size: cover;
  width: 100vw;
  background-position: top;
  padding: 80px 0 0 0;}


/* content */
.contbox_top                       { max-width:1200px; margin:0 auto; padding:0 0 40px; display: flex; justify-content: space-between;}
.contbox                           { max-width:1200px; margin:0 auto; padding:0 0 40px;}


.left_box                          { padding: 20px; min-width: 28%; max-width: 28%; background-color: #fff;  border-radius: 20px; height: fit-content; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));}
.left_box .justify                 { font-size: 14px;}
.left_box .anzu                    { line-height: 26px; margin-bottom: 5px;}
.left_box .anzu img                { margin-right: 0.5rem;}
.left_box .link_line               { border-bottom: 1px solid #000;}

.detail                            { display: flex; justify-content: flex-end; margin-top: 20px;}
.detail a                          { font-weight: 500;}
.detail img                        { width: 20px; height: 20px; margin-left: 0.5rem;}


.right_box                         { min-width: 70%; max-width: 70%;}
.right_box h2                      { font-size: 28px;}
.right_box h2 img                  { margin-right: 0.5rem;}
.right_box .orange                 { background: #ff6d20; color: #fff; border-radius: 20px; padding: 10px 0 10px 20px; line-height: 30px;}
.right_box .green                  { background: #00cc66; color: #fff; border-radius: 20px; padding: 10px 0 10px 20px; line-height: 30px;}


.right_box .info                   { padding: 20px; background-color: #fff;  border-radius: 40px; height: fit-content; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));}
.right_box .info dl                { border-bottom: 1px dotted #000; margin-bottom: 10px; padding-bottom: 10px; gap:30px;}
.right_box .info dl:last-of-type   { border-bottom: none;} 
.right_box .info dt                { font-weight: bold;}
.right_box .info dd .bold          { display: inline-block; margin-bottom: 5px;}


.right_box .property               { padding: 20px; background-color: #fff;  border-radius: 40px; height: fit-content; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));}
.right_box .property .flex         { gap:20px; flex-wrap: wrap;}
.right_box .property dl            { width: 23%;}
.right_box .property dt img        { width: 100%;}
.right_box .property dd .day       { margin-right: 0.5rem;}
.right_box .property dd .red       { color: #fff; background: #e40013; font-size: 12px; padding: 4px 6px; border-radius: 3px; display: inline-block; line-height: 12px;}
.right_box .property dd .brown     { color: #fff; background: #604c3f; font-size: 12px; padding: 4px 6px; border-radius: 3px; display: inline-block; line-height: 14px;}
.right_box .property .dotted-line  { margin: 20px auto; border: none; border-top: 1px dotted #000;}

.right_box .property .grid         { display: grid; grid-template-columns: repeat(4, 1fr);}
.right_box .property .grid dl      { padding: 20px; border: none; border-top: 1px dotted #000; width: 100%;}
.right_box .property .grid dl:nth-child(-n + 4) { border-top: none;}
 

.right_box .main                  { position: relative;}
.right_box .main:before           {
  content: "";
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("img/main_text.png");
  width: 70%;
  max-width: 650px;
  aspect-ratio: 650 / 208;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -40%);
  z-index: 2;}
  
.slider                          { position: relative;  z-index: 1; margin: 0; padding: 0;}
.slider-item                     { list-style: none;}
.slider-item img                 { width:100%; /*aspect-ratio:16 / 9;*/ height:auto; object-fit:contain; display:block; margin-bottom: 20px;}
.slick-prev,.slick-next          { position:absolute; top:50%; transform:translateY(-50%); background:none; border:none; padding:0; cursor:pointer; z-index:10;}
.slick-prev img,.slick-next img  { display:block;}
.slick-prev                      { left:2.5%;}
.slick-next                      { right:2.5%;}

.slider_sp                       { display: none;}

.company                         { max-width: 800px; background-color: #fff; border-radius:20px; margin: auto; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));}
.company h2                      { background-color: #ff6d20; color: #fff; padding: 10px 0; border-radius: 20px 20px 0 0;}

.message                         { padding: 0 30px 30px;}
.message h4                      { margin: 20px 0;}
.message .flex                   { gap:30px;}
.message .flex li:first-child    { width: 50%;}
.message .flex li:last-child     { width: 100%;}
.message p                       { line-height: 1.8rem;}

.profile                         { padding: 0 30px 30px;}
.profile dl                      { border-bottom: 1px dotted #000; padding: 15px; line-height: 1.8rem; letter-spacing: 0.1rem;}
.profile dl:last-child           { border: none;}
.profile dt                      { min-width: 20%; font-weight: bold;}
.profile dd                      { min-width: 80%;}
.profile dd iframe               { margin-top: 15px;}

.sitepolicy                      { max-width: 800px; background-color: #fff; border-radius:20px; margin: auto; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3)); padding: 0 30px 30px;}
.sitepolicy h2                   { background-color: #ff6d20; color: #fff; padding: 10px 0; border-radius: 20px 20px 0 0; margin: 0 -30px 30px;}
.sitepolicy p                    { line-height: 1.8rem; letter-spacing: 0.1rem; padding-bottom: 30px; overflow-wrap: anywhere;}
.sitepolicy p.indent             { text-indent: -1rem; padding-left: 1rem;}

.privacy                         { max-width: 800px; background-color: #fff; border-radius:20px; margin: auto; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3)); padding: 0 30px 30px;}
.privacy h2                      { background-color: #ff6d20; color: #fff; padding: 10px 0; border-radius: 20px 20px 0 0; margin: 0 -30px 30px;}
.privacy p                       { line-height: 1.8rem; letter-spacing: 0.1rem; padding-bottom: 30px; overflow-wrap: anywhere;}
.privacy p.indent                { text-indent: -1rem; padding-left: 1rem;}



@media (hover: hover) {
a:hover                          { opacity: 0.5; transition: .3s;}
.head_box ul.flex li:hover       { opacity: 0.5; border: none; transition: .3s;}
.left_box .link_line:hover       { border-bottom: none;}
}


@media (hover: none) {
a:active                          { opacity: 0.5; transition: .3s;}
.head_box ul.flex li:active       { opacity: 0.5; border: none; transition: .3s;}
.left_box .link_line:active       { border-bottom: none;}
}

@media only screen and (max-width: 1200px) {
.head_top                         { padding: 20px 20px 0 20px;}

.contbox_top                      { padding: 0 20px 40px; width: 100%;}
.contbox                          { padding: 0 20px 40px; width: 100%;}
}


@media only screen and (max-width: 1024px) {
.contbox_top                     { flex-wrap: wrap;}
.contbox                         { flex-wrap: wrap;}

.right_box .property .flex        { gap:15px;}
}


@media only screen and (max-width: 980px) {
.pc                               { display: none;}
.sp                               { display: block;}

.fixed_menu                       { position: fixed; width: 100%; z-index: 999; background: #fff;}

.head_menu_pc                     { display: none;}
.head_menu_sp                     { display: flex; gap:20px; align-items: flex-start;}

.head_tel_sp                      { display: block; font-size: 12px; line-height: 0.9rem;}
.head_tel_sp a                    { display: block; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3)); margin-bottom: 5px;}

.head_mail_sp                     { display: block;}
.head_mail_sp a                   { display: block; filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.3));}


/* ハンバーガーメニュー */
#h-nav                            { width:auto; clear: both; display:block;}
nav                               {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  transform: translateX(100%);
  transition: transform .6s ease, opacity .6s ease;
  bottom: 0;
  width: 60%;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  transition: right .6s ease, opacity .6s ease;
  -webkit-overflow-scrolling: touch;
  z-index: 3;
  opacity:0;}
  
.open nav                         {
  transform: translateX(0);
  opacity: 1;}
  
.navmenu ul                       {
  width: 100%;
  position: absolute;
  top: 20%;
  left: 0;
  display:block;}
.navmenu li                       {
  display:block;
  margin:0 0 20px 20px;
  padding:0 0 20px 20px;
  border-bottom:solid 1px #ff6d20;
  font-size:16px;}
.navmenu li a                     { display: block;}

.toggle_btn{
  width:45px;
  height:45px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
  background:#ff6d20;
  border-radius:50%;
  cursor:pointer;
  position:relative;}
.toggle_btn span{
  width:28px;
  height:2px;
  background:#fff;
  transition:.3s;
  z-index: 3;}
	
.open .toggle_btn span              { background: #ff6d20;}
.open .toggle_btn span:nth-child(1) { transform:translateY(9px) rotate(45deg);}
.open .toggle_btn span:nth-child(2) { opacity:0;}
.open .toggle_btn span:nth-child(3) {  transform:translateY(-9px) rotate(-45deg);}

/* mask */
#mask                             { display: none; transition: all .5s;}
.open #mask                       {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2;}
/* ハンバーガーメニュー */


.contbox_top                     { margin-top: 100px; flex-direction: column-reverse; align-items: center;}
.contbox                         { margin-top: 120px; flex-direction: column-reverse; align-items: center;}

.left_box                        { min-width: 60%; max-width: 60%;}
.right_box                       { min-width: 80%; max-width: 80%;}

.slider-item img                 { aspect-ratio:16 / 9;}

.detail                          { justify-content: center;}

.at-home .flex                   { gap:20px;}
.at-home li:first-child          { display: flex; flex-direction: column; justify-content: space-between; width: 80%;}
.at-home li:last-child           { width: 100%}


.slider_sp                       { display: block; width:100%; margin:0 auto;}
.slider_sp img                   { width:100%; height:auto;}
.slider_sp .slick-slide          { margin:0 10px;}
.slider_sp .slick-prev, 
.slider_sp .slick-next           {
  position: absolute;
  top: 42%;
  cursor: pointer;
  outline: none;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  height: 15px;
  width: 15px;}
.slider_sp .slick-prev            { left: -1.5%; transform: rotate(-135deg);}
.slider_sp .slick-next            { right: -1.5%; transform: rotate(45deg);}
.slider_sp .slick-dots            { text-align:center; margin:20px 0 0 0;}
.slider_sp .slick-dots li         { display:inline-block; margin:0 5px;}
.slider_sp .slick-dots button {
    color: transparent;
    outline: none;
	border: none;
    width:8px;/*ドットボタンのサイズ*/
    height:12px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ffb795;/*ドットボタンの色*/}
.slider_sp .slick-dots .slick-active button { background:#ff6d20;}

.right_box .property .grid        { display: none;}
.right_box .property .flex        { justify-content: center;}
}


@media only screen and (max-width: 768px) {
.head_band                        { font-size: 12px;}

.head_mail_sp img                 { width: 40px;}
.head_tel_sp img                  { width: 40px;}

.toggle_btn                       { width: 40px; height: 40px; gap:5px;}
.toggle_btn span                  { width: 24px;}
.open .toggle_btn span:nth-child(1) { transform: translateY(5px) rotate(45deg);}

.right_box                        { min-width: 100%; max-width: 100%;}

.message                          { margin: 40px auto 0;}
}


@media only screen and (max-width: 570px) {
h2                                { font-size: 22px;}
h4                                { font-size: 18px;}

.line_break                       { display: block;}

.head_band                        { font-size: 10px;}
.head_id                          { max-width: 45%;}
.head_top                         { gap:20px; align-items: flex-start;}
.head_menu_sp                     { gap:15px;}
.head_tel_sp                      { font-size: 8px; line-height: 0.6rem;}
.head_tel_sp img                  { width: 35px;}
.head_mail_sp img                 { width: 35px;}

.toggle_btn                       { width: 35px; height: 35px; gap:4px;}
.toggle_btn span                  { width: 20px;}
.open .toggle_btn span:nth-child(1) { transform: translateY(3px) rotate(45deg);}
.navmenu li                       { font-size: 14px;}

footer .center                    { padding: 0 40px;}
footer .center img                { width: 60%;}
footer .foot_box .flex li a       { font-size: 14px;}

#copy                             { padding: 4px 0;}
#copy small                       { font-size: 10px;}

p                                 { font-size: 14px;}

.left_box                         { min-width: 100%; max-width: 100%;}
.left_box .anzu                   { line-height: 18px;}
.left_box .anzu img               { width: 25px; height: auto; }

.right_box h2                     { font-size: 22px;}
.right_box h2 img                 { width: 26px; height: auto;}
.right_box .orange,.right_box .green { line-height: 26px;}
.right_box .info dl               { flex-wrap: wrap; font-size: 12px; gap:10px;}
.right_box .property dl           { font-size: 12px;}
.right_box .property dd .red,.right_box .property dd .brown
                                  { font-size: 8px; padding: 0px 4px;}

.slick-next                       { right: 0;}
.slick-prev img,.slick-next img   { width: 60%;}

.detail a                         { font-size: 14px; font-weight: bold;}

.message .flex                   { gap:30px; flex-wrap: wrap;}
.message .flex li:first-child    { width: 80%; margin: auto;}

.profile                         { padding: 0 20px 20px;}
.profile dl                      { flex-wrap: wrap; font-size: 14px; padding: 10px;}
.profile dt                      { min-width: 100%;}
.profile dd                      { min-width: 100%;}
}









