@charset "utf-8";

html {
scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  line-height:1.6;
  letter-spacing:0.1em;
  font-feature-settings: "palt";
  font-size:18px;
  color:#666;
  font-family: "Lora", serif;
  /* font-family: "Playfair Display", "Times New Roman", Times, serif; */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 1200px) {
    body{
    font-size:18px;
    }
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Playfair Display", "Times New Roman", Times, serif;
  font-weight: 700;
}


main{
margin:0 15px 0px 15px;
}
@media screen and (min-width: 1200px) {
	main{
	margin:0 auto;
	}
}

section{
margin-bottom:30px;
}

main a:hover img{
opacity:0.5;
}

a{
Color:blue;
text-decoration:none;
}
a:visited{
Color:#660099;
}
a:hover{
Color:#a8c1ff;
text-decoration:underline;
}



.block{
margin-bottom:15px;
}

.totop{
font-size:14px;
Text-align:right;
}


.headtype01{
Background:#b3b3b3;
Padding:15px 15px;
font-size:40px;
color:white;
letter-spacing:0.5em;
text-align:center;
Margin-bottom:5px;
Margin-right:-15px;
Margin-left:-15px;
line-height:1.3;
}
@media screen and (min-width: 1200px) {
    .headtype01{
    Margin-right:0px;
    Margin-left:0px;
    }
}
.headtype02{
Border-left:5px solid #999;
padding-left:7px;
Padding-top:10px;
Margin-bottom:15px;
Font-weight:bold;
font-size:22px;
line-height:1.3;
}
.headtype03{
Background:#b3b3b3;
Padding:15px 15px;
font-size:48px;
color:white;
letter-spacing:0.1em;
text-align:center;
Margin-bottom:5px;
Margin-right:-15px;
Margin-left:-15px;
line-height:1.3;
font-weight:600;
}
@media screen and (min-width: 1200px) {
    .headtype03{
    Margin-right:0px;
    Margin-left:0px;
    }
}
.headtype04{
Background:#666;
Padding:10px 15px;
font-size:24px;
color:white;
Margin:0 -15px 15px;
font-weight:700;
line-height:1.3;
}
@media screen and (min-width: 1200px) {
    .headtype04{
    Margin-right:0px;
    Margin-left:0px;
    }
}

.headtype05{
Background:#999;
Padding:3px 12px;
font-size:20px;
color:white;
Margin-bottom:5px;
Border-radius:3px;
Font-weight:bold;
line-height:1.3;
}
.headtype06{
font-size:16px;
Font-weight:bold;
line-height:1.3;
}

.headtype07 {
  position: relative;
  padding-left: 1.2em; /* 本文を右へ */
  line-height: 1.3;
}

.headtype07::before {
  content: '■';
  position: absolute;
  left: 0;
  top: 0;
  color: #999;
  line-height: inherit;
}


.headtype08{
Margin-bottom:5px;
Font-size:16px;
font-weight:bold;
line-height:1.3;
}
.headtype09{
Background:#eee;
Padding:3px 10px;
font-size:18px;
Margin-bottom:5px;
Border-radius:3px;
Font-weight:bold;
Color:#333;
line-height:1.3;
}

.headtype10 {
  position: relative;
  padding-left: 1.2em;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 5px;
  line-height: 1.3;
}

.headtype10::before {
  content: '■';
  position: absolute;
  left: 0;
  top: 0px;
  color: #999;
  line-height: inherit;
}


.headtype11 {
  position: relative;
  padding-left: 1.2em;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
  border-top: 1px dotted #acacac;
  border-bottom: 1px dotted #acacac;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 1.3;
}

.headtype11::before {
  content: '■';
  position: absolute;
  left: 0;
  top: 3px; /* border と縦位置ずれ調整 */
  color: #999;
  line-height: inherit;
}



.button{
text-align: center;
font-family: "Playfair Display", "Times New Roman", Times, serif;
/* フォントの見出しパターン */
}
.button a{
font-size:20px;
padding:5px 20px;
display:inline-block;
background:#ff3300;
color:white;
font-weight:700;
border-radius: 5px;
margin:0 auto;
}
.button a:hover{
background:#ff9900;
text-decoration:none;
}

