@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');

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


html {
	overflow: auto;
}


/* Global */
body {
    color: #222;
	font-size: 1em;
	font-family: 'Roboto', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	letter-spacing: 1px;
    background-color: #fff;
    position: relative;
    word-break: break-all;
	display: flex;
  	flex-flow: column;
  	min-height: 100vh;
}

#wrap {
	flex: 1;
}

img {
	max-width: 100%;
	height: auto;
}

a:hover img {
opacity:0.85;
filter: alpha(opacity=85);
-ms-filter: "alpha(opacity=85)";
}

.ie8 img {
	width: auto;
}

a:link {
	color: #444;
	text-decoration: none;
	transition-property: all;
  	transition: 0.2s linear;
	border-style: none;
}

a:visited {
	color: #444;
}

a:hover {
	color: #444;
	text-decoration: underline;
}


* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.container {
	width: 95%;
	max-width: 1000px !important;
	margin: auto;
	text-align: center;
}

.container1200 {
	width: 95%;
	max-width: 1200px !important;
	margin: auto;
	text-align: center;
}



/* General Slides */ 
.slide {
	background-attachment: fixed;
	width:100%;
	height:auto;
	position: relative;
	padding:0;
}


/* Slide 1 */
#slide1 {
	position: relative;
	margin: 30px 0 0;
	padding: 0;
	text-align: center;
}

#slide1 p {
	font-size: 2em;
	line-height: 1;
	margin-top: 150px;
}

figure {
	width: 100%;
	margin: 0;
	padding: 0;
}

.menu_div ul {
	width: 100%;
	margin: 40px auto 80px;
	padding: 3em 0 2em 7em;
	list-style-type: square;
	background-color: #fff;
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
	border-radius: 20px;
}

.menu_div li {
	font-size: 1.3em;
	line-height: 1.6em;
	text-align: left;
	margin: 0 0 20px 40px;
	padding: 0;
}


/* footer */
footer {
	color: #666;
	font-size: 0.95em;
	line-height: 1.8em;
	text-align: center;
	margin: 0;
	padding: 40px 0 0;
	border-top: 1px solid #bbb;
}

.note {
	font-size: 0.75em;
	padding-bottom: 40px;
}



/*「PCでは非表示 = hidden_pc」、「スマートフォンでは非表示 = hidden_sp」*/
.hidden_pc {
	display: none;
}
.hidden_sp {
	display: block;
}





@media screen and (max-width: 640px) {
.menu_div ul {
	width: 100%;
	padding: 2em 1em 1em;
}

.menu_div li {
	font-size: 1em;
	line-height: 1.6em;
	text-align: left;
	margin: 0 0 10px 40px;
	padding: 0;
}

.hidden_pc {
	display: block;
}
.hidden_sp {
	display: none;
}

}