@charset "utf-8";
@import url("header.css");
@import url("footer.css");

/*★*/
#widthtxt {
    color: red;
}

* {
    box-sizing: border-box;
}

* html body {
	overflow: hidden;
}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
	margin:0;
    padding: 0;
    font-feature-settings: "palt";
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    background-color: #f5f5f5;
}

a {
    /* color: #021d43; */
    color: blue;
}
a:hover {
    text-decoration: none;
    transition: all .5s;
    color:#000;
}

/*別窓マーク*/
a[target=_blank][rel=noopener] {
	padding:2px 22px 2px 0;
    background:url("../img/icon_blank.png") no-repeat right center;
    background-size: 16px;
    margin-right: 5px;
}

/*PDFマーク*/
a[type$="pdf"] {
	padding:2px 22px 2px 0;
    background:url("../img/icon_pdf.png") no-repeat right center;
    background-size: 18px;
}

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

p {
    line-height: 180%;
}
li {
    line-height: 160%;
}
dd {
    line-height: 160%;
}


/*リスト*/
.list li~li {
    margin-top: 5px;
}

/*改行しない*/
.break {
    word-break: break-all;
}

/*見出し*/
h1,h2,h3,h4,h5,h6 {
    line-height: 120%;
    font-family: 游ゴシック体, 'Yu Gothic', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック', Meiryo, 'メイリオ', sans-serif;
}

h1 {
    /*20-36*/
    font-size: clamp(1.25rem, 1.05rem + 1vw, 2.25rem);
}
h2 {
    /*18-28*/
    font-size: clamp(1.188rem, 1.075rem + 0.56vw, 1.75rem);
}
h3 {
    /*16-24*/
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.5rem);
}
h4 {
    /*16-22*/
    font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
}
h5 {
    /*16-20*/
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
}
h6 {
    /*16-18*/
    font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
}


/*見出し：レイアウト用*/
.headline {
    margin-top: 30px;
    margin-bottom: 30px;
}
.headline h1,
.headline h2,
.headline h3,
.headline h4,
.headline h5,
.headline h6 {
    margin: 0;
}

.headline h1 {
    border-bottom: 1px #E6E6E6 solid;
    position: relative;
    padding-bottom: 20px;    
}
.headline h1::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -1px;
    background-color: #1a1a6e;
    width: 30%;
    height: 2px;
}

.section-headline {
    margin-bottom: 30px;
}
.section-headline h1,
.section-headline h2,
.section-headline h3,
.section-headline h4,
.section-headline h5,
.section-headline h6 {
    margin: 0;
}

/*アコーディオンメニュー*/
.acmenu {
    margin: 0;
    padding:0;
}
.acmenu dt {
  	cursor:pointer;
}
.acmenu dd {
	display:none;
	margin:0;
}
.acmenu dd.active {
    display: block;
}
/*＋-ボタン*/
.acmenu dt.plus {
	background:url("../img/icon_down_b.png") no-repeat right center;
	background-size: 24px;
    padding-right: 50px;
}
.acmenu dt.plus-on {
	background:url("../img/icon_up_b.png") no-repeat right center;
	background-size: 24px;
}

/*フェードイン処理*/
.fadein {
    opacity: 0;
    transform : translate(0, 50px);
    transition : all 1500ms;
}
.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}


/*リンクボタン*/
a.btn {
    min-width: 200px;
    display: inline-block;
    line-height: 100%;
    text-decoration: none;
    padding: 10px 44px 10px 24px;
    border-radius: 50px;

    background:url("../img/icon_arrow_r_w.png") no-repeat right 10px center;
    background-size: 22px;
    background-color: #3D3D99;
    border: 1px #3D3D99 solid;
    color: #fff;
}
a.btn:hover {
    background:url("../img/icon_arrow_r.png") no-repeat right 10px center;
    background-size: 22px;
    border: 1px #3D3D99 solid;
    color: #3D3D99;
}




/***************************/
/*レイアウト用の枠*/
/***************************/
main {
    width: 100%;
    max-width: 1480px;
    margin:0 auto;
    padding: 20px 20px 80px;
    background-color: #fff;
}

.contents {
    width: 100%;
    max-width: 1240px;
    margin:0 auto;
}

/*カラム用*/
.container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 100px 50px;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
}

/*画像拡大*/
.imgWrap {
	overflow: hidden;
}
.imgWrap img {
	display: block;
	transition-duration: 0.3s;
}
.imgWrap img:hover {
	transform: scale(1.1);
	transition-duration: 0.5s;
	opacity: 0.8;
}

/*小文字*/
.small {
    /*12-14*/
    font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
}

.red {
    color: red;
}

/*区切り*/
.section {}

/*注釈*/
ul.notes {
    margin:0;
    padding: 0 20px;
    list-style-type: none;
    font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
    line-height: 140%;
}
ul.notes li~li {
    margin-top: 1em;
}

/*画像*/
.figure {}
.figure img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.figure figcaption {
    text-align: center;
    margin-top: 10px;
}

/*NEWマーク*/
.newmk {
    font-weight: normal;
    line-height: 100%;
    background-color: rgb(179, 0, 0);
    color:#fff;
    /*8-10*/
    font-size: clamp(0.5rem, 0.475rem + 0.13vw, 0.625rem);
    padding: 4px 6px 2px 6px;
    margin-left: 10px;
    border-radius: 100px;    
}



/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1279px) {
}

@media screen and (max-width: 979px) {
}

@media screen and (max-width: 779px) {
    body {
        background-color: transparent;
    }
}

@media screen and (max-width: 579px) {
    main {
        padding: 20px 10px;
    }
}

@media screen and (max-width: 379px) {
    .headline {
        margin-top: 30px;
        margin-bottom: 10px;
    }
    p {
        line-height: 160%;
    }
li {
    line-height: 160%;
}
dd {
    line-height: 160%;
}
}