.font_l{
font-size:24px;
}
.font_ll{
font-size:32px;
}
.font_s{
Font-size:16px;
}
.font_em{
Font-size:16px;
font-style: italic;
}
.font_midasi{
font-family: "Playfair Display", "Times New Roman", Times, serif;
}


.borderbox{
Border:1px solid #ccc;
Background:#eee;
Padding:5px 10px;
}
.borderbox02{
Border:1px solid #ccc;
Background:#eee;
Padding:10px 10px;
}
@media screen and (min-width: 768px) {
                                .borderbox02{
                                Padding:10px 15px 10px 20px;
                                }
                                .borderbox02 .headtype02{
                                Margin-left:-10px;
                                }
}
.borderbox02 table th{
white-space:nowrap;
}
.borderbox02 table td{
padding-left:10px;
}
.borderbox03{
border-bottom:1px solid #eee;
border-right:1px solid #eee;
}
.borderbox03 th,
.borderbox03 td{
border-top:1px solid #eee;
border-left:1px solid #eee;
Padding:10px 20px;
font-size:14px;
}
.borderbox03 th{
background:#f5f5f5;
}

.linebox{
Background:#18b00f;
Padding:10px 15px;
Margin-bottom:10px;
Color:white;
}
.linebox a{
Font-weight:bold;
Color:white;
Text-decoration:underline;
}
@media screen and (min-width: 768px) {
                                .linebox{
                                Padding:10px 15px 10px 20px;
                                }
                                .linebox .headtype02{
                                Margin-left:-10px;
                                }
}


Table.font_s td,
Table.font_s th{
Font-size:14px;
}


.navtype01{
margin-bottom:15px;
}
.navtype01 ul{
Display:flex;
Flex-wrap:wrap;
Margin-left:-5px;
}
.navtype01 ul li a{
Display:block;
Margin-left:5px;
Margin-bottom:5px;
Padding:10px 20px;
Border:1px solid red;
Font-size:14px;
Color:red;
border-radius: 4px;
}
.navtype01 ul li a:hover,
.navtype01 ul li strong a{
Background:red;
Color:white;
}

.navtype02{
margin-bottom:5px;
}
.navtype02 ul{
Display:flex;
Flex-wrap:wrap;
Margin-left:-5px;
}
.navtype02 ul li a{
Display:block;
Margin-left:5px;
Margin-bottom:5px;
Padding:3px 10px;
Border:1px solid gray;
Font-size:14px;
Color:#333;
border-radius: 3px;
}
.navtype02 ul li a:hover,
.navtype02 ul li strong a{
Background:#333;
Color:white;
}

.navtype03{
margin-bottom:5px;
}
.navtype03 ul{
Display:flex;
Flex-wrap:wrap;
Margin-left:-5px;
}
.navtype03 ul li a{
Display:block;
Margin-left:5px;
Margin-bottom:5px;
Padding:3px 5px;
Border:1px solid red;
Font-size:12px;
Color:red;
border-radius: 2px;
Letter-spacing:0em;
}
.navtype03 ul li a:hover,
.navtype03 ul li strong a{
Background:red;
Color:white;
}



.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb35{margin-bottom:35px;}
.mb40{margin-bottom:40px;}

.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt35{margin-top:35px;}
.mt40{margin-top:40px;}

.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml15{margin-left:15px;}
.ml20{margin-left:20px;}
.ml25{margin-left:25px;}
.ml30{margin-left:30px;}
.ml35{margin-left:35px;}
.ml40{margin-left:40px;}

ul.disc li{
Margin-left:2em;
list-style-type:disc;
}
ul.disc li ul li{
Font-size:14px;
}

.clearfix{
clear:both;
}




