@charset "utf-8";

*{ margin:0px; padding: 0px; }

*,
*:before,
*:after {
  box-sizing: inherit;
}

html, body { min-width: 100%; min-height: 100%; box-sizing: border-box; line-height: 1.5; background-image: url("../images/bg_01.jpg"); background-repeat: no-repeat; background-position: center top; }

div, span, object, iframe, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; }

ul, ol {
    list-style: none;
}

input[type="text"], input[type="tel"], input[type="email"], textarea {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
	border: solid 1px #bfbfbf;
    background-color: #f5f5f5;
    padding: 10px;
	box-sizing: border-box;
}

input:-webkit-autofill { transition: background-color 5000s ease-in-out 0s !important; }
input:focus::placeholder { color: transparent; }
select { min-height: 40px; border: solid 1px #bfbfbf; background-color: #f5f5f5; border-radius: 3px; box-sizing: border-box;}

a { color:#0491c6;}

.opa { transition: all 0.3s ease; backface-visibility: hidden; }
.opa:hover { opacity: 0.6; filter: alpha(opacity=60); backface-visibility: hidden;}

@media screen and (min-width: 480px) {
	.smp { display:none !important; }
}

@media screen and (min-width: 481px) {
    .h_logo_smp { display: none;}
}

@media not all and (min-width: 769px) {
	.pc { display:none !important; } 
}

@media not all and (min-width: 840px) {
    .h_tel { display: none; }
}

#header { width: 1200px; margin: 0 auto; background-color: #fff; }
#header h1 { font-size: 12px; font-family: 'Noto Sans JP', sans-serif; font-weight: 300; width: 100%; display: block; }
#header-inner { padding: 15px 50px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; position: relative; }

@media screen and (min-width: 1025px) {
    .navbtn { display: none; }
}

@media not all and (min-width: 1200px) {
    
    input[type="text"], input[type="tel"], input[type="email"], textarea { width: 100%; }
    label { white-space: normal!important; }
    table {
width: 100%;
table-layout: fixed;
word-break: break-all;
word-wrap: break-all;
}
    #header { width: 100%; }
    #header-inner { width: 100%; padding: 3%;}
    
}

@media not all and (min-width: 1024px) {
.navbtn {
    position: fixed;
    z-index: 9999;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background-color: #0491c6;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    }

}

@media not all and (min-width: 667px) {
    .h_logo,.h_tel { display: none; }
}

@media screen and (min-width: 668px) and (max-width:768px) {
    .h_tel { display: none; }
}

/*フッター*/
#footer { width:100%; margin:0; font-weight: 700; font-size:14px; background-color: #0491c6; padding: 15px 0; color: #fff; }
#footer a { color: #fff;}

.address {
    text-align: center; padding: 5px; min-height: 42px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 300;
}
address { font-style:normal; color: #fff; text-align: center; font-size: 14px!important; }

/*ぱんくず*/
#breadcrumb {
  width: 100%;
  text-align: left;
  padding: 0px;
  color: #000;
  font-size: 14px;
}

#breadcrumb ul {
  padding: 20px 0;
}
#breadcrumb li {
  display: inline;
  margin-right: 5px;
  margin-left: 0;
  padding: 0px;
}
#breadcrumb li:after {
  content: ">";
  margin: 0 5px;
}
#breadcrumb li:last-child:after {
  display: none;
}
a {
  color: #0491c6;
  position: relative;
    text-decoration: none;
}
a::after {
  border-bottom: solid 1px #0491c6;
  bottom: -3px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  transition: all 0.3s ease;
  width: 0;
}
a:hover::after {
  width: 100%;
}

#mainimage { width: 1200px; margin: 0 auto; background-color: #fff; }
#mainimage-inner { padding: 20px 50px; }

@media not all and (min-width: 1200px) {
    #mainimage { width: 100%; }
    #mainimage-inner { padding: 0; }
}

/*メイン*/
#content{ text-align:left; background-repeat:repeat-x; background-position:bottom;}
.maincontent { padding:0; margin:0 auto; width:100%; }

