@charset "utf-8";
/* CSS Document */

:root{
	--main_color1:#003366;
}



* {
    box-sizing: border-box;    
}

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth; /* ここが本題 */
  }
}


strong{
    font-weight: bold;	
}

body {
    position: relative;
    margin: 0;
    background-color: #FFFFFF;
    display: grid;
	grid-template-columns:[left] 20px [main] 1fr [end] 20px [right];
	grid-template-rows:[header] auto  [main] auto [footer] auto [bottom];
}


header {
    grid-column-start: main;
    grid-column-end: end;
    grid-row-start: header;
    grid-row-end: main;
    padding: 0;
    background-color: #FFFFFF;
}
header div{
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    /*border-bottom: 5px solid var(--main_color1);*/
    text-align: left;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 600;
    font-style: normal;
    margin-top: 10px;
    font-size: 1.5rem;
    margin-bottom: 2px;
    padding-bottom: 2px;
    color: var(--main_color1);
}
header div a{
    text-decoration: none;	
	color: var(--main_color1);
}
header div a:hover{
    color: #000000;	
}

header p{
    width: 100%;
    max-width: 1000px;
    margin-top: auto;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    font-family: "MS Serif", "New York", serif;
    font-weight: 600;
    font-style: normal;
    font-size: 0.85rem;
    padding-top: 3px;
    padding-right: 0;
    padding-left: 0;
    padding-bottom: 0;
    text-align: right;
    border-top: 5px solid var(--main_color1);
}

@media (max-width:950px) {
	header p{
		/*
		width: auto;
		font-size: 0.9rem;
		*/
	}
}

@media (max-width:770px) {
	header div{
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	header p{
    width: 100%;
    margin-left: auto;
    padding: 0;
    margin-right: auto;
    margin-bottom: 1rem;
    font-size: 0.8rem;
    color: #BF0003;
    border-top: 1px solid var(--main_color1);
    padding-top: 3px;
    text-align: center;
	}
}

@media (max-width:420px) {
	header div{
		font-size: 1.6rem;
	}
	header p{
		font-size: 0.6rem;
		text-align: center;
	}
	header{
    	border-bottom: 0px solid var(--main);
	}
}
@media (max-width:362px) {
	header div{
    	font-size: 1.4rem;
	}
	header p{
		font-size: 0.6rem;
	}	

}
/*
@media (max-width:840px) {
	header div{
    	text-align: center;
		margin-bottom: 0;
	}
	header p{
		margin: 0;
		padding: 0;
		display: none;
	}
}
*/	



#cse-search-form {
    width: 50%;
    padding: 0;
    margin: 0;

}

#cse-search-form td {
    padding: 0 !important;
}
#cse-search-form input[type="text"] {
    height: 30px !important;
    padding-left: 1rem !important;
}
.gsc-search-button-v2{
    padding-top: 0.6rem !important;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    padding-bottom: 0.6rem !important;
    margin-left: 5px !important;
    margin-top: 8px !important;
}


	
main {
    grid-column-start: main;
    grid-column-end: end;
    grid-row-start: main;
    grid-row-end: footer;
    margin-bottom: 3rem;
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
    width: 96%;
    max-width: 990px;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 1rem;
}
@media (max-width:840px) {
	main {
		margin-bottom: 3rem;
		margin-top: 2rem;
	}
}



	
footer {
    grid-column-start: left;
    grid-column-end: right;
    grid-row-start: footer;
    grid-row-end: bottom;
    text-align: center;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-size: 0.8rem;
    margin-bottom: 3rem;
}	



/*------------------------------------------------------*/
/*	clearfix
/*------------------------------------------------------*/
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {
	display: inline-block;
}

/*------------------------------------------------------*/
/*	追随　ページ上部に戻るボタン
/*------------------------------------------------------*/
#page_top{

}
#page_top a{
    text-decoration: none;
    color: #FFFFFF;
    width: 5rem;
    line-height: 0.5;
    border-radius: 50px;
    font-size: 3rem;
    padding: 1rem;
    background-color: #009BFF;
    color: #FFFFFF;
    text-align: center;
    opacity: 80%;
    position: absolute;
    right: 5%;
    top: 80%;
    position: fixed;
    z-index: 9000;
    display: block;
}
#page_top a:hover{
    background-color: #61C233;
	animation: poyo .6s ease 0s 1 normal running none;
}
@media (max-width:450px) {
	#page_top a{
		text-decoration: none;
		color: #FFFFFF;
		width: 3.5rem;
		display: block;
		line-height: 0.5;
		border-radius: 50px;
		font-size: 2rem;
		padding: 0.75rem;
		background-color: #009BFF;
		color: #FFFFFF;
		text-align: center;
		opacity: 80%;
		position: absolute;
		right: 5%;
		top: 80%;
		position: fixed;
		z-index: 9000;
		
	}
}	

@keyframes poyo {
	from, to { transform: none; }
	10% { transform: scale(1.2); }
	40% { transform: scale(.9); }
	60% { transform: scale(1.04); }
	80% { transform: scale(.98); }
}


