@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
    font-size: 100%;
}
body{
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	line-height: 1;
    color: #478FB1;
	-webkit-text-stroke: -2px #478FB1;
	text-shadow: 2px 2px 2px white;
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
    filter: drop-shadow(30px 30px 30px rgba(0,0,0,0.3));
}
.wrapper {
    max-width: auto;
    margin: 0 auto;
    padding: 0 4%;
}

/* 大きな背景画像 */
.big-bg {
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

/* 見出し */
.page-title {
    font-size: 5rem;
    text-transform: uppercase;
    font-weight: normal;
}
.sub-title {
    font-size: 1.375rem;
    padding: 0 8px 8px;
    border-bottom: 2px #0bd solid;
    font-weight: normal;
}

/* ボタン */
.button {
    font-size: 1.375rem;
    background: #0bd;
    color: #fff;
    border-radius: 20px;
    padding: 18px 32px;
}
.button:hover {
    background: #0090aa;
}

/* HEADER
------------------------------- */
.page-header {
    display: flex;
    justify-content: space-between;
}
.logo {
    width: 100px;
    margin-top: 14px;
}
.main-nav {
    display: flex;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-top: 34px;
    list-style: none;
}
.main-nav li {
    margin-left: 36px;
}
.main-nav a {
    color: #432;
}
.main-nav a:hover {
    color: #0bd;
}

/* HOME
------------------------------- */
#home {
	
	background-image: url("../images/logok17.gif");
	background-color:rgba(255,255,255,0.8);
background-blend-mode:lighten;min-height: 100vh;
}
.page-title {
    text-transform: none;
}
.home-content {
    text-align: left;
    margin-top: 10%;
    
}
.home-content p {
    font-size: 1.125rem;
    margin: 10px 0 42px;
    
}
/* NEWS
------------------------------- */
#news {
    background-image: url(../images/news-bg.jpg);
    height: 270px;
    margin-bottom: 40px;
}
#news .page-title {
    text-align: center;
}
.news-contents {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
}

/* 記事部分 */
article {
    width: 74%;
}
.post-info {
    position: relative;
    padding-top: 4px;
    margin-bottom: 40px;
}
.post-date {
    background: #0bd;
    border-radius: 50%;
    color: #fff;
    width: 100px;
    height: 100px;
    font-size: 1.625rem;
    text-align: center;
    position: absolute;
    top: 0;
    padding-top: 10px;
}
.post-date span {
    font-size: 1rem;
    border-top: 1px rgba(255,255,255,.5) solid;
    padding-top: 6px;
    display: block;
    width: 60%;
    margin: 0 auto;
}
.post-title {
    font-family: "Yu Mincho", "YuMincho", serif;
    font-size: 2rem;
    font-weight: normal;
}
.post-title,
.post-cat {
    margin-left: 120px;
}
article img {
    margin-bottom: 20px;
}
article p {
    margin-bottom: 1rem;
    
}
article h1 {
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fffaf4;/*背景色*/
  border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
}
/* サイドバー */
aside {
    width: 22%;
}
.sub-menu {
    margin-bottom: 60px;
    list-style: none;
}
.sub-menu li {
    border-bottom: 1px #ddd solid;
}
.sub-menu a {
    color: #432;
    padding: 10px;
    display: block;
}
.sub-menu a:hover {
    color: #0bd;
}
aside p {
    padding: 12px 10px;
}

/* MENU
------------------------------- */
#menu {
    background-image: url("../images/ind01.jpg");
    min-height: 100vh;
}
.menu-content {
    max-width: 560px;
    margin-top: 10%;
}
.menu-content .page-title {
    text-align: center;
}
.menu-content p {
    font-size: 1.125rem;
    margin: 10px 0 0;
}

.grid {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  margin-top: 6%;
  margin-bottom: 50px;
position: relative;
  border: 2px solid lightblue; /* 枠の太さ・種類・色 */
  border-radius: 4px; /* 枠の丸み */
  margin: 0em 0em; /* 枠外の余白 */
  padding: 5px 15px; 
　}

.big-box {
  grid-column: auto;
  grid-row: auto;
    
}
.big-box img {
    height: 94%;
    width: 100%;
    object-fit: cover;
    
}
.border-radius{
	border-radius: 20px;
}

/* フッター
------------------------------- */
footer {
    background: #432;
    text-align: center;
    padding: 26px 0;
}
footer p {
    color: #fff;
    font-size: 0.875rem;
}

