@charset "utf-8";

/* ===================================================================
 BASE
=================================================================== */

body {
  font-family: 'ヒラギノUD角ゴF W3 JIS2004', 'Hiragino UD Sans F W3 JIS2004';
}

a {
  color: #337ab7;
  text-decoration: none
}

a:link {
  color: #337ab7;
  text-decoration: none
}

a:visited {
  text-decoration: underline;
}

a:hover {
  color: #23527c;
  text-decoration: underline
}

footer {
  margin: 5em auto;
  height: 1em;
  width: 1em;
}

#container{
	margin:0 auto 2.5em;
	min-width:320px;}


@media(min-width:1020px){
	#container{
		width:100%;
		max-width:1100px;}}

@media(max-width:1019px){
	#container{width:98%;}}

p.pankuzu{
	font-family: 'ヒラギノUD角ゴF W3 JIS2004', 'Hiragino UD Sans F W3 JIS2004';
	font-size:90%;
	margin-bottom:1.5em;}

#container h3{
	width:100%;
	max-width:1100px;
	font-size:2.25rem;
	line-height:2.25;
	letter-spacing:1.0em;
	text-align:center;
	margin-bottom:2.0rem;
	padding:0.5rem 1.0rem;
}

#index01 h3{
	background-color:#CE7D92;}/*ピンク*/

#index02 h3{
	background-color:#6e8773;}/*緑*/

#index03 h3{
	background-color:#e8ddb1;}/*黄色*/


@media(max-width:768px){
#container h3{
	font-size:1.5em;
	line-height:1.5;
	letter-spacing:0;
	text-align:center;
	}
}


#pagetop {
  display: block;
  width: 42px;
  height:42px;
  position: fixed;
  right: 40px;
  bottom: 20px;
  z-index: 5500;
  background: rgba(0,0,0,.5);
}

#pagetop span {
  top: 14px;
  left: 11px;
  position: fixed;
  content:"";
  display: block;
  width:18px;
  height:18px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
  position: absolute;
}



/* ===================================================================
 サブページ index
=================================================================== */

ul.ul-index-box{
	list-style:none;
	width:100%;
	max-width:1100px;
	min-width:320px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	padding-left:0;
	margin:0 auto;
}

ul.ul-index-box li{
  overflow: hidden;
  aspect-ratio: 1 / 1;
  margin: 0.5rem;
  border: 1px solid #252525;
  overflow: hidden;
  width: calc(100% / 3 - 2rem );
  max-width:280px;
  height:100%;
  position:relative;
  padding:0;
}
ul.ul-index-box li a{
  color: #333333;
  padding:0;
}
ul.ul-index-box li div{
  position: relative;
  width: 100%;
  height: 100%;
  padding:0;
}

ul.ul-index-box li img{
  transition: transform .6s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

ul.ul-index-box li p{
  position: absolute;
  bottom: 0;
  left:0;
  display: grid;
  place-content: center;
  width: 100%;
  min-height: 6rem;
  padding:1rem 1rem;
  font-size: 1.7rem;
  line-height: 1.5;
  font-weight:600;
  background: rgba(255, 255, 255 , 0.7);
}

ul.font-s li p{
  font-size: 1.35rem;
  line-height: 1.5;
  padding:1rem 0.5rem;
}

ul.ul-index-box li.blank{
  border:none;
  background:none;
}

@media (max-width:999px) {
    /* list-deign1 */
    ul.ul-index-box li{
      margin-left: 0.5rem;
      margin-right: 0.5rem;
      width: calc(100% / 2 - 1rem );
    }
}

@media (max-width:575px) {
    /* list-deign1 */
    ul.ul-index-box{
    display:block;
    }
    ul.ul-index-box li{
      width: 90%;
      margin:1rem auto;
    }
    
    ul.ul-index-box li p,
    .font-xl .item p,
    .font-l .item p{
      padding: 1rem 1rem;
      min-height: 6rem;
      font-size: 150%;
      line-height:1.75;
      letter-spacing:0.15rem
    }
}