#ordersell {
position: fixed;
bottom: 0px;
width: 100%;
}
#ordersell .order,
#ordersell .sell{
display:inline-block;
width: 50%;
text-align:center;
Height:50px;
border:0px;
margin:0;
}
#ordersell .order{
background:#c51000;
}
#ordersell .sell{
background:#2e00d2;
}
#ordersell img{
height: 40px;
margin-top:5px;
}
#ordersell a:hover img{
-moz-opacity:0.5;
opacity:0.5;
}
#ordersell p{
background:black;
text-align:center;
padding:3px 0;
filter: alpha(opacity=85);
-moz-opacity:0.85;
opacity:0.85;
color:white;
font-size:12px;
Margin:0px;
}
footer .copyright{
Padding-bottom:85px;
}
@media screen and (min-width: 728px) {
                                #ordersell {
                                display:none;
                                }
                                footer .copyright{
                                Padding-bottom:15px;
                                }
}







.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #6c6c6c;
  border: solid 2px #999;
  border-radius: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: pointer;
  opacity: 0.8;
}
.pagetop__arrow {
  display: block;
  height: 15px;
  width: 15px;
  border-top: 3px solid white;
  border-right: 3px solid white;
  transform: translateY(20%) rotate(-45deg);
  opacity: 1;
}



.sup{
text-indent:-1em;
margin-left:1em;
color:#666;
Font-size:14px;
}


.pankuzu{
Margin-bottom:10px;
}
.pankuzu ul{
Display:flex;
Flex-wrap:wrap;
Font-size:14px;
Color:#666;
}
.pankuzu ul li:after {
  /* >を表示*/
  content: '>';
  padding: 0 5px;
  color: #555;
}
.pankuzu li:last-child:after {
  content: '';
}
.pankuzu ul li strong{
font-weight:normal;
}


.youtube.katei{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  Max-width:600px;
  Margin:10px 0px 0px 0px;
}
.youtube.katei iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.youtube {
margin-bottom:20px;
max-width:600px;
}
.youtube {
position: relative;
width: 100%;
padding: 100% 0 0 0;
}
.youtube .iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media screen and (min-width: 768px) {
                                .youtube {
                                position: initial;
                                padding: 0;
                                }
                                .youtube .iframe {
                                position: initial;
                                top: 0;
                                left: 0;
                                Width:600px;
                                Height:450px;
                                }
}

.bold{
Font-weight:bold;
}
.red{
color:red;
}
.opa09{
opacity: 0.9;
}
.center{
text-align:center;
}
.right{
text-align:right;
}

.midashigazou{
text-align:center;
max-width:90%;
margin:0 auto 15px;
}
.midashigazou img{
max-width:100%;
}
@media screen and (min-width: 768px) {
    .midashigazou{
    float:right;
    margin-left:15px;
    margin-top:10px;
    }
    .midashigazou img{
    max-width:400px;
    }
}
@media screen and (min-width: 1200px) {
    .midashigazou{
    margin-right:0px;
    }
}



ul.archive-banners{
Margin-bottom:30px;
display: flex;
flex-wrap:wrap;
Border-left:1px solid #ccc;
}
ul.archive-banners li{
Width:50%;
Border-right:1px solid #ccc;
Border-bottom:1px solid #ccc;
}
ul.archive-banners li a img{
Width:100%;
}

@media screen and (min-width: 635px) {
  ul.archive-banners {
    display: flex;
    flex-wrap: wrap;
    gap: 5px; /* 好きな数値でOK。今のデザインなら16〜20pxが馴染む */
  }
  ul.archive-banners li {
    flex: 1 1 calc((100% - 10px * 2) / 3);
  }
}


ul.archive-photos{
Margin-bottom:30px;
}
ul.archive-photos li{
margin-bottom:8px;
}
ul.archive-photos li img{
max-width:100%;
margin-bottom:3px;
}



#ban{
margin:0 20px 20px;
}
#ban img{
width:100%;
}
#ban a img{
border:1px solid #ccc;
}
@media screen and (min-width: 635px) {
    #ban{
    margin:0 0px 20px;
    }
    #ban img{
    width:50%;
    }
}
@media screen and (min-width: 1200px) {
    #ban img{
    width:40%;
    }
}








