@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
vertical-align: baseline;
font-weight: 300;
color: black;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
-webkit-text-size-adjust: none;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    cursor: pointer;
}

html, body { height: 100%; width:100%; }
/*==========================================================
  ボックス
==========================================================*/
#body {
  margin: 0px;
  padding: 0px;
  border:0px;
  text-align: center;
}

h1, h2, h3, h4, h5, h6 {}
p {}


img {
  margin: 0px;
  padding: 0px;
  border: 0px;
}

.floatleft{
	float: left;
}

.floatright{
	float: right;
}

.marginTB1{
	margin: 1em 0;
}

.marginTB2{
	margin: 2em 0;
}
.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

*, *: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;
}
/*==========================================================
  テキストサイズ
==========================================================*/
.text9 { font-size:9px; }
.text10 { font-size:10px; }
.text11 { font-size:11px; }
.text12 { font-size:12px; }
.text13 { font-size:13px; }
.text14 { font-size:14px; }
.text15 { font-size:15px; }
.text16 { font-size:16px; }
.text17 { font-size:17px; }
.text18 { font-size:18px; }
.text19 { font-size:146.5%; }
.text20 { font-size:153.9%; }
.text21 { font-size:21px; }
.text22 { font-size:167%; }
.text23 { font-size:174%; }
.text24 { font-size:182%; }
.text25 { font-size:189%; }
.text26 { font-size:197%; }

.bold{font-weight: bold;}

p,td {
  font-size:1em;
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 300;
	line-height: 1.8em;
}

a {
font-size:1em;
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-decoration:none;
    font-weight: 300;
}
a:visited {
}
a:hover {
}

h1 {
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:48px;
  font-weight: 300;
  line-height: 1.8em;
}

h2 {
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:1,7em;
  line-height: 1.8em;
  font-weight: 300;
}

h3 {
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:1.5em;
  line-height: 1.8em;
  font-weight: 300;
}

h2 img {
	vertical-align:middle;
	margin-right: 0.2em;
}

h5 {
font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size:100%;
  color: #1A1A1A;
  line-height: 1.8em;
}

.center{
	text-align: center;
}

.right{
	text-align: right;
}

h1 {
  font-size: 2.5em;
  font-weight: 300;
  line-height: 1.5;
  padding:0.3em 0;
  text-align: center;
}

		h2 {
  font-size: 2em;
  font-weight: 300;
  line-height: 1.8;
  padding: 0 ;
  text-align: center;
}
		h4 {
  font-size: 1.2em;
  font-weight: 300;
  line-height: 1.8;
  padding: 0;
  text-align: center;
}
/*==========================================================
  改行
==========================================================*/
@media screen and (min-width: 750px){
  .br-pc { display:block; }
  .br-sp { display:none; }
}
	
@media screen and (max-width:750px){
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/*===============================================
画面の横幅が769px以上（パソコン用）
===============================================*/
@media screen and (min-width: 751px){

}



/*===============================================
画面の横幅が640pxまで（スマホ用）
===============================================*/
@media screen and (max-width:750px){
h1{
font-size: 2em;
}
h2{
font-size: 1.2em;
}
h4{
font-size: 1em;
}
p,td {
  font-size: 0.8em;
}
}


/* ボタンオープン（リンク用） */
.marginB1 {
  padding: 1em 0 2em;
  display: block;
  overflow: hidden;
  text-align: center;
}

	.btn-open {
  display: inline-block;
width: 300px;
  height:60px;
  text-align: center;
  background-color: rgba(215,5,69,1.00);
  font-size: 16px;
  line-height: 52px;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  border: 2px solid rgba(215,5,69,1.00);
  position: relative;
  overflow: hidden;
  z-index: 1;
		margin: 0 1em;
}
@media screen and (max-width:750px){
	.btn-open {
width: 200px;
}
}
#main p a.btn-open{
	color: #FFF;
}
.btn-open:after{
  width: 100%;
  height: 0;
  content:"";
  position: absolute;
  top: 50%;
  left: 50%;
  background : #FFF;
  opacity: 0;
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
  transition: .2s;
  z-index: -1;
}
	.btn-open{
		color: white;
	}
	
	.btn-open:visited{
		color: white;
	}
	
.btn-open:hover{
  color: rgba(215,5,69,1.00);
}
#Section4 p a.btn-open:hover{
  color: rgba(215,5,69,1.00);
}
.btn-open:hover:after{
  height: 400%;
  opacity: 1;
}
.btn-open:active:after{
  height: 340%;
  opacity: 1;
}


/* footer */
.footerPhoto{
width: 100%;
display: inline-block;
}
.footerPhoto img{
width: 100%;
vertical-align: bottom;
}


#Section6{
        margin: 0;
        padding: 0 0 100px;
			background-color:rgba(60,60,60,1.00);
            text-align: center;
		}
        #Section6 img{
			width: 100%;
            margin: 0;
            padding: 0;
            display: block;
		}
        
        #Section6 h3,
        #Section6 p a,
        #Section6 p{
        color: #FFF;
        }
        
        .Copyright2{
        padding: 2em 0;
        font-size: 0.7em;
        }