section { width:100%; margin:0 auto; text-align:left;}
.main-content { width:1200px; margin:0 auto; padding: 15px 50px; background-color: #fff; }

@media not all and (min-width: 1200px) {
    .main-content { width:100%; padding: 3%; }
}
@media not all and (min-width: 768px) {
    .main-content { padding: 3%; }
}
.main-content p { margin-bottom: 20px; line-height: 2; }
.main-content h3 { font-size: 200%; color: #0491c6; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; margin-bottom: 20px; }
.main-content h4 { color: #0491c6; margin-bottom: 20px; font-family: 'Shippori Antique', sans-serif; font-weight: 400; font-size: 140%; }

.flex-wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }

.txt_box { width: 80%; display: flex; justify-content: center; flex-direction: column; }
.txt_box h3 { margin-bottom: 50px;}
.img_box { width: 20%; display: flex; justify-content: center; flex-direction: column; }

@media not all and (min-width: 667px) {
    .flex-wrap { display: flex; flex-wrap: wrap; flex-direction: column; justify-content: space-between; }

.txt_box { width: 100%; display: flex; justify-content: center; flex-direction: column; }
.txt_box h3 { margin-bottom: 50px;}
.img_box { width: 100%; display: flex; justify-content: center; align-items: center; }
}

#about { background-color: #e2f8ff; }
#about .main-content { background-color: #e2f8ff; padding: 100px 50px; }

@media not all and (min-width: 900px) {
.about_txt { width: 60%; padding-right: 3%; }
.about_img { width: 40%; }
}

@media screen and (min-width: 768px) {
.about_txt { width: 75%; }
.about_img { width: 25%; }
}
.about_img img { margin: 0 0 0 auto; }

@media not all and (min-width: 769px) {
    #about .main-content { background-color: #e2f8ff; padding: 3%; }
}

@media not all and (min-width: 667px) {
    .about_txt { width: 100%; }
}



#item-list { background-image: url("../images/bg_02.jpg"); background-repeat: no-repeat; }
#item-list .main-content { padding: 100px 50px; background-color: initial; }

.price_list { display: flex; flex-wrap: wrap; border-top: dashed 1px #0491c6; }
.price_list dt { width: 55%; padding: 15px 0; border-bottom: dashed 1px #0491c6; }
.price_list dd { width: 45%; padding: 15px 0; border-bottom: dashed 1px #0491c6; }

.price_l { width: 75%; padding-right: 50px; }
.price_r { width: 25%; }
.price_r img { height: 100%; object-fit: cover;}

.item_img_list { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; margin: 40px 0; }
.item_img_list li { padding: 15px; }

#form { background-color: #e2f8ff; }
#form .main-content { background-color: #e2f8ff; padding: 100px 50px; }

.form {
    border-collapse: collapse;
    width: 100%;
    margin: 20px auto;
    padding: 0;
    border-top: 1px solid #0491c6;
    
}

.form th {
    background: #fff;
    color: #000;
    font-size: 16px;
    text-align: left;
    vertical-align:top;
    padding: 15px 15px;
    border-bottom: 1px solid #0491c6;
    width:20%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.form td {
    background: #fff;
    color: #000;
    font-size: 16px;
    padding: 15px 15px;
    text-align: left;
    border-bottom: 1px solid #0491c6;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 300;
}

.form td li { margin-bottom: 15px; }

@media not all and (min-width: 901px) {
    .price_list dt { width: 100%!important; padding: 15px 0 0 0; border-bottom: dashed 0px #0491c6; }
    .price_list dd { width: 100%!important; padding: 15px 0; border-bottom: dashed 1px #0491c6; }
}

@media not all and (min-width: 900px) {
    .price_l { width: 60%; padding-right: 3%; }
    .price_r { width: 40%; }
}

@media not all and (min-width: 769px) {
    #item-list .main-content { padding: 3%; }
    .price_list { display: flex; flex-wrap: wrap; border-top: dashed 1px #0491c6; }

    .price_l { width: 100%; padding-right: 0; }
    .price_r { width: 100%; padding: 20px 0; display: flex; align-items: center; justify-content: center; }
    .item_img_list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 40px 0; }
    .item_img_list li { padding: 15px; width : calc(100% / 4) ; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
    #form .main-content { background-color: #e2f8ff; padding: 3%; }
    .form th,.form td { display: block; width: 100%; }
}





@media not all and (min-width: 667px) {

.about_img { width: 100%; }
.item_img_list li { padding: 15px; width : calc(100% / 2) ; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
}

#privay ul { display: flex; flex-wrap: wrap; gap: 30px; margin: 30px 0; }
#privay li { list-style-type: disc; margin-left: 35px; }
#privay li::marker { color: #0491c6; }

#thanks .main-content { padding: 20px 50px; }
.thanks footer { position: absolute; bottom: 0; left:0;}







/* ページトップへ戻る */
#page-top {
    position: fixed;
    bottom: 0;
    right:0;
    font-size: 90%;
	z-index:999;
	margin: 0!important;
}
#page-top a {
    background: #0491c6;
    text-decoration: none;
    color: #fff;
    width: 42px;
	height: 42px;
    display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (min-width: 768px) {
	#page-top a:hover { text-decoration: none; background: #ccc; }
}


.bt01 {
	border:solid 2px #fff;
	background-color: #fff;
    color: #0491c6;
	padding:15px 30px;
	display: inline-block;
    font-size: 120%;
	min-width: 500px;
	text-align: center;
    border-radius: 100px;
	position: relative;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    text-decoration: none;
    font-weight: 700;
    transition: all .3s;
}

.bt01 img { display: inline-block!important; vertical-align: bottom; }
.bt01 span { font-family: 'Lato', sans-serif; font-weight: 400; }
.bt01:hover { border:solid 2px #0491c6; color: #0491c6; background-color: #f5f5f5; }

.bt02 {
	border:solid 2px #0491c6;
	background-color: #0491c6;
    color: #fff;
	padding:8px 30px;
	display: inline-block;
    font-size: 100%;
	text-align: center;
    border-radius: 100px;
	position: relative;
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    text-decoration: none;
    font-weight: 700;
    transition: all .3s;
}

.bt02:hover { border:solid 2px #0491c6; color: #0491c6; background-color: #fff; }

.a_non a:after { display: none; }

@media not all and (min-width: 767px) {
    .bt01 { display: block; width: 100%; min-width: initial; font-size: 95%; padding:2%; }
    .bt01 img {width: 20px;}
}
