/* CSS Document */

/* 汎用 */
.mt0		{margin-top:0;}
.mt05		{margin-top:0.5em;}
.mt1		{margin-top:10px;}
.mt2		{margin-top:20px;}
.mt3		{margin-top:30px;}
.mt4		{margin-top:40px;}
.mr0		{margin-right:0px;}
.mr05	{margin-right:0.5em;}
.mr1		{margin-right:10px;}
.mr2		{margin-right:20px;}
.mr3		{margin-right:30px;}
.mr4		{margin-right:40px;}
.mb0 	{margin-bottom:0;}
.mb02	{margin-bottom:0.2em;}
.mb05	{margin-bottom:0.5em;}
.mb1	{margin-bottom:10px;}
.mb2	{margin-bottom:20px;}
.mb3	{margin-bottom:30px;}
.mb4	{margin-bottom:40px;}
.ml0		{margin-left:0.2em;}
.ml05	{margin-left:0.5em;}
.ml1		{margin-left:10px;}
.ml2		{margin-left:20px;}
.ml3		{margin-left:30px;}
.ml4		{margin-left:40px;}
.ml5		{margin-left:50px;}
.ml6		{margin-left:60px;}
.pt0		{padding-top:0;}
.pt05	{padding-top:0.5em;}
.pt1		{padding-top:10px;}
.pt2		{padding-top:20px;}
.pt3		{padding-top:30px;}
.pt4		{padding-top:40px;}
.pt5		{padding-top:50px;}
.pr0		{padding-right:0;}
.pr05	{padding-right:0.5em;}
.pr1		{padding-right:10px;}
.pr2		{padding-right:20px;}
.pr3		{padding-right:30px;}
.pr4		{padding-right:40px;}
.pb0		{padding-bottom:0;}
.pb05	{padding-bottom:0.5em;}
.pb1		{padding-bottom:10px;}
.pb2		{padding-bottom:20px;}
.pb3		{padding-bottom:30px;}
.pb4		{padding-bottom:40px;}
.pl0		{padding-left:0;}
.pl05	{padding-left:0.5em;}
.pl03   	{padding-left:0.3em;}
.pl1		{padding-left:10px;}
.pl2		{padding-left:20px;}
.pl3		{padding-left:30px;}
.pl4		{padding-left:40px;}
.pl5		{padding-left:50px;}
.pl10	{padding-left:10em;}

.text-right 	{text-align:right;}
.text-center	{text-align:center;}
.text-left  	{text-align:left;}
.text-bold 		{font-weight:bold;}
.text-normal	{font-weight: normal;}
.text-uln   	{text-decoration:underline;}

/*-------- flexbox関係 --------*/
.flex-box {display:flex;}
.on-wrap {flex-wrap:wrap}
.no-wrap {flex-wrap:nowrap;}
.f-between {justify-content:space-between;}
.f-center {justify-content:center;}
.f-around {justify-content:space-around;}
.f-start {justify-content:flex-start;}
.f-end {justify-content:flex-end;}
.f-vcenter{align-items:center;}
.w500fmenu {
	flex:0 1 500px;
	padding-left:0;
}
.f-btn {
	display:block;
	padding:0;
	margin:1px;
}
.f-btn a{
	display:block;
	text-align: center;
}
.f-shrink1>li {
	flex-shrink:1;
}
.f-grow1>li {
	flex-grow:1;
}

/*-------- ページ内個別設定 --------*/

* {
    margin: 0px;
    padding: 0px;
}

section {
    padding:20px;
    margin-top: 30px;
}

a {
    text-decoration: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#menu_bar {
    position:fixed;
    width:100%;
    background-color: rgba(0, 0, 0, .7);
    color: white;
    z-index:11;
}

#menu_bar li {
    flex: 0 0 150px;
    text-align: center;
    line-height: 40px;
    cursor: pointer;
    margin:0;
}

details > ul {
    position: absolute;
    display: block;
    width: 150px;
    font-size: 0.8em;
    background-color: rgba(0, 0, 0, 0.8);
  }

#aboutus a {
    font-family: "Noto Sans SC", sans-serif;
    color: white;
}

#aboutus a:hover{
	font-weight: bold;
}

#language {
    font-family: "Noto Sans SC", sans-serif;
}

#language li a {
    color: white;
}

#language ul li a:hover {
    color:red;
    
    }
    
 

body {
    -webkit-animation: fadeIn 1.5s ease 0s 1 normal;
    animation: fadeIn 1.5s ease 0s 1 normal;
  }

  @keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

/* --------トップ画像関連 --------- */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

#imagetop {
    position:relative;
    width:100%;
}

#imagetop_frame {
    position:absolute;
    top:0;
    left:50%;
    z-index:10;
    width: 100%;
    transform: translateX(-50%);

}

#imagetop_cont {
    position:absolute;
    top:0;
    z-index: 1;
}

#imagetop img {
    width: 100%;
    margin:auto;
}