.footerNavi{
position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 1em;
  padding-top: 1em;
  display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
}

.footerNavi li{
border-right: 1px solid #FFF;
padding: 0 1.5em;
}
.footerNavi li:first-child{
border-left: 1px solid #FFF;
}

.footerNavi li a{
color: #FFF
}

.footerNavi li a:hover{
color:rgba(215,5,69,1.00);
}
@media screen and (max-width:750px){
.footerNavi li{
width: 100%;
border-right: none;
padding: 1em 0;
}

.footerNavi li:first-child{
border-left: none;

}
}

/* フッターバナー用
-----------------------------------------*/
.Bnr{
  position: relative;
  margin: 0 auto;
  width: 700px;
  display: none;
}
.Bnr .Bnr__img{
  position: fixed;
  bottom: 0;
  right: 10px;
 
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  z-index: 88;
}
.Bnr__img__inner{
  width: 700px;
}
.Bnr .Bnr__img__inner a{
}
.Bnr .Bnr__img p.close{
  position: absolute;
  right: 10px;
  top:-15px;
}
.Bnr .Bnr__img p.close a{
  display: block;
  background: #555;
    height: 30px;
    width: 30px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
  font-size: 20px;
  z-index: 888;
  color: #FFF;
}

.contactBox{
display: flex;
}

.ContactL{
width: 50%;
text-align: center;
  background-color: #fafafa;
  padding: 0.5em 0;
}

.ContactR{
width: 50%;
text-align: center;
  background-color: #ccc;
  padding: 0.5em 0;

}

.marginB2 {
  padding: 0;
  display: block;
  overflow: hidden;
}

@media screen and (max-width:750px){
.Bnr{
  width: 100%;
}

.Bnr .Bnr__img{
width: 100%;
}

.Bnr__img__inner{
  width: 100%;
}

.Bnr .Bnr__img{
  bottom: 0;
  right: 0; 
  box-shadow:none;
}

.ContactL{
width: 20%;
text-align: center;
  background-color: #fafafa;
  padding: 0.5em 0;
}

.ContactR{
width: 80%;
text-align: center;
  background-color: #ccc;
  padding: 0.5em 0;
}
.TELNo{
display: none;
}

}

/* 本体用 */
#Section2 {
text-align: center;
max-width: 1200px;
  width: 95%;
  margin: 0 auto;
}

#Section2 h1{
color: #555;
padding-top: 80px;
}
            
@media screen and (max-width:750px){
#Section2 h1{
padding-top: 80px;
}
#Section2 p{
text-align: left;
}
}

.content{
max-width: 1200px;
  width: 95%;
  margin: 3em auto 5em;
}

.Text1{
float: left;
text-align: left;
margin-right: 2%;
width: 43%;
}

.Text2{
float: right;
text-align: left;
margin-left: 2%;
width: 43%;
}

.Text2 h4,
.Text1 h4 {
text-align: left;
font-size: 1.5em;
color: #555;
}


.Photo1{
float: left;
width: 55%;
overflow:hidden;
border-radius: 5px;
}

.Photo2{
float: right;
width: 55%;
overflow:hidden;
border-radius: 5px;
}

.Photo2 span,
.Photo1 span{
display: block;
}
.Photo2 span img,
.Photo1 span img{
width: 100%;
height: auto;
transition:1s all;
}

.Photo2 span img:hover,
.Photo1 span img:hover{
transform:scale(1.1,1.1);
transition:1s all;
}

.P_URL{
margin-top: 1em;
}

.P_URL a{
color: rgba(215,5,69,1.00);
}


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

.content{
  margin: 3em auto;
}
.Text1{
float: none;
margin: 0 auto 1em;
width: 95%;
}

.Text2{
float: none;
margin: 0 auto 1em;
width: 95%;
}

.Photo1{
float: none;
margin: 0 auto;
width: 95%;
}

.Photo2{
float: none;
margin: 0 auto;
width: 95%;
}

.Text2 h4,
.Text1 h4 {
font-size: 1.2em;
}
}

/*横並びの画像*/
.flexboxWrap{
max-width: 1200px;
width: 95%;
margin: 3em auto 0;
}
.flex_box {
    display: flex; 
			justify-content:center;
    padding:  2px;/* 余白指定 */
}

.flex_item {
    padding: 2px;
    margin:  10px;/* 外側の余白 */
    width: 33%;
}
 
.flex_item img{
width: 100%;
}		



/*サイズがばらばらの画像を隙間なく配置*/
.masonry{
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
}
.masonry-item img {
    max-width: 100%;
    box-sizing: border-box;
    transition:1s all;
}
.masonry-item img:hover{
transform:scale(1.1,1.1);
transition:1s all;
}
.masonry-item {
    box-sizing: border-box;
    margin-bottom: 6px;
    overflow:hidden;
}
/*Layout*/
.gutter-sizer {
    width: 0%;
}
.masonry-item {
    width: 100%;
}
@media (min-width: 300px) {
    /* 2 column */
    .masonry-item {
        width: 49.5%;
    }
    .gutter-sizer {
        width: 1%;
    }
}
@media (min-width: 750px) {
    /* 3 column */
    .masonry-item {
        width: 32.666%;
    }
}