/* モバイル版
------------------------------- */
@media (max-width : 600px ){
    .page-title {
        font-size: 2.5rem;
    }
    .page-header {
        flex-direction: column;
        align-items: center;
    }

    /* HEADER */
    .main-nav {
        font-size: 1rem;
        margin-top: 10px;
    }
    .main-nav li {
        margin: 0 20px;
    }

    /* HOME */
    .home-content {
        margin-top: 20%;
    }

    /* NEWS */
    .news-contents {
        flex-direction: column;
    }
    #news .page-title {
        margin-top: 30px;
    }
    article,
    aside {
        width: 100%;
    }
    aside {
        margin-top: 60px;
    }
    .post-info {
        margin-bottom: 30px;
    }
    .post-date {
        width: 70px;
        height: 70px;
        font-size: 1rem;
    }
    .post-date span {
        font-size: 0.875rem;
        padding-top: 2px;
    }
    .post-title {
        font-size: 1.375rem;
    }
    .post-cat {
        font-size: 0.875rem;
        margin-top: 10px;
    }
    .post-title,
    .post-cat {
        margin-left: 80px;
    }

    /* MENU */
    .menu-content {
        margin-top: 20%;
    }
    .big-box {
        grid-column: auto;
        grid-row: auto;
    }
    .big-box img {
        height: 100%;
    }
}
.grid-k {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.grid-k img {
    width: 100%;
    height: 240px;
    object-fit: cover;
}

.ndl ul {
  padding: 0;
  position: relative;
}

.ndl ul li {
  color: white;
  line-height: 1;
  padding: 0.5em 0.5em 0.5em 2em;
  border-bottom: 2px solid white;
  list-style-type: none!important;
  font-weight: ; /*好みで太字に*/
}

.ndl ul li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f08a";
  position: absolute;
  left : 0.5em; /*左端からのアイコンまでの距離*/
  color: white; /*アイコン色*/
}
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.cp_cont {
	height: 65vh;
}
/* menu */
.cp_offcm03 {
	position: relative;
	z-index: 5;
	top: 0;
	left: 0;
	overflow: auto;
	width: 100%;
	height: auto;
	padding-top: 0;
	-webkit-transition: transform 0.3s ease-in;
	        transition: transform 0.3s ease-in;
	text-align: center;
	color: #ffffff;
	background-color: #039be5;
}
.cp_offcm03 nav,
.cp_offcm03 ul {
	height: 100%;
}
.cp_offcm03 li {
	display: inline-block;
	margin-right: -6px;
	border: none;
}
.cp_offcm03 a {
	display: block;
	padding: 12px 45px;
	-webkit-transition: background-color .3s ease-in;
	        transition: background-color .3s ease-in;
}
.cp_offcm03 a:hover {
	background-color: #1565C0;
}
/* menu toggle */
#cp_toggle03 {
	display: none;
}
#cp_toggle03:checked ~ .cp_offcm03 {
	-webkit-transform: translateX(0);
					transform: translateX(0);
}
#cp_toggle03:checked ~ .cp_container {
	-webkit-transform: translateX(0);
					transform: translateX(0);
}
.cp_mobilebar {
	display: none;
}
/* content */
.cp_container {
	position: relative;
	top: 0;
	padding: 35px auto;
	-webkit-transition: transform .3s ease-in;
	        transition: transform .3s ease-in;
}
.cp_content {
	margin: 0 auto;
	padding: 20px;
	height: 65vh;
	text-align: center;
}
@media (max-width: 767px) {
	/* menu */
	.cp_offcm03 {
		position: fixed;
		left: -250px;
		overflow-y: hidden;
		width: 250px;
		height: 100%;
		padding-top: 60px;
		color: #ffffff;
		background-color: #039be5;
	}
	.cp_offcm03 nav {
		background: #29B6F6;
	}
	.cp_offcm03 li {
		display: block;
		margin-right: 0;
		border-bottom: 1px solid #ffffff;
	}
	.cp_offcm03 a {
		padding: 20px;
	}
	/* menu toggle */
	.cp_mobilebar {
		display: block;
		z-index: 10;
		position: fixed;
		top: 0;
		left: 0;
		padding: 0 25px;
		width: 100%;
		height: 60px;
		background-color: #039BE5;
	}
	.cp_menuicon {
		display: block;
		position: relative;
		width: 25px;
		height: 100%;
		cursor: pointer;
		-webkit-transition: transform .3s ease-in;
		        transition: transform .3s ease-in;
	}
	.cp_menuicon > span {
		display: block;
		position: absolute;
		top: 55%;
		margin-top: -0.3em;
		width: 100%;
		height: 0.2em;
		border-radius: 1px;
		background-color: #eeeeee;
		-webkit-transition: transform .3s ease;
		        transition: transform .3s ease;
	}
	.cp_menuicon > span:before,
	.cp_menuicon > span:after {
		content: '';
		position: absolute;
		width: 100%;
		height: 100%;
		border-radius: 1px;
		background-color: #eeeeee;
		-webkit-transition: transform .3s ease-in;
		        transition: transform .3s ease-in;
	}
	.cp_menuicon > span:before {
		-webkit-transform: translateY(-0.6em);
		        transform: translateY(-0.6em);
	}
	.cp_menuicon > span:after {
		-webkit-transform: translateY(0.6em);
		        transform: translateY(0.6em);
	}
	#cp_toggle03:checked + .cp_mobilebar .cp_menuicon {
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
	}
	#cp_toggle03:checked + .cp_mobilebar span:before,
	#cp_toggle03:checked + .cp_mobilebar span:after {
		-webkit-transform: rotate(90deg);
		        transform: rotate(90deg);
	}
	#cp_toggle03:checked ~ .cp_offcm03 {
		-webkit-transform: translateX(100%);
		        transform: translateX(100%);
	}
	#cp_toggle03:checked ~ .cp_container {
		-webkit-transform: translateX(250px);
		        transform: translateX(250px);
	}
	/* content */
	.cp_container {
		top: 60px;
		height: 92vh;
	}
}