.fade-img-box {
    position:relative;
    top:0;
    left:50%;
    transform: translateX(-50%);
    width: 100%;
    z-index:1;
}
   
.fade-img-box img {
    position: absolute;
    z-index:1;
}

@media only screen and (max-width: 1100px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

@media screen and (max-width: 1100px) {
    #imagetop {
        overflow-x: hidden;
    }
    #imagetop_frame {
        width:1100px;;
        height:353px;
    }
    #logoandlogo img {
        position:absolute;
        top:50%;
        left:50%;
        transform: translate(-50%, -50%);
        z-index: 3;
        max-width: 450px;
    }
    .fade-img-box {
        width:1100px;
        height:353px;
    }
    #top_background {display:none;}
}

/* --------news関連 --------- */

.news {
    padding: 20px;
    background: white;
}

.inner {
    width: 100%;
    max-width: 650px;
    background-color: #fff;
    margin: 0 auto;
}

.sub_ttl {
    font-family: "Noto Sans SC", sans-serif;
    font-weight: 400;
    font-size: 30px;
    text-align: center;
    margin-bottom: 40px;
}

.news_list {
    margin: 0 5%;
}

.news_list_item {
    font-family: "Noto Sans SC", sans-serif;
    padding: 15px 0;
    border-bottom: 1px solid #E6E6E6;

}

.news_list_item:first-child {
    border-top: 1px solid #E6E6E6;
    
}

.news_list_item a {
    position: relative;
    display: flex;
    padding-right: 30px;
    
}

.news_list_date {
    font-size: 15px;
    display: flex;
    margin-right: 15px;
    align-items: center;
    color: black;
    
}

.news_list_item p{
    color: black;

}

.news_list_item p:hover {
    
    color: purple;


}

.news_item {
    background: orange;
    border-radius: 14px;
    width: 6em;
    text-align: center;
    margin-left: 20px;


}

.arrow {
    width: 25px;
    height: 1px;
    background: #707070;
    position: absolute;
    top: 50%;
    right: 0;
}

.arrow::after {
    content: "";
    display: block;
    width: 6px;
    height: 1px;
    background: #707070;
    transform: rotate(45deg);
    position: absolute;
    right: 0px;
    bottom: 2px;
}

.icon-container {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 5px;
    justify-items: center;
    place-items: center;
    align-items: center;
    max-width: 1600px;
    width:auto;
    margin:0 auto;
}

.icon-container a {
    color: #333;
}

@media screen and (max-width: 1400px) {
    .icon-container {
        grid-template-columns: repeat(4, 1fr);
        max-width: 1200px;
    }
}

@media screen and (max-width: 1000px) {
    .icon-container {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media screen and (max-width: 700px) {
    .icon-container {
        grid-template-columns: repeat(2, 1fr);
    }
}


.icon {
    text-align: center;
    padding: 10px;
    background-color: white;
    box-shadow:  0 0 10px rgb(202, 196, 196, .5);
    border-radius: 2%;
    margin:5px;
}

.icon figure {
    border-radius: 2%;
    width:100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.icon img {
    width:100%;
    transition: .5s;
}

.icon:hover img {
    scale:1.1;
    cursor: pointer;
}

.icon p {
    /* font-size: 25px; */
    font-family: "Noto Sans SC", sans-serif;
    font-size: clamp(16px, 2.5vw, 25px);
    transition: .5s;
}

.icon:hover p {
    color:#999;
}

a:hover,
a:active{
    text-decoration: none;
}

@media screen and (max-width: 1024px) {
    .news_list_item a {
        display: block;
    }
}

@media screen and (max-width: 769px) {
    .news_list_item a  {
        font-size: 14px;
    }

}
@media screen and (max-width: 480px) {
    .arrow {
        display: none;
    }
    .news_list_item a {
        padding-right: 0;
    }
}


/*-------- footer --------*/

footer {
    font-family: "Noto Sans SC", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:  clamp(17px, 2vw, 25px);;
    font-optical-sizing: auto;
    color:white;
    background-color: black;
    width: 100%;
    margin-top:100px;
    padding-top: 40px;
    padding-bottom: 40px;
    
    
}

.footer-img {
    padding-left: 35px;
    padding-top: 30px;
}

.footer-text1 {
    display:flex;
    justify-content: center;  
}


footer ul {
    display:flex;
    flex-wrap: wrap;
    margin:30px;

}

.footer-text1 a {
    margin: 0 20px;  
}

.footer-text2 {
    justify-content: center;
    
    
}

.footer-text2 a {
    font-size:  clamp(14px, 2vw, 20px);;
    white-space: nowrap;
}

footer a {
    color: white;
    margin: 0 10px;
}

.footer_senzoku_logo {
    justify-content: center;
}

.footer_senzoku_logo img {
    max-width: 330px;
    width:100%;
    /* height: 155px; */
}

.footer-text3 p {
    font-size: 18px;
    text-align: center;
}

@media screen and (max-width: 900px) {
    .footer-text3 p {
        font-size: 12px;
    }

}


