@charset "UTF-8";

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

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  ベーススタイル
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
body { font:16px 'Noto Sans JP', sans-serif; line-height:1.8em; word-wrap:break-word; color: #444; }
* { box-sizing: border-box; }

/*------------------------------
  img
-------------------------------*/
img { vertical-align:bottom; }

/*------------------------------
  a
-------------------------------*/
a { color: #790002; text-decoration: underline; transition: opacity 0.3s ease-out; }
a:link { outline: none; }
a:hover { opacity: 0.7; filter: alpha(opacity=70); }
a img { transition: opacity 0.3s ease-out; }

/*------------------------------
  display
-------------------------------*/
.displayBlock { display:block !important; }
.displayInline { display:inline !important; }
.displayNone { display:none !important; }

/*------------------------------
  ロゴ
-------------------------------*/
#logo { text-align: left; padding: 20px; border-bottom: 1px solid #ccc; }
#logo img { width: 260px; }

/*------------------------------
　メイン
-------------------------------*/
#mainContainer #mainWrap { width: 90%; max-width: 950px; margin: 0 auto; }

/* 見出し */
#mainContainer #mainWrap h1 { text-align: center; margin-top: 80px; }
#mainContainer #mainWrap h2 { font-size: 110%; margin: 50px 0 0 25px; padding-right: 1em; }
#mainContainer #mainWrap dt + dd h2 { margin-top: 20px; }

/* リスト */
#mainContainer #mainWrap dl { margin-top: 80px; }
#mainContainer #mainWrap dl dt { margin-top: 70px; font-size: 120%; font-weight: bold; background: #2490CC; color: #FFF; border-radius: 3px; padding: 3px 5px 5px; }

#mainContainer #mainWrap dl dd > ol { margin: 10px 0 0 45px; counter-reset: num 0; padding-right: 1em; }
#mainContainer #mainWrap dl dd > ol > li { position: relative; margin-top: 10px; padding-left: 4em; }
#mainContainer #mainWrap dl dd > ol > li::before { position: absolute; top: 0; left: 0; counter-increment: num; content: "（"counter(num)"）"; width: 4em; text-align: right; }

#mainContainer #mainWrap dl dd ol li ol { margin: 0; counter-reset: num 0; }
#mainContainer #mainWrap dl dd ol li ol li { position: relative; padding: 6px 0 0 1.4em; }
#mainContainer #mainWrap dl dd ol li ol li::before { position: absolute; display: block; font-size: 80%; top: 16px; left: 0; width: 1.2em; height: 1.2em; border: 1px solid #000; line-height: 1; border-radius: 50%; counter-increment: num; content: counter(num); text-align: center; }

/*　p　*/
#mainContainer #mainWrap p { text-indent: 1em; padding-right: 1em; }
#mainContainer #mainWrap p.noIndent { text-indent: 0; padding-right: 0; }
#mainContainer #mainWrap dl dd > p { margin: 10px 0 0 50px; }

/*------------------------------
  フッター
-------------------------------*/
#footerContainer { width:100%; margin:100px auto 0; padding:0 0 20px; border-top: 1px solid #ccc; }
#footerContainer #footerWrap { width:100%; position:relative; margin: 0 auto; }
#footerContainer #footerWrap p#pageTopBtn { position:fixed; bottom: 30px; right: 20px; z-index: 10; display: none; }
#footerContainer #footerWrap p#nameBox { font-size: 120%; text-align: center; margin-top: 20px; }
#footerContainer #footerWrap p#nameBox span { font-size: 90%; }
#footerContainer #footerWrap p#copyrightTxt { text-align: center; font-size: 80%; margin-top: 0; font-weight: normal; line-height: 1.8; }

/* ==========================================================================
   Page Top Button
   ========================================================================== */
   .pagetop-btn {
    position: fixed;
    right: 48px;
    bottom: 48px;
    width: 48px;
    height: 48px;
    background: #fff;
    border: 1px solid #767676;
    border-radius: 8px;
    cursor: pointer;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagetop-btn.is-active {
    opacity: 1;
    visibility: visible;
}
.pagetop-btn span {
    width: 12px;
    height: 12px;
    border-top: 3px solid #767676;
    border-right: 3px solid #767676;
    transform: rotate(-45deg);
    margin-top: 4px;
}
.pagetop-btn:hover {
    background: #eceff0;
}


@media screen and (max-width:750px){
	
	/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  共通レイアウト
	----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
	img { width: 100%; }
	
	/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  ベーススタイル
	----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
	body { font-size: 15px; }

	/*------------------------------
		ヘッダー
	-------------------------------*/
	#headerContainer #headerWrap { width:100%; padding:12px 10px; }
	#headerContainer #headerWrap p:nth-child(1) { width: 50%; }
	#headerContainer #headerWrap p:nth-child(2) { width: 40%; text-align: center; line-height: 1.2; font-size: 80%; }
  #headerContainer #headerWrap p:nth-child(2) a { padding: 5px 25px 7px 15px; }
	
	/*------------------------------
  テキストボタンリンク
	-------------------------------*/
	a.planeLinkBtn { padding:10px 15px 6px 65px; line-height:1.4em; display:block; }
	a.ancLinkBtn { padding:10px 15px 6px 65px; background-position:15px -0.1em; line-height:1.4em; display:block; }
	a.pdfLinkBtn { padding:10px 15px 6px 65px; line-height:1.4em; display:block; }
	a.winLinkBtn { padding:10px 15px 6px 65px; background:url(/kanjicontest/common/images/common_bg_btn03_c.png) no-repeat 15px center #ffffff; line-height:1.4em; display:block; }

	/*------------------------------
  display
	-------------------------------*/
	.spDisplayBlock { display:block !important; }
  .spDisplayNone { display: none !important; }
  
  /*------------------------------
    ロゴ
  -------------------------------*/
  #logo { text-align: left; padding: 10px 15px 15px; }
  #logo img { width: 180px; }


  
  /*------------------------------
   メイン
  -------------------------------*/
  #mainContainer #mainWrap { width: 90%; }

  /* 見出し */
  #mainContainer #mainWrap h1 { font-size: 150%; margin-top: 30px; line-height: 1.5; }
  #mainContainer #mainWrap h2 {  margin: 30px 0 0; }
  
  /* リスト */
  #mainContainer #mainWrap dl { margin-top: 0; }
  #mainContainer #mainWrap dl dt { margin-top: 30px; }
  #mainContainer #mainWrap dl dd > ol > li { padding-left: 3em; }
  #mainContainer #mainWrap dl dd > ol > li::before { left: -1em; }

  #mainContainer #mainWrap dl dd > ol { margin-left: 0; }

  /*　p　*/
  #mainContainer #mainWrap dl dd > p { margin-left: 0; }

	/*------------------------------
		フッター
	-------------------------------*/

	#footerContainer { width:100%; min-width: 100%; margin-top: 100px; line-height: 1.8; }
	#footerContainer #footerWrap { width:100%; }
	#footerContainer #footerWrap p#pageTopBtn { width: 40px; }

  /* ==========================================================================
   Page Top Button
   ========================================================================== */

  .author-info__inner, .interviewee-profile__content { flex-direction: column; text-align: center; }
  .speech__bubble { max-width: 85%; }
	
}
